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

 

(۴-۱)  

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

 

(۴-۲)  

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

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


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