ساختار جواب (کروموزوم) مبین یک نقطه از فضای شدنی مساله است، بطوریکه نحوه نمایش آن درهر رویکرد فراابتکاری حایز اهمیت می باشد. ساختار جواب (کروموزوم) در الگوریتم پیشنهادی برای مدل ارائه شده از چهار بخش تشکیل شده است که به ترتیب به صورت زیر میباشد :
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت nefo.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
بخش اول بیانگر تعداد تقاضای تولید شده از هر قطعه در هر دوره میباشد که به صورت یک بردار سطری Part × ۱ بیان میگردد و حداقل سفارش در هر دوره در آن رعایت گردیده است.
مثال :Demand = [ 116 100 200 ]
بخش دوم بیانگر قیمت هر قطعه در هر دوره میباشد که به صورت یک بردار سطری Part × ۱ بیان میگردد. در صورتی که تقاضای قطعهای برابر صفر باشد، قیمت آن صفر منظور می شود.
مثال :Price = [9.0417 4.6052 4.1232 ]
بخش سوم یک ماتریس دو بعدی Machine * Cell میباشد که بعد اول آن برابر با تعداد ماشین ها و بعد دوم برابر با تعداد سلولها میباشد. هر درایه این ماتریس عددی است که تعداد ماشین نوع m در سلول k را نشان میدهد. برای مثال machine_cell(1,2) = 2نشان میدهد که تعداد دو ماشین از نوع ۱ در سلول ۲ وجود دارد.
بخش چهارم یک ماتریس سه بعدی m × k × p میباشد که بعد اول آن تعداد ماشینها ، بعد دوم تعداد عملیات هر قطعه و بعد سوم آن قطعه مورد نظر را نمایش میدهد. هر درایه غیر صفر این ماتریس سه بعدی شماره سلولی را نشان میدهد که عملیات مورد نظر از قطعه فعلی در آن سلول انجام می شود.
مثال :
این ماتریس ترتیب پردازش برای قطعه دوم را نشان میدهد که در آن عملیات اول از قطعه ۲ روی ماشین اول(سطر اول) و در سلول اول انجام می شود. عملیات دوم از قطعه ۲ روی ماشین سوم(سطر سوم) و در سلول دوم انجام می شود و بالاخره عملیات سوم از قطعه ۲ روی ماشین دوم(سطر دوم) و در سلول اول انجام می شود.
ماتریسهای ذکر شده در بالا مربوط به یک دوره میباشد. بنابراین در هر جواب (کروموزوم) T مجموعه از این ماتریسها وجود دارد که T تعداد دورهها میباشد.
۲-۲-۸-۴: انتخاب جواب اولیه
در این مسئله جواب اولیه به صورت تصادفی تولید می شود. با توجه به ساختار مسئله، جوابهای بعدی در الگوریتم ارائه شده در این بخش در هر تکرار با انجام جهش روی بخشهای مختلف جواب تولید می شود.
۳-۲-۸-۴: انتخاب دمای اولیه
تعیین دمای اولیه یکی از مسایل اساسی در شبیه سازی تبرید میباشد. دمای اولیه باید بگونهای تعیین گردد که در آن کاهش تابع انرژی محسوس بوده و از محاسبات اضافی اجتناب گردد. اگر دمای اولیه خیلی پایین باشد، شبیهسازی تبرید خیلی سریع به جوابهای نامطلوب همگرا خواهد شد (همگرایی زودرس). از طرف دیگر اگر دما خیلی بالا باشد، شبیهسازی تبریددچار واگرایی شده و قادر به ارضای معیارهای خروج از الگوریتم نخواهد بود. تعیین این پارامتر همچنان یک فرایند ابتکاری و تجربی میباشد.
برطبق مفاهیم اولیه شبیهسازی تبرید، احتمال پذیرش جواب های غیربهبود دهنده در تکرارهای اولیه بالا است و سپس این احتمال به تدریج کاهش مییابد. تعیین دمای اولیه و دمای پایانی در این الگوریتم با توجه به مقادیر ورودی و مقادیر تابع هدف انجام شده است.
۴-۲-۸-۴: مکانیزم ایجاد جواب همسایه
برای پیمایش در فضای شدنی، نیاز به تولید پاسخ شدنی دیگری با تغییر پاسخ فعلی وجود دارد، که به آن جواب همسایه اطلاق می شود. بعد از آن باید شدنی بودن پاسخ مورد بررسی قرار گیرد. اگر پاسخ بدست آمده شدنی نباشد، آن را حذف و یا اصلاح کرده و پاسخ دیگری تولید می شود. در الگوریتم فعلی جهشهای نوع دوم، سوم وچهارم میتوانند جواب نشدنی تولید نمایند که در جهشهای نوع دوم و سوم قابلیت اصلاح نیز وجود دارد. جهشهای نوع دوم وسوم هر دو روی بخش سوم کروموزوم انجام میگیرند. نحوه تولید یک جواب شدنی جدید با بهره گرفتن از جواب فعلی به صورت زیر است:
نخست یکی از دورهها جهت انجام جهش انتخاب میگردد. در هر جواب شدنی پنج نوع جهش متفاوت می تواند انجام گیرد. این چهار نوع جهش عبارتند از:
تغییر در تعداد قطعات تولید شده : در هر دوره میتوان میزان تولید هر یک از قطعات را افزایش یا کاهش داد مشروط بر اینکه حداقل سفارش رعایت شده و جواب شدنی باشد. برای این کار ابتدا یکی از قطعات را انتخاب کرده و با توجه به حداقل میزان سفارش مورد نیاز و حداکثر ظرفیت ماشینی که قطعه مورد نظر روی آن پردازش می شود، بازه تغییر تولید را معین میکنیم. واضح است که با اتخاذ روش فوق پاسخ همسایه ایجاد شده همواره شدنی خواهد بود. باید توجه داشته باشیم که با تغییر میزان تولید قیمت قطعه در دوره مورد نظر خودبهخود تغییر مییابد.
تغییر مکان ماشینها در سلولها: این کار به دو روش متفاوت انجام میگیرد، بدین معنا که میتوان یک ماشین را از یک سلول به سلول دیگر منتقل نموده و یا جای دو ماشین را در دو سلول متفاوت با هم عوض نمود. در صورتی که پاسخ به دست آمده پس از اصلاحات لازم روی ماتریس پردازش شدنی نباشد، حذف شده و تلاش میکنیم که تغییر را در یک سلول متفاوت و روی ماشینهای دیگر اعمال نماییم. جهت جلوگیری از ایجاد حلقه بینهایت این کار تنها با دفعات محدود انجام میگیرد.
تغییر در تعداد ماشینها: در هر دوره میتوان تعداد ماشینهای پردازشکننده را افزایش یا کاهش داد. افزایش ماشینها تاثیری در بهبود پاسخ ندارد و تنها برای افزایش حق انتخاب در جهشهای دیگر صورت میگیرد. حذف یک ماشین تنها در صورتی قابل پذیرش است که پاسخ به دست آمده شدنی باشد. پس از حذف یک ماشین تلاش میکنیم که عمل اصلاحی را انجام داده و هر عملیات انجام یافته روی آن را به ماشینهای دیگر اختصاص دهیم. در صورتی که باز هم پاسخ شدنی به دست نیاید، جواب مذکور حذف شده و عملیات حذف روی ماشینهای دیگر انجام میگیرد.
تغییر مکان پردازش یک عملیات: آخرین نوع جهش مربوط به ماتریسهای پردازش میباشد .برای این کار یک عملیات از یک قطعه خاص انتخاب شده و به ماشینی دیگر در همان سلول و یا روی سلول دیگر انتقال مییابد. بدیهی است که عملیات انتقال تنها در صورتی انجام می شود که ماشین مقصد ظرفیت کافی داشته باشد. اگر چنین ماشینی موجود نباشد، جواب فعلی حذف شده و یک عملیات از یک قطعه دیگر را جهت انجام فرایند جهش انتخاب میکنیم.
۵-۲-۸-۴: مکانیزم کاهش دما
در این الگوریتم جهت به هنگام سازی دما یا اصطلاحاً زمانبندی سرمایش از قاعده کلاسیک شبیه سازی تبرید بصورت زیر استفاده شده است. پارامتر مبین نرخ کاهش دما است در بازه [۹۹/۰ ، ۸۵/۰] تعیین میگردد.
Tr=Tr-1
اگرچه تاکنون قواعد متنوعی در ادبیات موضوع ارائه شده است ولی کارایی قاعده فوق همچنان مورد توجه است.
۶-۲-۸-۴: مکانیزم پذیرش جوابهای نامزد شده
یکی دیگر از مولفههای تعیین کننده کیفیت و سرعت رسیدن به جواب تقریبا بهینه، نحوه پذیرش یا رد جوابهای جدید است. الگوریتم شبیه سازی تبرید با یک جواب شدنی اولیه آغاز شده و طی مکانیزم معینی، یک حل همسایه از فضای جواب انتخاب کرده و هزینه این جواب همسایگی با هزینه جواب قبلی مقایسه می شود.
هرگاه تابع هدف بهبود یافته باشد، حل جدید نگه داشته شده و به عنوان حل جاری منظور می شود، در غیر اینصورت،این همسایگی علیرغم عدم بهبود هدف،با احتمال مشخصی پذیرفته می شود.
این تابع احتمال، حالت خاصی از توزیع احتمالی بولتزمن در علم ترمودینامیک آماری است که بصورت زیر تعریف میگردد.
۷-۲-۸-۴: معیارهای توقف الگوریتم شبیهسازی تبرید
با توجه به اینکه الگوریتمهای فوق ابتکاری هیچگونه شناختی نسبت به نقطه ی بهینه سراسری و بطور کلی درجه بهینه بودن جوابها ندارند، معیاری برای توقف آنها مورد نیاز است. برای توقف الگوریتم شبیه سازی تبرید، از دو معیار بصورت زیر استفاده شده است:
۱- حداکثر تعداد انتقالات دما یا حداکثر تعداد دفعات کاهش دما.
۲- حداکثر تعداد تکرار الگوریتم
۳-۸-۴ : اجزاء و پارامترهای الگوریتم ژنتیک
۱-۳-۸-۴: تعریف کروموزم
برای نمایش کروموزم از۵ ماتریس استفاده نمودهایم که مقادیر این ماتریسها از نوع عدد صحیح هستند دو ماتریس اول (X,Y) ساختار سه بعدی دارند. هر درایه ماتریس X تخصیص عملیات پارتها به ماشینها را نشان میدهد. برای مثال اگر =m1 داشته باشیم این عبارت بیان می کند که عملیات j ام قطعه i توسط ماشین m1 پردازش می شود.
هر درایه ماتریس Y تخصیص عملیات قطعات به سلولها را نشان میدهد برای مثال اگر یعنی عملیات jام قطعه i در سلول c1 پردازش می شود.
بنابراین دو ماتریسX,Y تخصیص عملیات قطعات به ماشینهای داخل سلولها را نشان می دهند.
ماتریس سوم (N) تعداد ماشینهایی که در هر دوره به سلولها تخصیص مییابد را نشان میدهد برای مثال اگر =۴ یعنی تعداد ماشینهای نوع دوم در سلول شماره ۳ برابر ۴ میباشد. هر عضو ماتریس N با توجه به معادله زیر تعیین می شود.
ماتریس چهارم(K) تعداد ماشینهایی را که در هر دوره ( موقع پیکر بندی مجدد) از سلولها کم و یا به آنها اضافه می شود را نشان میدهد. عناصر ماتریسKبا توجه به معادله زیر تعیین می شود.
ماتریس پنجم(XT ماتریس تولید) مقدار تولید از هر نوع قطعه در یک دوره را نشان میدهد. هر عضو ماتریسXTابتدا با توجه به معادله زیر تعیین می شود سپس با توجه به ظرفیت ماشینها تصحیح می شود.
XT | X2 | X1 |