از شیوه اشتراک برازندگی[۱۵۶] برای جواب های نزدیک استفاده می شود تا به این ترتیب پراکندگی جواب ها به نحو مطلوبی تنظیم شود و جواب های به طور یکنواخت در فضای جستجو پخش شوند.
با توجه به حساسیت نسبتا زیادی که نحوه عملکرد و کیفیت جواب های الگوریتم NSGA به پارامترهای اشتراک برازندگی و سایر پارامترها دارند، نسخه دوم الگوریتم NSGA با نام NSGA-II توسط کالیانموی دِب و همکارانش [۱۵۷]در سال ۲۰۰۰ معرفی گردید. در کنار تمام کارایی هایی که NSGA-II دارد، می توان آن را الگوی شکل گیری بسیاری از الگوریتم های بهینه سازی چند هدفه دانست. این الگوریتم و شیوه منحصر به فرد آن در برخورد با مسائل بهینه سازی چند هدفه، بارها و بارها توسط افراد مختلف برای ایجاد الگوریتم های بهینه سازی چندهدفه جدید تر، مورد استفاده قرار گرفته است. بدون شک این الگوریتم یکی از اساسی ترین اعضای کلکسیون الگوریتم بهینه سازی چندهدفه تکاملی است که می توان آن ها را نسل دوم این گونه روش ها نامید. ویژگی های عمده این الگوریتم عبارتند از :
تعریف فاصله تراکمی[۱۵۸] به عنوان ویژگی جایگزین برای شیوه هایی مانند اشتراک برازندگی
استفاده از عملگر انتخاب تورنومنت دو- دویی
ذخیره و آرشیو کردن جواب های نامغلوب که در مراحل قبلی الگوریتم به دست آمده اند (نخبه گرایی)
در الگوریتم NSGA-II از میان جواب های هر نسل، تعدادی از آن ها با بهره گرفتن از روش انتخاب تورنمنت دودویی انتخاب می شوند. در روش انتخاب دودویی، دو جواب به تصادف از میان جمعیت انتخاب می شوند و سپس میان این دو جواب، مقایسه ای انجام می شود و هر کدام که بهتر باشد، نهایتا انتخاب می شود. معیارهای انتخاب در الگوریتم NSGA-II در درجه اول، رتبه جواب و در درجه دوم فاصله تراکمی مربوط به جواب است. هر چه قدر رتبه جواب کمتر باشد و دارای فاصله تراکمی بیشتری باشد، مطلوب تر است. با تکرار عملگر انتخاب دودویی بر روی جمعیت هر نسل، مجموعه ای از افراد آن نسل برای شرکت در تقاطع[۱۵۹] و جهش[۱۶۰] انتخاب می شوند. بر روی بخشی از مجموعه افراد انتخاب شده، عمل تقاطع و بر روی بقیه، عمل جهش انجام می شود و جمعیتی از فرزندان و جهش یافتگان ایجاد می شود. در ادامه، این جمعیت با جمعیت اصلی ادغام می شود. اعضای جمعیت تازه تشکیل یافته، ابتدا برحسب رتبه و به صورت صعودی مرتب می شوند. اعضایی از جمعیت که دارای رتبه یکسانی هستند، بر حسب فاصله تراکمی و به صورت نزولی مرتب می شوند. حال اعضای جمعیت در درجه اول بر حسب رتبه، و در درجه دوم بر حسب فاصله تراکمی مرتب سازی شده اند. برابر با تعداد افراد جمعیت اصلی، اعضایی از بالای فهرست مرتب شده انتخاب می شوند و بقیه اعضای جمعیت دور ریخته می شوند. اعضای انتخاب شده جمعیت نسل بعدی را تشکیل می دهند. و چرخه مذکور در این بخش، تا محقق شدن شرایط خاتمه، تکرار می شود.
جواب های نا مغلوب به دست آمده از حل مسأله بهینه سازی چندهدفه، غالبا به نام جبهه پارتو [۱۶۱]شناخته میشوند. هیچ کدام از جواب های جبهه پارتو، بر دیگری ارجحیت ندارند و بسته به شرایط، می توان هر کدام را به عنوان یک تصمیم بهینه در نظر گرفت.
۴-۵-۲-۱- گامهای الگوریتم NSGA-II
گام اول: تولید جمعیت اولیه در این روش همانند معمول بر مبنای مقیاس ومحدودیت مسئله
گام دوم: ارزیابی جمعیت تولید شده از دید توابع هدف تعریف شده
شکل۴- ۱- شمایی ازگام دوم
گام سوم: اعمال روش مرتب سازی نامغلوب
اعضای جمعیت در داخل دسته هایی قرار گرفته به گونه ای که اعضای موجود در دسته اول، یک مجموعه کاملاً غیرمغلوب توسط دیگر اعضاء جمعیت فعلی می باشند. اعضای موجود در دسته دوم نیز بر همین مبنا تنها توسط اعضای دسته اول مغلوب شده و این روند به همین صورت دردسته های دیگر ادامه یافته تا به تمام اعضای موجود در هر دسته، یک رتبه بر مبنای شماره دسته اختصاص داده شود.
شکل۴-۲- شمایی ازگام سوم
گام چهارم: محاسبه پارامتر کنترلی به نام فاصله جمعیت[۱۶۲]
این پارامتر برای هر عضو در هر گروه محاسبه می شود و بیان گر اندازه ای ازنزدیکی نمونه مورد نظر به دیگر اعضای جمعیت آن دسته و گروه می باشد. مقدار بزرگ این پارامتر منجر به واگرایی و گستره بهتری در مجموعه اعضای جمعیت خواهد شد.
شکل ۴-۳- محاسبه پارامتر کنترلی به نام فاصله جمعیت(دب وهمکاران ،۲۰۰۰)
گام پنجم: انتخاب جمعیت والدین برای تولید مثل
یکی از مکانیزم های انتخاب مبتنی بر تورنمنت دوتایی میان دو عضو منتخب به طورتصادفی از میان جمعیت می باشد.
گام ششم: انجام جهش و تقاطع
شکل ۴-۴- عملکرد الگوریتم NSGA-II(کالیانموی دِب،۲۰۰۰)
۴-۶- معیار مقایسه برای ارزیابی کیفیت جواب
معیارهای مقایسه ای جهت ارزیابی دوالگوریتم پیشنهادشده معرفی می شود.بطورکلی از آنجا که همگرائی به جوابهای بهینه پارتووفراهم نمودن تنوع در میان مجموعه جوابهای بدست آمده دوهدف مجزاوتا حدودی متضاد در الگوریتم های تکاملی چند هدفه می باشد،معیاری که بتواند به تنهایی ومطلق در مورد عملکرد الگوریتم ها تصمیم بگیرد،تاکنون ارائه نگردیده است.دراین پایان نامه با دوهدف مواجه هستیم لذابمنظوربررسی عملکرد دوالگوریتم حداقل به دو معیار برای ارزیابی مناسب استفاده خواهد شد.
۴-۶-۱- فاصله از جواب ایده آل[۱۶۳]( MID )
این معیار به منظور محاسبه میانگین فاصله جواب های پارتو از مبدا مختصات استفاده میشود.
۴-۶-۲- معیار بیشترین گسترش[۱۶۴](D)
این معیار، که توسط زیتلر[۱۶۵] ارائه شده است، طول قطر مکعب فضایی که توسط مقادیر انتهایی اهداف برای مجموعه جوابهای نامغلوب بکار میرود را اندازه گیری می کند.به طور مثال در حالت دو هدفه، این معیار برابر فاصله اقلیدسی بین دو جواب مرزی در فضای هدف میباشد. هر چه این معیار بزرگ تر باشد، بهتر است.
۴-۶-۳- معیار فاصلهگذاری[۱۶۶](S)
این معیار که توسط اسکات[۱۶۷] ارائه شد، میزان فاصله نسبی جوابهای متوالی است. فاصله اندازه گیری شده برابر با کمترین مقدار مجموع قدرمطلق تفاضل در مقادیر توابع هدف بین i امین جواب وجوابهای واقع در مجموعه نامغلوب نهایی است.این معیار انحراف معیارهای مقادیر مختلف را اندازه گیری می کند. زمانی که جوابها به طور یکنواخت در کنار هم باشند آنگاه مقدار s نیز کوچک خواهد بود، بنابراین الگوریتمی که جوابهای نامغلوب نهایی آن دارای مقدار فاصله گذاری کوچکی باشند بهتر خواهد بود.
۴-۶-۴- تعداد جوابهای پارتو[۱۶۸](NPS)
مقدار معیار NPS نشاندهنده تعداد جوابهای بهینه پارتو هستند که در هرالگوریتم میتوان یافت.
۴-۶-۵- زمان محاسباتی[۱۶۹] (CPU Time )
زمان اجرای الگوریتم ها از مهم ترین شاخص ها در کارایی هرالگوریتم فراابتکاری می باشد.
۴-۷- تجزیه وتحلیل نتایج
دربخشهای بعدی برای تجزیه وتحلیل نتایج حاصل از حل مدل پیشنهادی ابتدادرخصوص تولید مسائل آزمایشی وسپس درموردتنظیم پارامترهای ورودی توضیحاتی ارائه می شودو به مقایسه وتحلیل نتایج می پردازیم.
۴-۷-۱-تولید مسائل آزمایشی
دراین بخش از قابلیتهای مدل ارائه شده از طریق یک مطالعه موردی یک شبکه ساختگی زنجیره تأمین حلقه - بسته که شامل چندین تسهیلات موجود و جدید ایجاد گردیده است. در طول افق برنامهریزی تسهیلات میتوانند بسته و امکانات بالقوه جدید را میتوان از مجموعهای از مکانهای انتخابی باز نمود. همچنین تعدادی تأمینکننده، مشتریان و پیمانکاران فرعی در مکانهای ثابت وجود دارند.
پس از آن با توجه به NP-hard بودن مسئله(درمقالاتی که قبلاً اشاره شد،شبکه های زنجیره حلقه – بسته جزء مسائل NP-hard می باشدمطرح گردید.) مدل رابرای ۱۰مسئله آزمایشی پیاده سازی کرده و روش های حل را مورد مقایسه قرار می دهیم.(جدول ۴-۲) هریک از الگوریتم ها با بهره گرفتن از نرم افزارR2012a(7.14.0.739) 64-bit Matlab وبا سیستم عامل Windows 7اجرا شده اند.پارامترهای ورودی مدل جهت اجراالگوریتم ها در جدول( ۴-۳ )آمده است. سپس با الگوریتم های پیشنهادی برای مقایسه روش های حل ،مسائل را در سایزهای مختلف به اجرا گذاشته وبهترین مقدار شاخص های الگوریتم های چند هدفه را درنظر می گیریم.
جدول ۴- ۲- تعدادسطوح مختلف مسائل نمونه
شماره مسئله | تامین کننده | مرکز تولید/ مرکزجداسازی- بازسازی |
پیمانکارخارجی |