فایل پایان نامه کارشناسی ارشد : طرح های پژوهشی و تحقیقاتی دانشگاه ها با موضوع : … – منابع مورد نیاز برای مقاله و پایان نامه : دانلود پژوهش های پیشین |
If then
and
}
}
الگوریتم ۴-۱ به گونه ای طراحی شده است که برای زمانبندی هر کار، زمان شروع آن کار را در اولین زمانی که تمام پیش نیازهای آن انجام شده اند و شرط محدودیت منابع را نقض نمی کند، زمانبندی کند که همان طرح تولید زمانبندی سری است. بنابراین، یک ساختار جواب به صورت تعریف شده در اینجا، تنها زمانی می تواند نشدنی باشد که شرط پیشنیازی و پس نیازی را نقض کند که در این صورت، یک مقدار بزرگ، به مقدار تابع هدف آن اختصاص مییابد، تا در مراحل بعدی اصلاح شود. در نمایش جواب از روش نمایش جواب بر اساس لیست فعالیتها استفاده می شود.
( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
۴-۱-۲)جمعیت اولیه
الگوریتمهای ابتکاری و فراابتکاری با یک یا چند جواب اولیه آغاز میشوند و سپس در طول اجرای الگوریتم این جوابها بهبود می یابند، تا در نهایت یکی از جواب های تولید شده در طول اجرای الگوریتم که بهترین تابع هدف را دارند به عنوان بهترین جواب الگوریتم انتخاب شود. جواب اولیه هر الگوریتم ممکن است نشدنی باشد. در صورتی که جواب اولیه نشدنی باشد، الگوریتم های فراابتکاری معمولا با تخصیص عددی بزرگ برای تابع هدف، سعی می کنند به جواب های شدنی که تابع هدف کوچکتری(برای مسائل مینیمم سازی) دارند دست یابند. یک جواب اولیه خوب، می تواند در سرعت بخشیدن به الگوریتم کمک بسیار بزرگی انجام دهد. در الگوریتمهای جستجوی محلی، که هر جواب از جوابی در مجاورت آن بدست می آید، یک جواب اولیه می تواند حتی در همگرایی یا عدم همگرایی الگوریتم تاثیر داشته باشد.
الگوریتم ASO نیز مانند الگوریتمهای فراابتکاری دیگر مبتنی بر جمعیت با چند جواب اولیه که یک جمعیت نامیده میشوند، شروع می شود و سپس در طول اجرای الگوریتم سعی می شود این جوابها بهبود یابند. در الگوریتم طراحی شده، با توجه به ساختار جواب تعریف شده در بخش قبل، جواب اولیه طوری بدست می آید که شدنی باشد. ابتدا کار مجازی صفر، در اولین خانه ساختار جواب قرار میگیرد. سپس در هر مرحله، کارهایی که تمام پیشنیازهای آنها، قبلا در ساختار جواب جایگذاری شده اند، مشخص میشوند. یکی از این کارها، به تصادف انتخاب می شود و در آخرین خانه ساختار جواب که پر نشده است، جایگذاری می شود. در نهایت کار مجازی در آخرین خانه ساختار جواب قرار میگیرد. در صورتی که شبکه پیشنیازی پیوسته باشد، در هر مرحله از تولید جواب اولیه، حداقل یک کار وجود دارد که تمام پیشنیازهای آن انجام شده اند.
جواب اولیهای که با بهره گرفتن از روند بالا بدست می آید، دو خصوصیت مهم دارد که در ادامه روند الگوریتم بسیار می تواند مفید باشد. این خصوصیات عبارتند از:
-
- جواب اولیه بدست آمده، شدنی است: در بخش قبل گفته شد، یک ساختار جواب تعریف شده تنها در صورتی نشدنی است که شرطهای پیشنیازی و پس نیازی را نقض کند، اما نحوه تولید جواب اولیه در الگوریتم طراحی شده به گونه ای است که این شروط، به هیچ عنوان نقض نمیشوند.
-
- تولید جواب شدنی به صورت تصادفی است: در توضیح روند کلی الگوریتم ASO گفته شد، در هر مرحله، به هر یک از جوابها با توجه به مقدار تابع هدف خود، نسبت به سایر اعضای جمعیت، عددی به عنوان نسبت داده می شود که این عدد، تنها در صورتی معنا پیدا می کند که مقدار تابع هدف برای اعضای جمعیت با هم فرق داشته باشند. بنابراین در صورتی که تمام جمعیت جواب اولیه، یکسان باشند، بی معنی می شود و همچنین جوابهای بهترین هر نسل و بهترین کل نیز با این جوابها برابر خواهند بود، که در ادامه کار الگوریتم مشکل ساز خواهند بود. در هر مرحله از تولید جواب اولیه، یکی از کارهایی که تمام پیشنیاز های آنها قبلا زمانبندی شده اند به صورت تصادفی انتخاب می شود، که این روند انتخاب تصادفی باعث متمایز گشتن جوابهای اولیه در جمعیت اولیه میشوند.روش بدست آوردن جواب اولیه بر اساس روش ابتکاری سری با قانون اولویت تصادفی بوجود می آید.
۴-۱-۳)فرایند برنامه ریزی برای حرکت هر عضو جامعه
در هر مرحله از الگوریتم ASO برای هر یک از اعضای جامعه، با توجه به موقعیت فعلی آن عضو، موقعیت گذشته آن و همچنین موقعیت آن عضو نسبت به سایر اعضای جامعه سیاستهای متمایزی برای ایجاد یک همسایه جدید برای آن عضو اتخاذ می شود. برای انتخاب سیاست مناسب با موقعیت فعلی هر عضو پارامتر ، برای انتخاب سیاست مناسب برای موقعیت عضو نسبت به سایر اعضای جامعه پارامتر و برای انتخاب سیاست مناسب با توجه به گذشته آن عضو پارامتر محاسبه میشوند. سپس با توجه به مقادیر این پارامترها سیاستهای متمایزی اتخاذ می شود که در ادامه به توضیح آنها پرداخته می شود.
۴-۱-۳-۱)انتخاب سیاست حرکتی مبتنی بر مکان فعلی
برای هر یک از اعضای جامعه پارامتر به صورت زیر بدست می آید.
که تابع هدف مقدار تابع هدف هر جواب، که در اینجا زمان اتمام آخرین کار است، میباشد. این معادله از معادله(شماره معادله مربوط به تعریف ضریب FI در بخش معرفی الگوریتم) با قرار دادن برای همه اعضای جامعه بدست آمده است. در صورتی که باشد در این صورت مقدار برابر صفر خواهد بود. حداکثر ممکن ضریب هنگامی اتفاق میافتد که برابر صفر باشد که این با توجه به مساله تعریف شده غیر ممکن است. بنابراین خواهد بود. سیاستهای مختلف با توجه به مقدار به صورت زیر است:
عملگر جهش مورد استفاده در بالا، موقعیت یک کار را به تصادف انتخاب می کند و سپس کار واقع در آن موقعیت را با کار موقعیت دیگری در ساختار جواب که حداکثر سه خانه اختلاف دارند تعویض می کند. عملگر جهش موقعیت یک کار را به تصادف انتخاب کرده و سپس کار آن موقعیت را به موقعیتی دیگر در فاصله حداکثر سه خانهای آن موقعیت انتقال میدهد. عملگر جهش نیز بدین صورت است که یک موقعیت از ساختار جواب به صورت تصادفی انتخاب می شود و سپس کارهای سمت راست این خانه مانند تولید جواب اولیه به صورت تصادفی و به گونه ای بدست میآیند تا شرایط پس نیازی و پیش نیازی را رعایت کنند. مقدار پارامتر با بهره گرفتن از طراحی آزمایشها در بخش ۰ بدست می آید.
در عملگر جهش و در صورتی که پس از اجرای این عملگرها، شرایط پس نیازی و پیشنیازی نقض شوند، این عملگرها آنقدر تکرار میشوند تا شرایط ارضا شوند.
۴-۱-۳-۲)انتخاب سیاست حرکتی مبتنی بر مکان سایر اعضای جامعه انسانی
برای تعیین پارامتری که اعضای جامعه بتوانند با بهره گرفتن از آن پارامتر، سیاستهای مختلفی پیش بگیرند پارامتر به صورت زیر تعریف می شود.
که در آن ضریب تغییرات جمعیت و برابر حاصل تقسیم انحراف معیار استاندارد جمعیت بر میانگین آن است. این ضریب برای همه اعضای جمعیت یکسان است و فقط در تکرارهای مختلف، با هم اختلاف دارند.
سیاستهای مختلف با توجه به مقدار به صورت زیر است:
مقادیر پارامترهای و با بهره گرفتن از طراحی آزمایشها در ادامه بدست می آید. عملگرهای و نیز در ذیل شرح داده میشوند.
عملگر
در این عملگر نقطهای از کروموزوم اول به تصادف انتخاب می شود و سپس سمت چپ این کروموزوم در کروموزوم نهایی کپی می شود. ترتیب باقی خانههای کروموزوم نهایی با بهره گرفتن از کروموزوم دوم بدست میآیند. شکل ۴-۳نحوه عملکرد این عملگر را تشریح می کند.
شکل ۴-۳ : نحوه انجام عملگر Crossover1
عملگر
در عملگر ابتدا قسمت های برابر دو کروموزوم در کروموزوم نهایی منتقل می شود. سپس دو اشاره گر برای هر یک از کروموزومها که به آخرین نقطه یکسان دو کروموزوم اشاره دارد تعریف میکنیم. در هر مرحله اگر خانههایی که این اشارهگرها به آنها اشاره می کنند قبلا در کروموزوم نهایی جایگذاری شده باشند، اشارهگر مربوطه یک خانه به سمت راست حرکت می کند. در غیر اینصورت یکی از دو کروموزوم به تصادف انتخاب میشوند و عدد خانهای که اشارهگر آن کروموزوم قرار دارد در کروموزوم نهایی کپی می شود و سپس اشارهگر یک خانه به سمت چپ انتقال مییابد. شکل۴-۴ و جدول۴-۱ ذیل یک مثال و مراحل تولید جواب نهایی را نشان می دهند.
شکل۴-۴: نحوه انجام عملگر Crossover2
جدول ۴-۱ : مراحل انجام عملگر crossover2
مرحله
کروموزوم ۱
کروموزوم ۲
مجاز است؟
کروموزوم انتخاب شده
عدد انتخاب شده
کروموزوم حاصل
۱
۲
۱
بله
فرم در حال بارگذاری ...
[دوشنبه 1401-04-13] [ 11:49:00 ب.ظ ]
|