نوع مقاله : مقاله پژوهشی- فارسی
نویسنده
استادیار گروه مدیریت، دانشکده علوم اداری و اقتصاد، دانشگاه اصفهان، اصفهان، ایران
چکیده
کلیدواژهها
موضوعات
عنوان مقاله [English]
نویسنده [English]
In this paper, Steel-making Continuous Casting (SCC) scheduling problem is investigated. The scheduling of SCC processes is of major importance in steel industries. Since it is often a bottleneck in steel production, optimal scheduling of it can minimize production cost and increase profit notably. This problem is a specific case of hybrid flow shop scheduling problem accompanied by technological constraints of steel-making and hence classic optimization methods fail to obtain an optimal solution for a real life problem over a suitable time. In this paper, a meta-heuristic algorithm based on an Ant colony algorithm (ACO) which is accompanied with a heuristic timing algorithm is developed. In the proposed algorithm the resource assignment and sequencing is determined with ACO and the timing of jobs is determined using a heuristic forward-backward algorithm. Considering the real constraints in the problem definition, designing a heuristic timing algorithm, embedding the proposed timing algorithm in ACO framework and a novel design of ACO algorithm in pheromone matrix and heuristic information are the main features of this paper. The proposed algorithm is implemented in Khuzestan steel complex and the efficiency of it is compared with a heuristic algorithm of commercial scheduling software which is used in Mobarakeh Steel Company. Numerical results show that the average percent of improvement is about 65% in a limited scheduling time.
کلیدواژهها [English]
صنعت فولاد، یک صنعت مادر و تشکیل دهنده بخش مهمی از اقتصاد صنعتی است. زمانبندی کارگاه فولادسازی-ریختهگری پیوسته برای صنایع فولاد دارای اهمیت بسیار است. از آنجا که این بخش غالباً به عنوان گلوگاه تولید فولاد به شمار میرود، زمانبندی بهینه عملیات آن میتواند باعث کاهش هزینه تولید و افزایش سود چشمگیر شود.
در این مقاله، مساله زمانبندی تولید فولاد
مذاب-ریختهگری پیوسته (SCCSP[1]) بررسی شده است. در این مساله، تعیین این که در هر مرحله از فرآیند تولید، فولاد مذاب روی کدام ماشین، با چه توالی و در چه زمانی برنامهریزی شود، مورد نظر است. در این مساله محدودیتهای خاص تکنولوژیک مربوط به فولادسازی حاکم است.
فرآیند فولادسازی از سه مرحله تشکیل شده است: تولید مذاب، پالایش و ریختهگری پیوسته. هر مرحله شامل ماشینهای موازی است(شکل 1 ). فرآیند تولید فولاد در کارگاههای ریختهگری پیوسته به شرح زیر است:
1- مواد شارژ شده به کورههای قوس الکتریکی (EAF)[2] بر اثر حرارت ناشی از قوس الکتریکی ذوب شده، سپس به کمک اکسیژن و اعمال روشهای متالوژیکی، فولاد مذاب بهدست میآید. واحد اصلی تولید فولاد "ذوب" است. ذوب همان مذاب تولید شده در کوره است و پس از طی مراحل فولادسازی، به محصولات فولادی مختلف تبدیل میشود. هر ذوب توسط "گرِید" آن تعریف میشود که توصیفی از کیفیت محصول از نظر مشخصههای فیزیکی و شیمیایی آن است. در بیان متداول مسایل زمانبندی، هر ذوب معادل یک "کار" است.
2- فولاد مذاب از داخل کوره ها به داخل پاتیلها تخلیه شده و به کورههای پاتیلی (LF)[3] حمل میشود. اگر در زمان رسیدن ذوب، LF در دسترس نباشد[4]، ذوب مجبور است تا آزاد شدن LF منتظر بماند. این انتظار باعث کاهش دمای ذوب شده و لازم است ذوب مجدداً گرم شود.
3- در کورههای پاتیلی، آنالیز ذوب و دمای ذوب آن تنظیم شده و پالایش ذوب انجام می شود. سپس فولاد مذاب توسط ماشینهای حمل پاتیل وارد کارگاه ریختهگری مداوم شده و توسط جرثقیل سقفی بر بالای ماشین ریختهگری (CCM)[5] قرار داده می شود.
4- مذاب از طریق دریچهای که زیر پاتیل قرار دارد به درون تاندیش[6](واحد ورودی ماشین ریختهگری) و سپس کریستالیزاتور (قالب مسی مخصوص مذاب) هدایت شده و بصورت قوسی ریختهگری و مابین غلطکها هدایت میشود و در انتها محصول به صورت تختال، بلوم یا بیلت از ماشین خارج میگردد.
محصولات فولادی با گرید، عرض، طول و ضخامتشان مشخص میشوند. یک توالی از ذوبها که به طور پیوسته روی ماشین ریختهگری پردازش میشوند را دسته ریختهگری گویند. ذوبهای یک دسته باید دارای این ویژگیها باشند: (1)گرید آنها مشابه باشد،(2) ابعاد آنها از نظر طول، عرض و ضخامت یکسان باشند.
شکل 1- فرآیند تولید مذاب-ریختهگری پیوسته
فرآیند زمانبندی این مساله میتواند به دو گام زیر شکسته شود:
- تعیین توالی کارها روی ماشینهای ریختهگری
- تعیین توالی و زمانبندی کارها روی EAF و LFو زمانبندی کارها روی ماشینهای ریختهگری
این مقاله روی گام دوم از این فرآیند متمرکز شده است به طوری که توالی کارها روی ماشینهای ریختهگری از مرحله برنامهریزی سطح بالاتر گرفته میشود. در مجموع مساله زمانبندی کارگاه فولادسازی با ریختهگری پیوسته را میتوان به صورت حالت خاصی از مساله زمانبندی کارگاه جریان ترکیبی بیان نمود. این مساله به صورت زیر قابل بیان است:
1- هر ذوب معادل یک کار است.
2- کارها به ترتیب از ماشینهای EAF، LF و CCM، سرویس میگیرند. با توجه به مشخص بودن ترتیب سرویس گیری از ماشینها، مساله مورد بررسی یک مساله کارگاه جریان است.
3- از هر یک از انواع ماشینها در هر یک از سه مرحلهی EAF، LF و CCM بیش از یک ماشین وجود دارد و از این رو مساله یک مساله کارگاه جریان ترکیبی است.
4- در هر لحظه هر ماشین تنها به یک کار میتواند سرویس دهد و این سرویس قابل قطع نیست.
5- زمانهای پردازش همه ماشینهای موازی مراحل یک و دو با هم برابر و مستقل از خصوصیات ذوب است.
6- زمان پردازش ماشین CCM برای هر کار متفاوت و تابعی از نوع محصول و مشخصات ماشین است.
7- بازههای زمانی مشخصی در افق برنامهریزی برای نگهداری و تعمیرات ماشینهای مراحل مختلف پیشبینی شده است. در این بازهها ماشینها توانایی سرویسدهی به کارها را ندارند.
8- مدت زمان انتظار کارها در بین مراحل برای دریافت سرویس محدود است. بر حسب گرید محصول، ذوبها نباید بیشتر از زمان نگهداری معینی را بین مراحل تولید بگذرانند تا دمای ذوب در رنج تعیین شده باقی بماند. این محدودیت بخصوص برای زمان انتظار ذوب بین LF و ماشین ریختهگری، شدیدتر است. همچنین، زمان ماندن ذوب در پاتیل نباید از حد معینی تجاوز کند.
9- تعداد ذوبهای که در یک تاندیش میتوانند به طور پیوسته ریختهگری شوند بستگی به طول عمر تاندیش دارد.
10- در مرحله CCM، بین ذوبهای متوالی در یک دسته عملیات آماده سازی لازم نیست ولی اگر پیوستگی جریان مذاب قطع شود یا نوع محصول تغییر کند یا عمر تاندیش تمام شود، ماشین نیاز به عملیات آماده سازی دارد. آماده سازی مستلزم صرف وقت و هزینه زیاد است.
11- تابع هدف مساله به صورت مجموع وزندار هزینههای قطع ریختهگری، زمان انتظار ذوب در EAF، زمان ماندن ذوب در پاتیل و سود حاصل از تعداد ذوبهای تولیدی در روز تعریف میشود. وزن اهداف توسط کاربر و با توجه به اهمیت اهداف برای کارخانه، تعیین میشود.
نمایش ریاضی ویژگیهای مورد اشاره در بالا، در پیوست و در قالب یک مدل برنامهریزی ریاضی ارایه شده است. در ادامه ابتدا ادبیات موضوع بررسی شده است. سپس در بخش 3، روش پیشنهادی برای حل مساله ارایه شده است. آزمایشات عددی و نتیجه گیری، بخشهای انتهایی مقاله را تشکیل میدهند.
مساله زمانبندی تولید مذاب ریختهگری پیوسته، حالت پیچیدهتری از مسائل کارگاه جریان ترکیبی یا مسائل کارگاه جریان منعطف بدون توقف[7] است. به علت ماهیت ترکیبی این مساله، محدودیتهای عملیاتی پیچیده، محدودیتهای شدید روی پیوستگی و زمان جریان مواد و نیازهای تکنولوژیک برای تضمین امکانپذیری برنامه حاصل، حل این مساله بسیار چالش برانگیز و بهینهیابی آن در ابعاد مورد نیاز دنیای واقعی، ممکن است بسیار زمانبر و غیر عملی باشد. این مساله یکی از موضوعات مهم تحقیقاتی است و مورد توجه محققان زیادی قرار گرفته و روشهای متعددی برای حل آن تا کنون ارائه شده است. پیچیدگی این مساله و تنوع و پیچیدگی محدودیتهای تکنولوژیک خاص صنایع فولاد، موجب شده است تا اغلب پژوهشهای قبلی، فرضهای ساده کنندهای را برای تبدیل آن به یک مساله سادهتر و میسر نمودن حل آن در نظر بگیرند. در بسیاری از پژوهشهای قبلی فرآیند حل مساله به زیر مسائل سادهتری شکسته شده و هر زیر مساله با ثابت گرفتن نتایج حاصل از زیر مساله قبلی بطور مستقل حل شده است. این امر در مواردی که زیر مسائل دارای تاثیر متقابل بر روی یکدیگر باشند می تواند به دستیابی به جوابهای نه چندان خوب منجر شود.
مروری از مطالعات گذشته در مورد این مساله تا سال 2001 توسط تانگ و همکاران(2001) صورت گرفته است (تانگ و همکاران،2001). تانگ و همکاران در مجموعه مقالاتی، فرآیند زمانبندی این مساله را در 4 گام تعیین توالی ریختهگری، زمانبندی جزئی مجموعه ذوبها، زمانبندی کلی برای ترکیب زمانبندیهای جزئی و زمانبندی بهینه برای حذف برخوردهای عملیات روی ماشینها و تعیین زمان شروع عملیات، بررسی شدهاند (تانگ و همکاران، 1996؛ 1997و 2000). هارجونکوسکی و گراسمن (2001) یک استراتژی تجزیه به مسائل کوچکتر، برای حل مسائل زمانبندی بزرگ با استفاده از روشهای برنامهریزی ریاضی ارائه دادهاند. تقسیم سفارشات مشتری به گروههایی از ذوب با خصوصیات مشابه، زمانبندی هر یک از گروهها، زمانبندی مجموعه گروهها و بهینه کردن زمانبندی ذوبها با استفاده از مدل برنامهریزی ریاضی، گامهای استراتژی ارائه شده است (هارجونکوسکی و گراسمن،2001). در هارجونکوسکی و باور (2009) مدل ارائه شده در (هارجونکوسکی و گراسمن، 2001) با تنظیمات اندکی برای یک محیط تولیدی واقعی به کار برده شده است (هارجونکوسکی و باور،2009).
اولهاج کاولینگ و همکاران(2003) یک مدل جدید برای زمانبندی پیشگویانه/واکنشی ریختهگری پیوسته فولاد بر اساس کاربرد عاملهای چندگانه (عامل ریختهگری پیوسته، عامل نورد گرم، عامل محل نگهداری تختالها و عامل کاربر)، الگوریتم جستجوی ممنوع و روشهای ابتکاری ارائه کردهاند(اولهاج کاولینگ و همکاران، 2003). پاسیارلی و پرانزو(2004) مساله را به صورت نوعی از گرافها فرموله کرده به صورتی که جزئیات محدودیتها قابل بیان باشند. سپس مساله را بوسیله روش جستجوی پرتوی[8] حل کردهاند (پاسیارلی و پرانزو،2004). فرتی و همکاران (2006) الگوریتمی بر اساس الگوریتم مورچگان برای حل مساله تعیین توالی بیلتها روی ماشینهای ریختهگری ارائه دادهاند(فرتی و همکاران،2006. بلادای و تقم (2006) مروری از مطالعات اخیر در زمینه برنامهریزی ماشینهای ریختهگری ارائه داده و سپس روی یک مطالعه موردی متمرکز شده و یک مدل برنامهریزی MIP برای آن ارائه دادهاند (بلادای و تقم، 2006).
عتیقه چیان و همکاران(2009) روشی را با استفاده از ترکیب الگوریتم جامعه مورچگان و روشهای بهینه یابی غیر خطی برای حل این مساله ارائه دادهاند. در این روش فرآیند ساخت جواب به دو فاز شکسته شده است. در فاز اول تخصیص کارها به ماشینها و توالی آنها با استفاده از ACO بهدست میآید و در فاز دوم زمانهای شروع و پایان کارها روی ماشینها با حل مدل برنامهریزی غیرخطی بهدست میآید (عتیقه چیان و همکاران،2009). پس از این مقاله، مقالات دیگری نیز بر اساس ترکیب روشهای ابتکاری یا فرا ابتکاری و روشهای برنامهریزی ریاضی برای حل این مساله توسط سایرین ارائه شدهاند. میزباور و همکاران(2009) از یک الگوریتم ابتکاری برای زمانبندی ماشینهای ریختهگری با در نظر گرفتن محدودیتهای ظرفیت منابع مراحل بالاتر و تخصیص، توالی و زمانبندی اولیه کورههای قوس الکتریکی و کورههای پاتیلی با در نظر گرفتن اولویتها و سپس بهبود زمانبندی با استفاده از مدل برنامهریزی خطی استفاده کردهاند (میزباور و همکاران،2009). ژیو و همکاران (2010) برای حل مساله مشابه در صنعت آلومینیوم، ابتدا یک مدل ریاضی ارائه کرده سپس یک الگوریتم هیبریدی بر اساس ترکیب بهینه یابی دسته ذرات[9] و برنامهریزی خطی ارائه دادهاند (ژیو و همکاران، 2010).
دونجین و همکاران (2010) از قواعد توزیعی برپایه هزینههای دوباره گرم کردن، هزینههای آماده سازی و موعد تحویل کارها برای زمانبندی احتمالی با در نظر گرفتن توقف ماشینها استفاده کرده و با شبیه سازی به ارزیابی قواعد توزیع پرداختهاند (دونجین و همکاران، 2010). هونجبینگ و آنجون(2010) یک الگوریتم ژنتیک بهبود داده شده برای حل این مساله ارائه داده و کارایی آن را با الگوریتم ژنتیک کلاسیک مقایسه کردند (هونجبینگ و آنجون،2010). داوفیل و همکاران (2010) یک الگوریتم ترکیبی از الگوریتم ژنتیک و یک الگوریتم استنتاج پسرو برای حل مساله بهینه یابی SCCSP ارائه دادهاند. در این الگوریتم انتخاب ماشین برای هر کار به صورت پسرو و در جهت معکوس مسیرذوب انجام میشود(داوفیل و همکاران، 2010). هوانگ و همکاران (2011) یک روش دو مرحلهای را برای حل مساله ارائه دادهاند. در ابتدا یک مدل MINLP برای حالت خاصی از مساله ارائه شده و یک الگوریتم در دو گام، انتخاب ماشین برای هر کار با استفاده از یک استراتژی ابتکاری و استفاده از یک مدل ریاضی برای حذف برخوردهای روی ماشین، برای حل مدل این مرحله ارائه شده و سپس در مرحله دوم یک الگوریتم ابتکاری بر اساس استراتژی [10]FCFS با استفاده از نتایج مرحله اول برای حل مساله اصلی ارائه شده است (هوانگ و همکاران، 2011).
ژائو و همکاران (2011) یک مدل ریاضی برای مساله زمانبندی تولید مذاب-ریختهگری پیوسته با معلوم بودن دسته های ریختهگری و با هدف کمینه کردن کل زمانهای انتظار ارائه دادهاند. سپس از روشی بر پایه ترکیب الگوریتم جستجوی ممنوع و مدل برنامهریزی خطی برای حل این مدل استفاده کردهاند (ژائو و همکاران، 2011). ژو و همکاران (2011) از ترکیب الگوریتم ژنتیک و یک الگوریتم زمانبندی پسرو برای حل این مساله استفاده کردهاند (ژو و همکاران، 2011). لی و همکاران (2012) یک مدل بهینه یابی عدد صحیح مختلط زمان پیوسته و مبتنی بر رویداد برای مساله زمانبندی فولادسازی ریختهگری پیوسته ارائه داده و سپس روش افق غلتشی[11] را برای حل مساله با ابعاد بزرگ توسعه دادهاند(لی و همکاران، 2012). پن و همکاران (2013) با فرض معلوم بودن دسته های ریختهگری، مساله SCCSP، را به صورت یک مدل MIP فرموله کرده و الگوریتم جامعه زنبورها را برای حل آن ارائه دادهاند (پن و همکاران، 2013). ون-کیانگ و همکاران(2014) الگوریتمی به نام الگوریتم بهینهیابی بر مبنای آموزش- یادگیری برای حل مدل زمانبندی فولادسازی-ریختهگری پیوسته ارائه دادهاند. این الگوریتم با استفاده از قواعد نگاشت برای حل مسائل گسسته میتواند استفاده شود. روش جستجوی همسایگی نیز برای بهبود نتایج به کار رفته است (ون-کیانگ و همکاران، 2014).
در این مقاله مساله زمانبندی تولید مذاب- ریختهگری پیوسته با هدف تعیین دستههای ریختهگری و تخصیص، توالی و زمانبندی ذوبها روی مراحل تولید مذاب، مورد بررسی قرار گرفته است. وجوه تمایز این پژوهش از سایر پژوهشهای انجام شده در پیشینه موضوع به شرح زیر است:
- در این پژوهش، روشی قابل استفاده برای محیطهای عملیاتی ارایه شده است و در نتیجه روش پیشنهادی هم اکنون در بزرگترین صنایع فولاد کشور در حال استفاده است.
در هر یک از مقالات موجود در پیشینه موضوع برخی ویژگیها و خواستههای عملیاتی کاربران در نظر گرفته نشده است. بدین ترتیب فرآیند ارایه راه حل ساده سازی شده ولی جوابهای ارایه شده ممکن است نتواند تمامی نیازمندیهای دنیای واقعی را پاسخ دهد و در نتیجه این الگوریتمها مورد استفاده محیطهای عملیاتی در دنیای واقعی نیستند. از جمله موارد مورد نیاز دنیای واقعی که در سایر مقالات همه با هم، همزمان در نظر گرفته نشدهاند ولی در روش پیشنهادی لحاظ شده است، میتوان به این موارد اشاره نمود: ماکزیمم زمان انتظار بین مراحل، محدودیتهای ماشینهای ریختهگری از نظر نوع محصول، ابعاد و مشخصات شیمیایی محصول و نوع تاندیش، در نظر گرفتن زمانهای نگهداری و تعمیرات ماشینها در طول برنامه روزانه و تعیین دستههای ریختهگری روی ماشینهای ریختهگری؛ بر اساس مطالعات انجام شده، مقالات پیشین مشابه به جز مقاله عتیقهچیان و همکاران (2009) روی مساله زمانبندی تولید مذاب-ریختهگری پیوسته با فرض معلوم بودن دستههای ریختهگری، متمرکز شدهاند. این فرض یک فرض ساده کننده است که گرچه حل مساله را ساده میسازد، اما کیفیت نتایج را کاهش میدهد. در این پژوهش تعیین دستههای ریختهگری نیز در داخل مساله گنجانده شده است و بدین ترتیب دستیابی به جوابهای با کیفیتتر، نسبت به سایر روشهای موجود، ممکن شده است.
در این مقاله، الگوریتم جدیدی مبتنی بر الگوریتم مورچگان (ACO) که در داخل چارچوب آن یک الگوریتم ابتکاری برای زمانبندی ذوبها به کار رفته است، برای حل مساله ارائه شده است.
در ACO جامعهای از نهادهای هوشمند ساده، که هر یک از آنها را یک مورچه مصنوعی[12] مینامیم، با الهام از رفتار گروهی مورچگان در یافتن کوتاهترین فاصله میان لانه و غذا، در یافتن جوابهای خوب برای مسائل بهینه یابی پیچیده با یکدیگر همکاری می کنند. همانگونه که مورچگان از فرمون به عنوان وسیلهای برای نشانهگذاری محیط و ارتباط غیرمستقیم با سایرین استفاده میکنند، در ACO نیز مورچههای مصنوعی به جستجوی تصادفی فضای جواب میپردازند و در مسیر خود ردی از فرمون مصنوعی به جای میگذارند.
.درالگوریتم پیشنهادی، تخصیص و توالی هرذوب روی ماشینها در هر جواب بر اساس اطلاعات ماتریس فرومون و اطلاعات ابتکاری ACO بهدست آمده و از یک الگوریتم ابتکاری پیشرو-پسرو برای تعیین زمانهای شروع و پایان ذوب در مراحل مختلف فرآیند استفاده می شود. برای ساخت هر جواب، هر مورچه یک جواب امکان پذیر از تخصیص و توالی هر ذوب روی ماشینها بهدست میآورد و سپس الگوریتم ابتکاری زمانبندی روی آن ذوب اعمال میشود. پس از ساخت یک جواب کامل و زمانبندی همه ذوبها، جواب حاصل ارزیابی میشود. توجه شود که تابع هدف در الگوریتم پیشنهادی همان تابع هدف مدل برنامهریزی ریاضی است. پس از ارزیابی هر جواب، ماتریس فرومون بهنگام شده و الگوریتم تا رسیدن به شرایط توقف تعیین شده ادامه می یابد. نرم افزار C++ برای پیاده سازی الگوریتم به کار رفته است.
همانگونه که اشاره شد، یک الگوریتم ابتکاری برای زمانبندی ذوبها در داخل چارچوب ACO به کار رفته است. این الگوریتم با شبیه سازی فعالیتهای لازم در مراحل مختلف فرآیند و با داشتن مسیر ذوب روی ماشینها، توالی ذوب روی هر ماشین و سایر پارامترهای ورودی الگوریتم از قبیل زمانهای انتقال، زمانهای پردازش، وضعیت ماشینها و زمانهای نگهداری و تعمیرات برنامهریزی شده ماشینها، زمان شروع و پایان همه فعالیت های ذوب را بهدست میآورد.
این الگوریتم به صورت پیشرو_ پسرو طراحی شده است. مراحل الگوریتم زمانبندی پیشنهادی به صورت زیر است:
1- فاز پیشرو : محاسبه زمان شروع و پایان عملیات ذوب در مسیر تولیدش به سمت جلو؛
پس از تعیین تخصیص و توالی هر ذوب روی ماشینهای EAF و LF توسط هر مورچه، در فاز پیشرو هر ذوب در جهت پیشرو در مراحل مختلف فرآیند در زودترین زمان ممکن روی هر ماشین (ماکزیمم زمان رسیدن ذوب به ماشین[13] و زمان در دسترس بودن ماشین[14]) زمانبندی شده و در آخرین مرحلهی فرآیند زمان رسیدن ذوب سر ماشین ریختهگری (HATC[15]) مربوطه محاسبه می شود.
2- محاسبه زمان شروع ریختهگری: تحلیل شرایط ماشین ریختهگری و ذوب برای محاسبه زمان شروع ریختهگری؛
در این مرحله ابتدا زمان در دسترس بودن ماشین ریختهگری (CATC[16]) به صورت زمان پایان ذوب قبلی ماشین به علاوهی زمان انجام عملیات آماده سازی ماشین در صورت نیاز، محاسبه میشود. سپس با داشتن HATC، امکان انجام ریختهگری به صورت پیوسته با ذوب قبلی ماشین ریختهگری بررسی می شود. در صورتی که بین زمان شروع ریختهگری این ذوب و زمان پایان ریختهگری ذوب قبلی ماشین تاخیر زمانی وجود داشته باشد، به کارگیری تکنیکهای زیر برای پیوستگی بررسی میشود:
- سرعت بخشیدن به مراحل فرآیند ذوب و کوتاه کردن زمانهای پردازش آن با رعایت حد مجاز؛
- کاهش سرعت ماشین ریختهگری برای ذوب قبلی؛
- دیر شروع کردن ریختهگری ذوب اول این دسته ریختهگری با اعمال زمانهای انتظار مجاز بین مراحل مختلف فرآیند آن و در نتیجه شیفت دادن زمانهای شروع همه ذوبهای دسته؛
در انتهای این فاز زمان شروع ریختهگری ذوب(CST[17]) به صورت max{CATC, HATC} محاسبه میشود.
3- فاز پسرو: توزیع زمانهای انتظار ذوب بین مراحل مختلف فرآیند؛
در این مرحله به صورت پسرو از آخرین مرحله فرآیند با ثابت نگه داشتن زمان شروع ریختهگری ذوب(CST) و با در نظر گرفتن محدودیت زمان انتظار ذوبها در مراحل مختلف، زمانهای انتظار به صورت پسرو از مرحله آخر تا اولین مرحله به عبارتی از ماشین ریختهگری، به داخل LF، قبل از LF و داخل EAF توزیع شده و زمانهای شروع و پایان ذوب بهنگام میشود. این زمانها، زمانهای امکان پذیر برای هر ذوب هستند. به عنوان مثال چنانچه به علت مشغول بودن ماشین ریختهگری زمان انتظار ذوبی قبل از این ماشین 60 دقیقه و حداکثر زمان انتظار مجاز ذوب در این مرحله 20 دقیقه باشد (به علت سرد شدن ذوب و عدم امکان ریختهگری)، 40 دقیقه مازاد در مراحل قبلی مثلاٌ قبل از عملیات LF ذوب توزیع میشود. توجه شود که به علت امکان گرم کردن مجدد ذوب در کوره های پاتیلی، زمان مجاز انتظار ذوب قبل از LF بیشتر است.
همچنین، یک الگوریتم زمانبندی بهبود دهنده نیز برای ذوبها طراحی شده است. همانگونه که اشاره شد، در صورتی که به علت دیررسیدن ذوبی به ماشین ریختهگری، ریختهگری قطع شود این امکان وجود دارد که در صورتی که زمان انتظار ذوبهای قبلی آن دسته از ماکزیمم حد مجاز تجاوز نکرده باشد، زمان شروع ریختهگری ذوبهای قبلی دسته را از ذوب اول دسته شیفت داد به گونهای که دیررسیدن ذوب جبران شود. این الگوریتم بهبود دهنده، ذوب به ذوب جلو می رود و با اعمال روی زمانبندی ذوبها باعث کاهش تعداد دفعات قطع ریختهگری شده و زمانهای بهبود داده شده برای شروع و پایان ذوبها بهدست میآید.
ابتدا تعاریف زیر را ارائه میدهیم:
ذوب کاندید: ذوبی که ذوبهای قبلی ماشین ریختهگری مربوط به آن برنامهریزی شدهاند.
مجموعه کاندید: مجموعه ذوبهای کاندید از ماشینهای ریختهگری
: احتمال اینکه ذوب کاندید از ماشین ریختهگری i در مرحله jام از مرحله انتخاب ذوب برای زمانبندی انتخاب شود. i به تعداد ماشینهای ریختهگری و j برابر با تعداد کل ذوبهای روی ماشینهای ریختهگری است.
: مقدار فرومون متناظر با انتخاب ذوب کاندید از ماشین ریختهگری i در مرحله jام
: مقدار اطلاعات ابتکاری متناظر با انتخاب ذوب کاندید از ماشین ریختهگری i در مرحله jام
گامهای الگوریتم پیشنهادی به صورت زیر است:
- شروع
- تا زمان رسیدن الگوریتم به شرایط توقف، در هر تکرار:
که در آن:
- انتخاب بهترین مورچه تکرار فعلی
- بهنگام کردن ماتریس فرومون توسط اطلاعات بهترین جواب تکرار فعلی و بهترین جواب الگوریتم تا تکرار فعلی
- پایان
برای محاسبه اطلاعات ابتکاری در مسیرهای مختلف هر ذوب کاندید، ذوب در آن مسیر به صورت پیشرو زمانبندی شده و امکان ریختهگری پیوسته و زمانهای انتظار ذوب در مسیر بهدست میآید. هر چه هزینه قطع ریختهگری و زمانهای انتظار ذوب در یک مسیر کمتر باشد، مقدار اطلاعات ابتکاری آن بیشتر است.
در الگوریتم طراحی شده، تعداد مورچه ها در هر تکرار برابر با 5 و شرایط توقف با توجه به زمان الگوریتم برابر با 100 تکرار و یا عدم دستیابی به جواب بهتر در 20 تکرار متوالی قرار داده شده است. سایر پارامترهای الگوریتم نیز با اجرای الگوریتم روی نمونه مسائل مختلف و با استفاده از روش تنظیم همزمان پارامترها با استفاده از شبکههای عصبی خودسازمانده (ترکش و همکاران، 2009) تنظیم شدهاند.
الگوریتم پیشنهادی برای مجتمع فولاد خوزستان پیادهسازی شده است. دراین مجتمع تعداد EAFها برابر با 6، تعداد LFها برابر با 4 و تعداد ماشینهای ریختهگری برابر با 5 است که از این تعداد 2 ماشین ریختهگری تولید اسلب، دو ماشین تولید بیلت و یک ماشین تولید بلوم را عهده دارند. تعداد ذوبها در یک روز از 56 تا 73 ذوب متغیر هستند. پارامترهای مساله از روی داده های واقعی محیط تولید و یا مصاحبه با کارشناسان فرآیند تعیین شده اند.
وزن اهداف بر اساس نظر کارشناسان مجتمع فولاد خوزستان تنظیم شده است. به طوریکه به هدف میزان تولید روزانه که مهمترین هدف تولید است، وزن بالایی تخصیص داده شده که این وزن به صورت منفی در تابع هدف از نوع هزینه وارد شده و باعث منفی شدن تابع هدف میشود. بنابراین، هرچه مقدار تابع هدف منفیتر باشد، نشان دهنده مقدار تابع هدف بهتر است.
مسائل حل شده هر کدام مربوط به یک روز واقعی تولید با برنامه تولید متفاوت ماشینهای ریختهگری، ماشینهای در دسترس متفاوت در هر مرحله و بازه های نگهداری و تعمیرات متفاوت برای ماشینهاست. شایان ذکر است که این الگوریتم هم اکنون در مجتمع فولاد خوزستان در حال بهکارگیری است و کارایی آن به اثبات رسیده است.
با توجه به توضیحات داده شده در بخش ادبیات موضوع و متفاوت بودن مساله مورد بررسی با مسائل مطرح شده درمقالات گذشته، مقایسه روش ارائه شده با روشهای گذشته امکانپذیر نیست. لذا به عنوان یکی از روشهای موجود در زمانبندی کارگاههای فولاد سازی و ریختهگری پیوسته، الگوریتم ابتکاری یکی از نرمافزارهای تجاری خارجی و مورد استفاده در مجتمع فولاد مبارکه (الگوریتم مالسپینا)، مبنای مقایسه با روش ارائه شده قرار گرفته است.
الگوریتم ارائه شده با الگوریتم مالسپینا، در شرایط کاری مجتمع فولاد خوزستان مقایسه شده است. این دو الگوریتم در شرایط عملیاتی 131 روز کاری واقعی در مجتمع فولاد خوزستان، روی کامپیوتر مشابه و تا زمان توقف الگوریتم یا دسترسی به سقف زمانی 3 دقیقه، که توسط کاربران به عنوان بیشینه زمان قابل پذیرش در نظر گرفته شده است، مقایسه شدهاند. برای مقایسه از شاخص درصد بهبود الگوریتم پیشنهادی (ProposedObj) نسبت به الگوریتم مالسپینا (MalespinaObj) در هر نمونه مساله مطابق با رابطه (3) استفاده شده است.
بدین ترتیب درصد بهبود صفر نشاندهندهی برابری عملکرد دو الگوریتم است. درصد بهبود مثبت نشان دهندهی برتری الگوریتم پیشنهادی و درصد بهبود منفی بیانگر برتری الگوریتم مالسپینا است. آمارههای اصلی مقایسهای دو روش در جدول 1 ارایه شده است. همانگونه که از نتایج گزارش شده در جدول 1 بر میآید، در بدترین شرایط نیز الگوریتم پیشنهادی عملکردی 16% بهتر از الگوریتم مالسپینا دارد و میانگین درصد بهبود 65% است. درصد فراوانی درصدهای بهبود مختلف در بین 131 نمونهی حل شده در شکل 2 ارایه شدهاند.
جدول 1- آمارههای اصلی در رابطه بادرصد بهبود الگوریتم پیشنهادی نسبت به الگوریتم مالسپینا
درصد بهبود الگوریتم پیشنهادی نسبت به الگوریتم مالسپینا |
|||
انحراف استاندارد |
بیشینه |
میانگین |
کمینه |
6/29 |
201 |
65 |
16 |
شکل 2- توزیع فراوانی درصد بهبود الگوریتم پیشنهادی نسبت به مالسپینا
همانطور که شکل 2 نشان میدهد در بیش از 78% از نمونه مسائل میزان درصد بهبود الگوریتم پیشنهادی نسبت به مالسپینا از 50% بیشتر است که نشان دهنده کارایی بالای الگوریتم پیشنهادی است. با بزرگتر و پیچیدهتر شدن مساله، کیفیت عملکرد الگوریتم مالسپینا کاهش می یابد و در نتیجه درصد بهبود الگوریتم پیشنهادی بیشتر می شود. افزایش تعداد ذوبها سبب بزرگتر شدن مساله و افزایش پیچیدگی میشود. کاهش میزان دردسترس بودن منابع نیز بر پیچیدگی مساله میافزایند و منجر به افزایش برتری نسبی الگوریتم پیشنهادی بر الگوریتم مالسپینا میشوند.
در این مقاله، مساله زمانبندی کارگاههای فولادسازی-ریختهگری پیوسته بررسی شده است. از آنجا که یافتن جواب بهینه این مساله توسط روشهای بهینهیابی کلاسیک در زمان معقول امکانپذیر نیست، یک الگوریتم فراابتکاری مبتنی بر الگوریتم مورچگان که در چارچوب آن از یک الگوریتم ابتکاری پیشرو- پسرو به همراه یک الگوریتم بهبود دهنده استفاده شده، برای حل مساله ارائه شده است. در الگوریتم پیشنهادی، قسمت تخصیص منبع و تعیین توالی با استفاده از الگوریتم جامعه مورچگان انجام میشود. قسمت زمانبندی نیز توسط یک الگوریتم ابتکاری پیشرو-پسرو، انجام شده و جوابی شدنی تولید میشود. یک الگوریتم زمانبندی بهبود دهنده نیز برای کاهش تعداد دفعات قطع ریختهگری طراحی شده است.
الگوریتم طراحی شده در مجتمع فولاد خوزستان پیادهسازی شده و با الگوریتم موجود در یکی از نرمافزارهای تجاری خارجی و مورد استفاده در مجتمع فولاد مبارکه، در حل مسائل واقعی مربوط به روزهای مختلف مقایسه شده است. نتایج آزمایشات نشان میدهند که میانگین درصد بهبود الگوریتم پیشنهادی حدود 65% در زمان قابل قبول (کمتر از 3 دقیقه) و حداقل درصد بهبود در نمونههای حل شده 16% است که نشان دهنده کارایی بالای الگوریتم طراحی شده در عمل است. در نظر گرفتن محدودیتهای واقعی محیط تولیدی در تعریف مساله، ارائهی الگوریتمی ترکیبی از ACO و یک الگوریتم ابتکاری، نوع تعریف ماتریس فرومون و طراحی الگوریتم ابتکاری زمانبندی، نوآوریهای اصلی این پژوهش هستند. مهمترین دست آورد این مقاله ارایه روشی کارا و سریع برای حل مساله با بازگشت مالی بسیار زیاد در صنایع مادر کشور بوده است به طوریکه الگوریتم ارایه شده عملکردی بسیار بهتر از نرم افزارهای تجاری بینالمللی در این صنعت دارد. بهبود الگوریتم ابتکاری طراحی شده برای زمانبندی و استفاده از سایر الگوریتمهای فراابتکاری و مقایسه آنها با الگوریتم ارائه شده میتواند زمینه پژوهشهای آتی باشد.
ضمایم (مدل ریاضی مساله)
متغیرهای تصمیم:
: اگر ذوب i به EAF شماره e تخصیص داده شود، مقدار یک و در غیر این صورت مقدار صفر میگیرد.
: اگر ذوب i به LF شماره l تخصیص داده شود، مقدار یک و در غیر این صورت مقدار صفر میگیرد.
: اگر ذوب i قبل از ذوب i’ روی EAF شماره e قرار گیرد، مقدار یک و در غیر این صورت مقدار صفر میگیرد.
: اگر ذوب i قبل از ذوب i’ روی LF شماره l قرار گیرد، مقدار یک و در غیر این صورت مقدار صفر میگیرد.
: اگر ریختهگری بعد از ذوبi قطع شود مقدار یک و در غیر این صورت مقدار صفر می گیرد.
: زمان شروع فرآیند ذوب در مرحله EAF
: زمان پایان فرآیند ذوب در مرحله EAF
به این ترتیب و زمان شروع و پایان فرآیند ذوب در مرحله LF و و زمان شروع و پایان فرآیند ذوب در مرحله CCM هستند.
: اگر ذوب i در طول بازه برنامهریزی (روزانه) تولید شود، مقدار یک و در غیر این صورت مقدار صفر میگیرد.
: اگر ذوب i بعد از انجام نگهداری و تعمیرات EAF ای که به آن تخصیص داده شده برنامهریزی شود، مقدار یک و در غیر این صورت مقدار صفر میگیرد.
: اگر ذوب i بعد از انجام نگهداری و تعمیرات LF اش برنامهریزی شود، مقدار یک و در غیر این صورت مقدار صفر میگیرد.
: اگر ذوب i بعد از انجام نگهداری و تعمیرات CCM تخصیص داده شده برنامهریزی شود، مقدار یک و در غیر این صورت مقدار صفر میگیرد.
: زمان آماده سازی ماشین ریختهگری که در صورت قطع ریختهگری مقدار می گیرد.
پارامترها:
CCM(i) : ماشین ریختهگری مربوط به ذوب i
Prev(i): ذوب قبل از ذوب i روی ماشین ریختهگری مربوطه
f(i, prev(i)) : اگر بین ذوب i و ذوب قبلیاش تغییر در ابعاد یا گرید داشته باشیم، مقدار یک و گرنه مقدار صفر دارد.
: مدت زمان پردازش در مرحله k (k=1,2)
: زمان پردازش ذوب i روی CCM شماره c
: زمان انتقال از EAFe به LFl
: زمان انتقال از LFl به CCMc
: زمان شروع نگهداری و تعمیرات برنامهریزی شده EAFe
: زمان پایان نگهداری و تعمیرات برنامهریزی شده EAFe
به این ترتیب زمان شروع و پایان نگهداری و تعمیرات برنامهریزی شده LFl و و زمان شروع و پایان نگهداری و تعمیرات برنامهریزی شده CCMcمیباشند.
Setup(k) : زمان آماده سازی ماشینها در مرحله k (k=1,2,3)
: ماکزیمم زمان ماندن ذوب در پاتیل (همراه با زمانهای انتقال و پردازش)
ماکزیمم زمان ماندن ذوب قبل از LF
ماکزیمم زمان ماندن ذوب داخل LF (همراه با زمان پردازش)
ماکزیمم زمان ماندن ذوب قبل از CCM
: طول عمر تاندیش
: طول بازه برنامه ریزی
: مقدار هزینه متناظر با هر بار قطع ریختهگری
: مقدار هزینه متناظر با هر دقیقه زمان انتظار ذوب در کوره
: مقدار هزینه متناظر با هر دقیقه زمان ماند ذوب در پاتیل
: مقدار سود متناظر با تولید هر واحد ذوب که با علامت منفی در تابع هدف مشخص میشود.
M : عدد بزرگ
5- ارائه مدل ریاضی مساله
رابطه (1) تابع هدف مساله است که به صورت مجموع هزینههای قطع ریختهگری، زمان انتظار ذوب در EAF، زمان ماندن ذوب در پاتیل و سود حاصل از تعداد ذوبهای تولیدی در روز تعریف شده است. به همین علت ضریب C4 در تابع هدف منفی است. رابطه (2و3) بیان می کنند که هر ذوب فقط روی یک EAF و روی یک LF میتواند برنامهریزی شود. روابط (4و5و 6) مشخص کننده ترتیب ذوبها روی EAF و روابط (7و8و9) تعیین کننده توالی ذوبها روی LF هستند. روابط (10و11) بیان می کنند که یک ذوب روی EAF یا LF پس از پایان عملیات ذوب قبلی ماشین و انجام آماده سازی می تواند شروع شود. روابط (12و13 ) زمان پایان ذوبها را روی EAF و LF بر اساس زمان شروع آنها تعریف میکنند. رابطه (14) بیان می کند که یک ذوب پس از پایان عملیاتش روی EAF و انجام انتقال می تواند روی LF شروع شود. روابط (15تا 20) محل ذوب را نسبت به بازه نگهداری و تعمیرات برنامهریزی شده روی EAF ، LF و CCM مشخص می کنند. رابطه (21) بیانگر این است که یک ذوب پس از پایان عملیاتش روی LF و انجام انتقال می تواند روی CCM شروع شود. رابطه (22) بیان می کند که زمان شروع ریختهگری ذوب پس از پایان ریختهگری ذوب قبلی و انجام عملیات آمادهسازی در صورت قطع ریختهگری امکانپذیر است. محدودیت (23) بیان می کند که زمان شروع ریختهگری ذوب پس از پایان ریختهگری ذوب قبلی و انجام عملیات آماده سازی در صورت تغییر ابعاد یا گرید محصول امکان پذیر است. محدودیت (24) محدودیت طول عمر تاندیش است. رابطه (25) تعریف کننده متغیر CastSetup است که در صورت قطع ریختهگری برابر با زمان آماده سازی ماشین است. رابطه (26) تعریف کننده قطع ریختهگری در صورت دیر رسیدن ذوب نسبت به ذوب قبلی روی ماشین است. رابطه (27) ارتباط زمان شروع و پایان ریختهگری را بیان میکند. روابط (28-31)، بیانگر محدودیتهای زمان مجاز برای ماندن ذوب بین مراحل تولیدی است. رابطه (32و 33) تعیین میکند که آیا ذوب جزو ذوبهای تولید شده در بازه برنامهریزی حساب میشود یا خیر. رابطه (34) تعریف کننده متغیرهای باینری و پیوسته مدل است.
[1] Steelmaking -Continuous Casting Production Scheduling Problems
[2]Electric Arc Furnace
[3] Ladle Furnace
[4] به عنوان مثال ذوب دیگری قبلا LF را اشغال کرده باشد و یا عملبات نگهداری و تعمیرات روی LF جاری باشد
[5] Continuous Casting Machine
[6] واحد ورودی ماشین ریخته گری پیوسته
[7] No-wait flexible flow shop scheduling
[8] Beam search
[9] PSO (Particle Swarm Optimization)
[10] First Come First Serve
[11] Rolling horizon approach
[12] Artificial Ants
[13] زمان پایان عملیات ذوب روی ماشین مرحله قبلی+ زمان انتقال بین ماشینها
[14] زمان پایان عملیات ذوب قبلی روی ماشین و انجام عملیات آماده سازی یا اتمام عملیات نگهداری و تعمیرات ماشین
[15] Heat Availabality To Cast
[16] Caster Availability To Cast