نحوه نمایش جواب مسئله در الگوریتم شبیه سازی تبرید پیشنهادی مشابه ساختار جوابی است که برای الگوریتم ژنتیک ارائه شد.
پایان نامه - مقاله - پروژه
ساختار همسایگی
پس از تولید جواب اولیه شدنی که به صورت کاملاً تصادفی ایجاد می شود، باید در فضای شدنی مسئله اقدام به تولید جواب های همسایه نمود. در الگوریتم شبیه سازی تبرید، مکانیزم تولید همسایگی از اهمیت زیادی برخوردار است. طبق برخی نتایج همگرایی اولیه، همسایگی ها باید یکنواخت و متقارن باشند. بنابراین همه جواب ها تعداد یکسانی همسایه دارند و اگر جواب  همسایه جواب  باشد، جواب  نیز همسایه جواب  است. اما بعدها تحقیقات نشان داد که شرط ضعیف تری برای اثبات همگرایی کافی است و تنها لازم است هر جواب از جواب دیگری قابل دسترسی باشد. به علاوه، به منظور استفاده مؤثرتر از زمان محاسباتی لازم است که ساختار همسایگی به گونه ای انتخاب شود که تا حد ممکن سریع و کارآمد باشد. در این مساله نحوه ایجاد ساختار همسایگی بدین صورت است که یک ماتریس تصادفی با ابعاد ماتریس انتقال تولیدکننگان به توزیع کنندگان ایجاد میکنیم که درایه های آن اعداد تصادفی با توزیع نرمال ) N( 0, 0.01 پیروی میکنند.
روند کلی الگوریتم
الگوریتم شبیه سازی تبرید با یک دمای اولیه بالا شروع می کند و به طور تصادفی جواب اولیه  را انتخاب می نماید. مقدار اولیه  به عنوان یک پارامتر کنترلی دما عمل می کند. سپس جواب جدید  در همسایگی جواب موجود  در هر تکرار تولید می شود. در مسئله کمینه سازی در دست، اگر مقدار تابع هدف جواب جدید،  ، کمتر یا مساوی مقدار تابع هدف جواب موجود،  ، باشد، جواب جدید پذیرفته می شود. در غیر این صورت، الگوریتم از شاخص پذیرش متروپلیس به منظور تعیین احتمال پذیرش جواب جدید استفاده می نماید [۹۳]. این احتمال مطابق رابطه زیر محاسبه می گردد:
۲۲ – ۳  Probability =
اگر این احتمال از یک عدد تصادفی یکنواخت بین (۱ و ۰) بیشتر باشد جواب نامناسب هم پذیرفته می شود و این امر سبب می گردد که الگوریتم از نقاط بهینه محلی عبور نماید. پس از رسیدن به حداکثر تعداد تکرارها در هر دما، با بهره گرفتن از رابطه قبل دما کاهش می یابد و این فرایند تار سیدن به معیار توقف تکرار می شود.
شرط توقف
الگوریتم شبیه سازی تبرید می تواند با رسیدن به حالت انجماد متوقف شود. در این حالت، جواب های به دست آمده در هر دما، با تغییرات بیشتر دما بهبود چندانی پیدا نمی کنند. به منظور تعیین حالت انجماد باید تعدادی تغییر دمای اضافی صورت گیرد که مستلزم صرف زمان اضافی است و زمان اجرای الگوریتم را افزایش خواهد داد. رسیدن به یک دمای نهایی از پیش تعیین شده یا رسیدن به حد مطلوبی از جواب نیز می توان به عنوان شرط توقف الگوریتم در نظر گرفته شود. در این تحقیق، معیار توقف، رسیدن به یک دمای نهایی از پیش تعیین شده است. شبه کد الگوریتم شبیه‌سازی تبرید در شکل زیر نشان داده شده است.
شکل ۳-۲۳ شبه کد الگوریتم شبیه سازی تبرید [۱۰]
۳-۶-۳-۱۴٫ معیار توقف[۹۹] :
تکنیک استانداردی برای شرایط توقف الگوریتمهای بهینه سازی چند هدفه وجود ندارد.در این پژوهش وقتی الگوریتم متوقف میشود که به ماکزیمم تکرار[۱۰۰] یا همان تعداد نسل از پیش تعریف شده است.
۳-۶-۳-۱۵٫عملیات بایگانی :
روش کار بدین صورت است که تمام جواب های ایجاد شده روی لبه اول را بایگانی میکنیم . بنابراین پس از اتمام تکرار های الگوریتم یک بایگانی از تمام جواب های روی لبه اول هر تکرار داریم . در نهایت جواب های موجود در قسمت بایگانی را لبه بندی میکنیم و لبه اول این آرشیو به عنوان جواب نهایی انتخاب میشود.
۳-۷ . روش های اندازه گیری عملکرد الگوریتم های چند هدفه:
یکی از مشکلات که در حل مسائل چندهدفه وجود دارد چگونگی ارزیابی کیفیت حل‌‌های نهایی است که بدلیل تناقض اهداف بکار رفته گاهاً امری پیچیده خواهد بود. به این منظور و در اوایل دهه ۹۰ میلادی از روش‌های دیداری (مشاهده‌ای) برای مقایسه مجموعه‌‌های پارتو استفاده می‌کردند. بدیهی است این روش‌ها دارای دو مشکل اساسی بودند، اولاً اینکه ما در مقایسات علمی نیازمند مبنایی قابل اندازه‌گیری و کمّی بودیم و صرف اظهار نظر کیفی اشخاص نمی‌توانست محکی مناسب در اندازه‌گیری کارایی الگوریتم‌ها باشد. ثانیاً مشکل اساسی دیگر این روش‌ها در مقایسه مجموعه‌‌های پارتو این بود که فقط برای حداکثر مسأله ۳ هدفه کاربرد داشتند. به این دلیل که امکان ترسیم فضای بیشتر از سه بعد در جهت مقایسه مجموعه جواب‌ها وجود نداشت. تمام این مشکلات باعث شد تا پژوهشگران به فکر بیافتند تا روش‌های منطقی، جامع و مناسب را به این منظور ارائه نمایند.
همانطور که قبلاً گفته شد در مسائل تک هدفه، در پایان اجرای الگوریتم‌ها حلی را با توجه به نوع هدف (ماکزیمم یا مینیمم) به عنوان بهترین حل انتخاب می‌شود و در این حالی است که در مسائل چندهدفه در پایان‌ حل، مجموعه‌ای از جواب‌ها ایجاد می‌شوند که بایستی با توجه به این مجموعه از حلها راجع به عملکرد الگوریتم اظهارنظر شود. این روشها از این جهت مهم هستند که به پژوهشگر کمک می‌کنند تا عملکرد الگوریتم‌‌های مورد بررسی را با روشی کمّی ارزیابی و انحرافات الگوریتم را مدیریت نمایند.
در این مطالعه از پنج معیار عملکردی که در ادامه توضیح داده خواهد شد استفاده شده است تا در فصل نتایج آماری از آنها در جهت مقایسه الگوریتم‌های تکاملی چند هدفه استفاده شود.
تعداد حل های غیر مغلوب (N)
تعداد حل های غیر مغلوب به عنوان یک معیار عملکردی جهت سنجش کارایی الگوریتم ها نشان دهنده تعداد آلترناتیو هایی است که می توان برای انتخاب به تصمیم گیرنده ارائه نمود. در واقع هرچه تعداد این حل ها بیشتر باشد، عملکرد الگوریتم بهتر است.
فاصله از نقطه ایده‌آل[۱۰۱] (MID)
این معیار سنجشی از نزدیکی جواب های پارتو به نقطه ایده آل (۰و۰) ارائه می کند. هرچه مقدار این فاصله کمتر باشد کیفیت جواب ها بهتر خواهد بود. با توجه به مطالب گفته شده نحوه محاسبه عملکرد مجموعه جواب‌های پارتو بصورت رابطه زیر خواهد بود.
(۳-۲۳)
در این رابطه که n تعداد جواب های غیر مغلوب بدست آمده است و ci فاصله اقلیدسی بین هر عضو از مجموعه از مبداء مختصات بوده که از رابطه  بدست می‌آید. در این رابطه منظور از fki مقدار امین تابع هدف در بردار جواب پارتو ام است. بدیهی است که برای مجموعه‌‌های مورد مقایسه هر چقدر که این مقدار کوچکتر باشد مطلوبیت آن مجموعه بیشتر خواهد بود.
گستردگی جواب های غیر مغلوب[۱۰۲] (SNS)
هرچه مقدار این معیار بزرگتر باشد، جواب های بدست آمده از پراکندگی بیشتری برخوردارند. این معیار از رابطه زیر بدست می آید:
(۳-۲۴)
معیار پراکندگی[۱۰۳] (D)
این معیار نیز همانند SNS پراکندگی جواب های غیر مغلوب نهایی را به صورت زیر محاسبه می کند:
(۳-۲۵)
منطقه زیر پوشش دو مجموعه [۱۰۴] (SC)
معیار منطقه زیر پوشش دو مجموعه (SC) منطقه زیر پوشش دو مجموعه را مقایسه می‌کند و خروجی آن نشان‌‌دهنده درصد حلهایی از یک مجموعه پارتو است که بر حل‌های مجموعه دیگر غالب است. مقدار این معیار از رابطه زیر بدست می‌آید.
(۳-۲۶)
که در اِین رابطه دو مجموعه از بردار‌های متغیر تصمیم متعلق به فضای مسأله با  و  نمایش داده شده است. در این رابطه اگر SC=1 شود به این مفهوم است که  بر  غالب است و تمام حل های بدست آمده  مغلوب جواب های  می شوند.
امّا بحث مهمّی که در اینجا وجود دارد این است که کدام روش اندازه‌گیری روش مناسب‌تری است و برای پاسخ به این سوأل ابتدا بایستی مشخص شود که از نظر تصمیم‌گیرنده چه ملاکهایی در مقایسه الگوریتم‌ها مهمتر بوده و ثانیاً نقاط قوت و ضعف هر روش ارزیابی چیست تا بتوان در جای مناسب از آن استفاده نمود. به عنوان مثال اگر هدف تصمیم‌گیرنده داشتن تعداد حل‌های بیشتر در مجموعه پارتو باشد معیار‌‌های تعداد نقاط پارتو روش مناسب‌تری نسبت به سایر روشها است. امّا اگر هدف تصمیم‌گیرنده بهتر بودن هر یک از حل‌های در پارتو نسبت به الگوریتم‌‌های دیگر باشد روش منطقه زیر پوشش دو مجموعه مناسب‌تر بنظر می‌رسد زیرا هر حل از یک الگوریتم با حل‌های الگوریتم‌‌های دیگر نظیر به نظیر مقایسه می‌شود. اگر هدف تصمیم‌گیرنده داشتن حلهایی در پارتو با تمرکز بیشتر و نزدیک‌تر به نقطه مبدأ باشد روش پیشنهادی فاصله از نقطه ایده‌آل مناسب‌تر است و در نهایت اگر هدف تصمیم گیرنده تنها رسیدن به جواب هایی با پراکندگی بالا باشد، استفاده از دو معیار SNS و D پیشنهاد می شود.
پس همچنان که می‌بینیم نتایجی که هر یک از این روشها بدست می‌آید لزوماً یکسان نبوده و نتایج بر اساس مفاهیم خاص هر روش بدست آمده و صرفا تک بعدی به مقایسه جواب ها می پردازد اما در بین این معیار ها منطقه زیر پوشش دو مجموعه سنجشی جامع از جواب های دو الگوریتم مورد مقایسه ارائه می نماید.
فصل چهارم
محاسبات و یافته های تحقیق
۴-۱ . مقدمه :
بطور کلی برای حل مسایل بهینه سازی دو روش دقیق و فراابتکاری مورد استفاده میگیرد . روش های دقیقی که در حل مسایل مورد استفاده میگیرند مثل روش شاخه و کران ، برنامه ریزی پویا و … و از الگوریتم های فرا ابتکاری نیز میتوان به الگوریتم ژنتیک ، جست و جوی ممنوع ، الگوریتم شبیه سازی تبرید و … اشاره کرد . از انجایی که بسیاری از مسائل بهینه سازی NP-Hard هستند، بنابراین حل به روش های دقیق برای چنین مسایلی در ابعاد بزرگ در یک زمان معقول غیر ممکن بوده و در نتیجه استفاده از روش های فرا ابتکاری در این موارد مناسب می باشد. در حقیقت الگوریتم های فرا ابتکاری برای زمانی که محدودیت زمانی وجود دارد و استفاده از روش های حل دقیق میسر نباشد و یا پیچیدگی مسائل بهینه سازی زیاد باشد، مناسب هستند.
مدل ارائه شده در ابعاد کوچک و بزرگ حل و مورد بررسی قرار گرفت .برای حل مساله در ابعاد کوچک از روش دقیق محدودیت اپسیلون استفاده شد . ۸ مساله کوچک با پارامتر های مختلف توسط این روش حل ومورد بررسی قرار گرفت .برای مسایل با ابعاد بزرگ از الگوریتم فراابتکاری NSGA II استفاده و برای پیدا کردن همسایگی جواب ها و جلو گیری از مواجه با بهینه محلی از الگوریتم شبیه سازی تبرید استفاده شد . برای اطمینان از کارایی الگوریتم NSGA II مسایل کوچک حل شده با روش دقیق نیز با این الگوریتم حل و خروجی های آن با روش دقیق محدودیت اپسیلون مورد مقایسه قرار گرفت .پس از اطمینان از کارایی الگوریتم فراابتکاری ۵ مساله در ابعاد بزرگ که در ادبیات توسط پنگ پنگ[۱۰۰] مورد بررسی قرار گرفته بود با این الگوریتم حل شد که نتایج آن در این بخش مورد بررسی قرار میگیرد .
۴-۲ . نتایج مسایل طراحی شده :
برای حل مدل و تحلیل نتایج از یک نوت بوک با ۴ گیگا بایت حافظه، و پردازشگر dual core استفاده شده است. همچنین مساله با ابعاد کوچک توسط نرم افزار GAMS و برای ابعاد بزرگ مساله در نرم افزار متلب ورژن ۲۰۱۰ کد شده است .
در مسایل آزمایشی طراحی شده جهت تحلیل نتایج سیاست های زیر اتخاذ شده است .
هزینه ثابت احداث تسهیلات تولید کنندگان و توزیع کنندگان به ترتیب از توزیع یکنواخت (۱۸۰۰۰۰,۱۰۰۰۰۰) و (۵۲۰۰۰۰,۱۲۰۰۰۰) پیروی میکند .
حد اکثرعرضه تولید کنندگان و ظرفیت مراکز توزیع به ترتیب از توزیع یکنواخت (۲۰۰۰,۵۰۰) و (۴۰۰۰,۱۵۰۰) پیروی میکند .
تقاضای مشتریان در نقاط مختلف بازار از توزیع یکنواخت (۴۵۰,۲۰۰) پیروی میکند .
درصد اختلال احتمالی تولیدکنندگان و توزیع کنندگان از توزیع یکنواخت (۱,۰) پیروی میکند .
حداکثر بودجه پشتیبان برای تولیدکنندگان و توزیع کنندگان به ترتیب از توزیع یکنواخت (۳۰۰۰,۱۰۰۰) و (۱۵۰۰,۷۵۰۰) پیروی میکند .
هزینه هر واحد زمانی برون سپاری برای تولید کننگان و توزیع کنندگان به ترتیب از توزیع یکنواخت (۱۰,۲۰) و (۱۰,۳۰) پیروی میکند .

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


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