گوتیرز و همکاران [۳۲]
۲۰۰۴
بکارگیری برنامه ریزی پویا و روش انشعاب و تحدید چندهدفه
تی سو [۲]
۲۰۰۹
دو نوع بهینهساز تکاملی
یانگ و همکاران [۱]
۲۰۱۲
الگوریتم فراابتکاری ژنتیک
موسوی و همکاران [۳۳]
۲۰۱۳
استفاده از الگوریتمهای فراابتکاری ژنتیک و شبیهسازی تبریدی برای حل مدل ریاضی آمیخته دودویی در یک مسئله چند محصولی
ساراجاوغلو و همکاران [۳۴]
۲۰۱۴
استفاده از الگوریتمهای فراابتکاری ژنتیک برای حل مدل ریاضی خطی عدد صحیح در یک مسئله چندمحصولی
پیشینه روشهای فراابتکاری استفاده شده
الگوریتم ژنتیک چندهدفه با مرتب سازی نامغلوب
الگوریتم ژنتیک الهامی از علم ژنتیک و نظریه تکامل داروین است و بر اساس بقای برترینها یا انتخاب طبیعی استوار است. یک کاربرد متداول الگوریتم ژنتیک، استفاده به عنوان تابع بهینهکننده است. اگرچه کارهایی توسط یک زیستشناس به نام فریزر[۶۸] در زمینه مدلسازی تکامل در سیستمهای بیولوژیک در دهه شصت میلادی صورت گرفت، ولی الگوریتم ژنتیک برای کاربردهای مهندسی و به صورت امروزی آن نخستین بار توسط جان هالند[۶۹] متخصص علوم کامپیوتر دانشگاه میشیگان در سال ۱۹۷۵ پیشنهاد گردید. کار وی آغازی برای کاربرد الگوریتم ژنتیک در مهندسی است. پس از آن کارهای دی یانگ[۷۰] در سال ۱۹۷۵ در زمینه بررسی و مقایسه چندین روش الگوریتم ژنتیک پایه های نظری این بحث را فراهم آورد.
در الگوریتم ژنتیک جمعیتی از افراد طبق مطلوبیت آنها در محیط بقا مییابند. بنابراین بعد از چند نسل فرزندانی با کارایی بهتر بوجود میآیند. در این الگوریتم هر جواب به صورت یک کروموزوم معرفی می شود. کروموزومها در طول چندین نسل کاملتر میشوند. در هر نسل کروموزومها ارزیابی میشوند و متناسب با ارزش خود امکان بقا و تکثیر مییابند. تولید نسل در الگوریتم ژنتیک با عملگرهای تقاطع[۷۱] و جهش[۷۲] صورت میگیرد. والدین برتر بر اساس یک تابع برازندگی[۷۳] انتخاب میشوند. در هر مرحله از اجرای الگوریتم، یک دسته از نقاط فضای جستجو مورد پردازش تصادفی قرار میگیرند. به این صورت که به هر نقطه دنبالهای از کاراکترها نسبت داده می شود و بر روی این دنبالهها، عملگرهای ژنتیکی اعمال می شود. سپس دنبالههای بدست آمده رمزگشایی[۷۴] میگردند تا نقاط جدیدی در فضای جستجو بدست آید. در انتها بر اساس این که تابع هدف در هر یک از نقاط چه مقدار باشد، احتمال شرکت نمودن آنها در مرحله بعد تعیین میگردد.
اولین پیادهسازی الگوریتم ژنتیک چند هدفه واقعی (VEGA) توسط دیوید شافر[۷۵] در سال ۱۹۸۴ پیشنهاد شد. شافر سه عملگر الگوریتم ژنتیک (انتخاب، تقاطع و جهش) را با بهره گرفتن از چرخه انتخاب مستقل برای هر هدف اصلاح کرد. انتخاب برای هر هدف مجزا به منظور پر کردن بخشی از استخر جفتگیری تکرار می شود. سپس عملگرهای تقاطع و جهش در کل جمعیت به دست آمده به کار گرفته میشوند. تا یک دهه پس از کار شافر مطالعه مهمی در این زمینه صورت نگرفت تا زمانی که طرح ۱۰ خطی جدیدی توسط گلدبرگ[۷۶] با عنوان روش مرتبسازی غیرمغلوب پیشنهاد شد که از مفهوم غلبه به منظور رونوشت اعضا غیرمغلوب بیشتری در جمعیت استفاده میکرد. فونسکا و فلمینگ[۷۷] الگوریتم ژنتیک چندهدفه (MOGA) را که همه اعضای جمعیت غیرمغلوب به رتبه یک تخصیص داده میشدند، پیشنهاد دادند. دیگر اعضا با توجه به این که چند راه حل بر آنها غلبه می کنند، رتبه بندی میشدند.
سرینیواس و دب[۷۸]، الگوریتم ژنتیک با مرتب سازی غیرمغلوب (NSGA) را توسعه دادند. این الگوریتم در مسایل واقعی، گستردهای از جوابهای پارتو بهینه و یا نزدیک به بهینه را فراهم میکرد. برای غلبه بر مشکلاتی که در NSGA وجود داشت، دب و همکاران[۷۹] الگوریتم بهبود یافتهای با عنوان NSGAΙΙ را معرفی کردند [۳۵].
الگوریتم ﺑﻬﯿﻨﻪ ﺳﺎزی ازدحام ذرات چندهدفه
اوﻟﯿﻦ ﺑﺎر ﮐﻨﺪی و اﺑﺮﻫﺎرت[۸۰] ﭘﺲ از ﺷﺒﯿﻪﺳﺎزی رﻓﺘﺎر اﺟﺘﻤﺎﻋﯽ ﭘﺮﻧﺪﮔﺎن روش ﺑﻬﯿﻨﻪﺳﺎزی ﮔﺮوه ذرات را اراﺋﻪ دادند [۳۶]. در این روش، اﺟﺰای ﯾﮏ ﮔﺮوه از ﯾﮏ رﻓﺘﺎر ﺳﺎده ﺗﺒﻌﯿﺖ ﻣﯽﻧﻤﺎﯾﻨﺪ. ﺑﺪﯾﻦ ﻧﺤﻮ ﮐﻪ ﻫﺮ ﻋﻀﻮ از ﮔﺮوه از ﻣﻮﻓﻘﯿﺖ ﺳﺎﯾﺮ ﻫﻤﺴﺎﯾﮕﺎﻧﺸﺎن ﺗﻘﻠﯿﺪ ﻣﯽﻧﻤﺎﯾﺪ. ﻫﺪف از اﯾﻦ اﻟﮕﻮرﯾﺘﻢﻫﺎ اﯾﻦ اﺳﺖ ﮐﻪ اﻋﻀﺎی ﮔﺮوه در ﻓﻀﺎی ﺟﺴﺘﺠﻮ ﺣﺮﮐﺖ ﻧﻤﻮده و در ﯾﮏ ﻧﻘﻄﻪ ﺑﻬﯿﻨﻪ (ﻣﺎﻧﻨﺪ ﻣﻨﺒﻊ ﻏﺬا) ﺟﻤﻊ ﺷﻮﻧﺪ. مدل روش PSO رﯾﺸﻪ در ﮐﺎرﻫﺎی رینولدز[۸۱] دارد ﮐﻪ ﯾﮏ ﺷﺒﯿﻪﺳﺎزی اﺑﺘﺪاﯾﯽ از رﻓﺘﺎر اﺟﺘﻤﺎﻋﯽ ﭘﺮﻧﺪﮔﺎن اﺳﺖ. در اﯾﻦ مدل رﻓﺘﺎرﻫﺎی ﺳﺎده ﭘﯿﺪا ﮐﺮدن ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻫﻤﺴﺎﯾﻪﻫﺎ (ﺗﻨﻈﯿﻢ ﺳﺮﻋﺖﻫﺎ) ﭘﯿﺎده ﺷﺪه اﺳﺖ. اﯾﻦ ﻣﺪل ﭘﺮﻧﺪﮔﺎن ﺑﻪ ﺻﻮرت ﺗﺼﺎدﻓﯽ در ﯾﮏ ﻓﻀﺎی ﺟﺴﺘﺠﻮی ﺟﺪول ﭘﯿﮑﺴﻠﯽ ﻗﺮار داده ﻣﯽﺷﻮﻧﺪ و در ﻫﺮ ﺗﮑﺮار ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻫﻤﺴﺎﯾﻪ ذره اﻧﺘﺨﺎب ﺷﺪه و ﺳﺮﻋﺖ ذره ﺑﺎ ﺳﺮﻋﺖ ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻫﻤﺴﺎﯾﻪاش ﺟﺎﯾﮕﺰﯾﻦ ﻣﯽﺷﻮد. اﯾﻦ ﻋﻤﻞ ﺑﺎﻋﺚ ﻣﯽﮔﺮدد ﮐﻪ ﮔﺮوه ﺧﯿﻠﯽ ﺳﺮﯾﻊ ﺑﻪ ﯾﮏ ﺟﻬﺖ ﺣﺮﮐﺖ ﻧﺎﻣﻌﯿﻦ و ﺑﺪون ﺗﻐﯿﯿﺮ ﻫﻤﮕﺮا ﺷﻮﻧﺪ. ﺟﻬﺖ رﻓﻊ اﯾﻦ ﻣﺸﮑﻞ ﯾﮏ ﻣﻮﻟﻔﻪ دﯾﻮاﻧﮕﯽ ﺑﻪ ﺻﻮرت ﺗﻐﯿﯿﺮ ﺗﺼﺎدﻓﯽ در ﮔﺮوهﻫﺎ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ.
ﺑﻪ ﻣﻨﻈﻮر ﺗﻮﺳﻌﻪ ﺑﯿﺸﺘﺮ اﯾﻦ ﻣﺪل ﻣﻔﻬﻮم ﺳﺮدﺳﺘﻪ ﭘﺮﻧﺪﮔﺎن[۸۲] ﺑﻪ ﻣﺪل اﺿﺎﻓﻪ ﮔﺮدﯾﺪ ﮐﻪ ﺑﻪ ﺷﮑﻞ ﯾﮏ ﺣﺎﻓﻈﻪ از ﺑﻬﺘﺮﯾﻦ موقعیتهای ﻫﺮ ﻋﻀﻮ و ﻫﻤﺴﺎﯾﮕﺎن آن ﻋﻀﻮ ﺑﻮد. ﺑﻬﺘﺮﯾﻦ ﻣﻮﻗﻌﯿﺖ ﻗﺒﻠﯽ ﻫﺮ ﻋﻀﻮ ﺑﻬﺘﺮﯾﻦ ﻣﻮﻗﻌﯿﺘﯽ اﺳﺖ ﮐﻪ آن ﻋﻀﻮ از اﺑﺘﺪای ﺣﯿﺎت ﺧﻮد ﺗﺎ به حال ﮐﺴﺐ ﻧﻤﻮده اﺳﺖ. ﺑﻬﺘﺮﯾﻦ ﻣﻮﻗﻌﯿﺖ ﻫﻤﺴﺎﯾﮕﯽ ﺑﻬﺘﺮﯾﻦ ﻣﻮﻗﻌﯿﺘﯽ اﺳﺖ ﮐﻪ ﺗﻮﺳﻂ ﻫﻤﺴﺎﯾﮕﺎن ﯾﮏ ﻋﻀﻮ ﻣﻼﻗﺎت ﺷﺪه اﺳﺖ. اﯾﻦ دو ﺑﻬﺘﺮﯾﻦ ﻣﻮﻗﻌﯿﺖ ﺑﻪ ﻋﻨﻮان ﻧﻘﺎط ﺟﺬب ﻋﻤﻞ ﻣﯽﻧﻤﺎﯾﻨﺪ.
روش تحقیق
مقدمه
در این فصل، مدل ریاضی مسئله تحقیق، برای حالتهای یک هدفه و دو هدفه ارائه میگردد. با توجه به NP-hardبودن مسائل SWMR [20]، استفاده از الگوریتمهای فراابتکاری برای حل مسئله در ابعاد بزرگ پیشنهاد میگردد. بر این اساس، برای حل مسئله، الگوریتم ژنتیک با مرتبسازی نامغلوب[۸۳] و الگوریتم بهینهسازی ازدحام ذرات چند هدفه[۸۴] که عملکرد مناسبی در حل مسائل چندهدفه دارند، ارائه شده است. سپس معیارهایی که برای مقایسه عملکرد این دو الگوریتم به کار رفتهاند، معرفی شده اند.
مدل ریاضی مسئله
(شکل ۳.۱) زنجیره تأمین مورد مطالعه در این تحقیق را نمایش میدهد. زنجیره تأمین فوق متشکل از چند تأمینکننده، یک انبار و چند خردهفروش است. هر تأمینکننده یک نوع محصول را پشتیبانی می کند. انبار در این مدل یک انبار واسطهای (بارانداز) است.
انبار
شکل ۳.۱ شماتیک زنجیره تأمین مورد مطالعه.
پیش بینی تقاضای خردهفروشها برای دوره در افق برنامه ریزی موجود است. این پیش بینیها می تواند از یکی از رویکردهای کیفی و یا کمی به دست آید.
در مقادیر سفارش و مقادیر کالای ارسالی محدودیت وجود ندارد. به تمامی تقاضاها در ابتدای دوره پاسخ داده می شود. تقاضاهایی که با کمبود مواجه میشوند، در دوره های آتی پاسخ داده میشوند(تقاضای پسافت). هزینه نگهداری هر واحد کالا و هزینه کمبود هر واحد کالا در حالت تک هدفه معین است. هزینه حمل و نقل کالا از تأمینکننده تا انبار و از انبار تا خردهفروش شامل تخفیف کلی است که به فرم زیر فرموله میگردد:
نرخ هزینه حمل و نقل
تعداد قسمت های تابع هزینه حمل و نقل
نقاط شکست