تأمین­کننده دوم محصولات ۱، ۳، ۴ و ۶ را عرضه می­ کند.
مطابق بخش­های دوم و چهارم، در بارانداز میانی اول محصولات ۳ و ۲ در یک گروه قرار داده شده و توسط اولین وسیله نقلیه خروجی به ترتیب به خرده فروش­های ۲ و ۱ تحویل داده می­شوند. محصول ۱ توسط دومین وسیله نقلیه خروجی موجود در این بارانداز میانی به خرده فروش ۱ تحویل داده می­ شود. به طور مشابه، در بارانداز میانی دوم، محصولات ۴-۶ در یک گروه قرار داده شده و توسط دومین وسیله نقلیه موجود در این بارانداز میانی به خرده فروش­ها تحویل داده می­شوند.
بر اساس بخش­های یک تا چهار، اولین وسیله نقلیه ورودی موجود در مکان تأمین­کننده ۱ پس از تحویل دادن محصول ۲ به بارانداز میانی اول، محصول ۵ را به بارانداز میانی دوم تحویل داده و به مکان این تأمین­کننده بر می­گردد. همچنین، اولین وسیله نقلیه ورودی موجود در مکان تأمین­کننده دوم پس از تحویل محصول ۱ به بارانداز میانی اول به مکان این تأمین­کننده بر می­گردد. علاوه بر این، دومین وسیله نقلیه موجود در مکان تأمین­کننده دوم ابتدا محصول ۳ را به بارانداز میانی اول سپس، محصولات ۴ و ۶ را به بارانداز میانی دوم تحویل داده و به مکان این تأمین­کننده بر می­گردد.
مطابق بخش­های دو و چهار، اولین وسیله نقلیه خروجی مربوط به بارانداز میانی اول به ترتیب پس از ملاقات خرده فروش­های ۲ و ۱ به بارانداز میانی اول بر می­گردد. دومین وسیله نقلیه خروجی این بارانداز میانی پس از ملاقات خرده فروش ۱ به این بارانداز میانی بر می­گردد. همچنین، دومین وسیله نقلیه موجود در بارانداز میانی دوم به ترتیب پس از ملاقات خرده فروش­های ۲ و ۳ به بارانداز میانی دوم بر می­گردد.
علاوه بر این مطابق بخش ۵، اولین وسیله نقلیه ورودی موجود در مکان تأمین­کننده ۱ پس از گذشت ۵۰ دقیقه از مبدا زمان شروع به حرکت می­ کند. همچنین، زمان شروع حرکت اولین و دومین وسیله نقلیه موجود در مکان تأمین­کننده دوم به ترتیب پس از گذشت ۸۰ و ۲۵۰ دقیقه از مبدا زمان است.
از آن­جایی که در نسل اول وجود جمعیتی از کروموزوم­ها ضروری می­باشد، یک جمعیت از کروموزوم­ها به طور تصادفی تولید و به عنوان جمعیت اول در نظر گرفته می­شوند. اما، با توجه به ساختار مورد استفاده در الگوریتم ارائه شده، تضمینی در مورد موجه[۶۹] بودن کلیه جواب­های تولید شده در ارتباط با محدودیت­های (۳-۶۲) تا (۳-۶۴)، (۳-۷۲) و (۳-۷۵) وجود ندارد. از این رو،
کروموزوم­های تولید شده در جمعیت اول و همچنین فرزندان تولید شده به وسیله عملگرهای ژنتیک ممکن است غیر موجه (نشدنی) باشند. از طرف دیگر به دلیل وجود محدودیت­های زیاد در مسأله مورد بررسی، مجاز دانستن کروموزوم­های غیرموجه در جمعیت ممکن است باعث دستیابی به
جواب­های با کیفیت بالا از طریق جستجو در فضای نشدنی شود. بنابراین وجود کروموزوم­های غیرموجه در جمیعت مجاز بوده و به منظور جبران نقض محدودیت­های فوق از یک سری توابع جریمه استفاده می­ شود.

(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))

۳-۸-۲- ارزیابی میزان برازندگی کروموزوم­ها

با توجه به تطابق فرایند جستجو توسط الگوریتم ژنتیک با فرایند تکامل طبیعی و از آن­جایی که در فرایند تکامل طبیعی اشخاص (کروموزوم­های) برتر دارای شانس بیشتری برای بقا در نسل­های بعدی هستند در الگوریتم ژنتیک نیز کروموزوم­های برتر شانس بیشتری برای بقا دارند. از این رو در الگوریتم ژنتیک برای محاسبه میزان برازندگی (شایستگی) کروموزوم­ها از یک تابع برازندگی (معمولا تابع هدف مسأله) استفاده می­ شود. در الگوریتم توسعه داده شده در این تحقیق به دلیل مجاز بودن کوروموزم­های غیرموجه در جمعیت، تابع برازندگی علاوه بر تابع هدف مسأله (معادله (۳-۴۷)) توابع دیگری را به منظور محاسبه میزان درجه غیرموجه بودن کوروموزوم­ها شامل می­ شود. بنابراین برای یک کوروموزوم ch تابع برازندگی (تابع هزینه تعمیم­یافته) بر طبق معادله (۳-۷۷) محاسبه می­ شود.
(۳-۷۷)
در معادله (۳-۷۷) Z(ch) نشان­دهنده مقدار تابع هدف برای کوروموزوم ch و B1(ch) تا B4(ch) و B5(ch) به ترتیب بیانگر عبارات جریمه برای محدودیت­های ظرفیت و پنجره زمانی هستند. همچنین از αj ها که معرف ضرایب جریمه هستند به عنوان ابزاری موثر به منظور شاخص­تر کردن اثر جریمه­ها در تابع برازندگی استفاده می­ شود.
عبارت جریمه مربوط به نقض محدودیت­های ظرفیت وسایل نقلیه ورودی (۳-۶۲) به صورت زیر محاسبه می­ شود:
(۳-۷۸)
و برای نقض محدودیت­های (۳-۶۳) مربوط به ظرفیت وسایل نقلیه خروجی بر طبق معادله
(۳-۷۹)
(۳-۷۹)
و برای نقض محدودیت­های (۳-۶۴) مربوط به ظرفیت تأمین­کنندگان به منظور عرضه محصولات مختلف بر طبق معادله (۳-۸۰)
(۳-۸۰)
و برای نقض محدودیت­های (۳-۷۲) مربوط به ظرفیت محوطه نگهداری باراندازهای میانی بر طبق معادله
(۳-۸۱)
محاسبه می­شوند. در معادله (۳-۸۱)، τ فقط شامل زمان­های ورود محصولات به باراندازهای میانی می­ شود. بنابراین در صورت نقض ظرفیت محوطه نگهداری یک بارانداز میانی، میزان جریمه مستقل از طول زمانی است که ظرفیت بارانداز میانی نقض می­ شود و فقط به تعداد دفعات نقض ظرفیت بستگی دارد. در نهایت میزان جریمه مربوط به نقض محدودیت­های پنجره زمانی (۳-۷۵) (اتمام عملیات استراتژی فرابارانداز در طول افق برنامه­ ریزی) مطابق با معادله (۳-۸۲) محاسبه می­ شود.
(۳-
۸۲)

۳-۸-۳- عملگر انتخاب

مطابق با فرایند تکامل طبیعی، در الگوریتم ژنتیک نیز در هر نسل مجموعه ­ای از کروموزوم­ها به منظور تولید فرزندان انتخاب می­شوند. در الگوریتم ژنتیک از عملگر انتخاب به منظور انتخاب والدین استفاده می­ شود. مهمترین نقش عملگر انتخاب را می­توان در ایجاد تفاوت بین کوروموزوم­های موجود در هر نسل بیان کرد به گونه ­ای که کروموزوم­های با کیفیت بالاتر (شایسته­تر) شانس بیشتری به منظور تولید فرزندان داشته باشند. این کار باعث انتقال خصوصیات خوب موجود در والدین و تکامل این خصوصیات می­ شود. با این وجود به منظور ایجاد تنوع در جمعیت و جستجوی مناطق بیشتری از فضای جواب، عملگر انتخاب باید به نحوی طراحی شود که کروموزوم­های با کیفیت پایین (از لحاظ برازندگی) نیز دارای شانس انتخاب باشند.
با توجه به توضیحات فوق، در این تحقیق از روش انتخاب چرخ رولت[۷۰] به عنوان یک روش متناسب با برازندگی کروموزوم­ها (کروموزوم­های برازنده­تر شانس بیشتری برای انتخاب دارند) به منظور انتخاب والدین استفاده می­ شود. بنابراین با بهره گرفتن از روش چرخ رولت و برابر با اندازه جمعیت[۷۱]، والد انتخاب شده (تعداد فرزندان تولید شده برابر با اندازه جمعیت هستند) و سپس با بهره گرفتن از عملگرهای همگذری و جهش فرزندان تولید می­شوند. ساختار کلی مکانیزم چرخ رولت به صورت زیر می­باشد:
گام۱) کم کردن مقدار تابع برازندگی (تابع هزینه تعمیم­یافته) هر کروموزوم از بدترین مقدار تابع برازندگی موجود در جمعیت (GZmax):
(۳-۸۳)
گام۲) محاسبه مقدار احتمال تجمعی هر کروموزوم:
(۳-۸۴)
گام۳) تولید کردن یک عدد تصادفی بین صفر و یک و انتخاب کروموزوم ch در صورتی که:
(۳-۸۵)
همچنین در انتخاب کروموزوم­های نسل بعد از یک عملگر انتخاب ترکیبی شامل استراتژی
نخبه­گرایی[۷۲] (قابل ذکر است که در این استراتژی کروموزوم­های نخبه انتخاب می­شوند) و روش چرخ رولت توضیح داده شده در بالا استفاده می­ شود. بدین نحو که نخست درصدی از جواب­های نخبه به وسیله استراتژی نخبه­گرایی و مابقی جمعیت به وسیله روش چرخ رولت انتخاب می­شوند.

۳-۷-۴- عملگر همگذری

عملگر همگذری به وسیله ادغام ژن­های والدین و به منظور ایجاد تنوع در جمعیت و جستجوی مناطق جستجو نشده فضای جواب بر روی جفت والدهای انتخاب شده مطابق با احتمال همگذری اعمال می­ شود.
در این تحقیق از یک عملگر همگذری ترکیبی متشکل از عملگر همگذری یک نقطه[۷۳] به منظور اعمال بر بخش­های یک و دو، عملگر همگذری ترتیبی[۷۴] به منظور اعمال بر بخش­های سه و چهار به طور جداگانه و عملگر همگذری حسابی کلی[۷۵] به منظور اعمال بر بخش­ پنج استفاده می­ شود. قابل ذکر است که نتایج تجربی حاکی از این است که اعمال هر سه عملگر همگذری بر روی والدین موجب کاهش سرعت همگرایی الگوریتم می­ شود. ساختار کلی این عملگر همگذری به شرح زیر است:
گام۱) یک عدد تصادفی در بازه صفر و یک تولید کنید. چنانچه عدد تولید شده کوچکتر یا مساوی ۵/۰ است گام ۲ و در غیر این صورت گام ۳ را اجرا کنید.
گام۲) عملگر همگذری یک نقطه را بر روی بخش­های اول و دوم و عملگر همگذری حسابی کلی را بر روی بخش پنجم والدین اجرا کنید.
گام۳) عملگر همگذری ترتیبی را به طور جداگانه بر روی بخش­های سه و چهار والدین اجرا کنید.

۳-۷-۵- عملگر جهش

عملگر جهش با تغییر دادن مقدار (ارزش) ژن­های انتخاب شده و به منظور ایجاد تنوع در جمعیت بر روی فرزندان تولید شده مطابق با احتمال جهش اعمال می­ شود. هدف این عملگر را می­توان کمک به فرایند جستجو به منظور خارج شدن از نقاط بهینه محلی[۷۶] بیان کرد.
در الگوریتم ارائه شده از عملگرهای جهش تعویض[۷۷] و تغییر آهسته[۷۸] استفاده می­ شود. عملگر جهش تعویض بر روی چهار بخش اول به طور جداگانه و عملگر تغییر آهسته بر روی بخش پنجم کروموزوم اعمال می­شوند. ساختار کلی عملگر جهش مورد استفاده به صورت زیر است:
گام۱) یک عدد تصادفی در بازه صفر و یک تولید کنید.
گام۲) چنانچه عدد تولید شده کوچکتر یا مساوی ۵/۰ است، مراحل زیر و در غیر این صورت گام ۳ را اجرا کنید.
۱٫۲٫ عملگر جهش را بر روی دو بخش اول کروموزوم به طور جداگانه اعمال کنید.
۲٫۲٫ به ازای هر یک از ژن­های بخش پنج یک عدد تصادفی در بازه صفر و یک تولید کنید. چنانچه عدد تولید شده کوچکتر یا مساوی ۰۵/۰ است، دو عدد تصادفی α و β را در بازه صفر و یک تولید کنید. اگر مقدار α کوچکتر یا مساوی ۵/۰ است، β درصد از مقدار فعلی ژن انتخاب شده را به مقدار فعلی اضافه و در غیر این صورت β درصد از مقدار فعلی ژن انتخاب شده را از مقدار فعلی کم کنید.
گام۳) عملگر جهش تعویض را بر روی بخش­های سه و چهار به طور جداگانه اعمال کنید.

۳-۷-۶- نحوه اصلاح کروموزوم­های نامعتبر

با توجه به ساختار کروموزوم، مشخص است که مجموع مقدار ژن­های مربوط به بخش­ اول و همچنین بخش دوم یک کروموزوم باید برابر با مجموع کل محص
ولات سفارش داده شده به وسیله

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...