مقدار به تصادف بین ۰ و ۱ انتخاب می شود.
پارامتر تعیین می گردد. (مثلا )
اگر عضو برتر و اگر عضو بدتر بین این دو عضو به عنوان والد انتخاب می شود.
دو عضو انتخاب شده برای رقابت به جمعیت باز می گردند و می توانند دوباره در رقابت شرکت کنند.
پایان نامه - مقاله
روش انتخاب رقابتی می تواند به صورت تایی نیز انجام شود.
اپراتور تقاطع[۳۵]
این اپراتور با بهره گرفتن از دو رشته والد دو رشته فرزند به وجود می آورد. برای این کار به طور تصادفی قسمتی از بیت های والدین در بیت های فرزندان کپی می شود. انتخاب بیت هایی که باید از هر یک از والدین کپی شوند به روش های مختلفی انجام می شود.
تقاطع تک نقطه ای[۳۶]
تقاطع دو نقطه ای[۳۷]
تقاطع یکنواخت[۳۸]
در زیر نحوه روش تقاطع تک نقطه ای بیان می شود و روند بقیه روش های تقاطع در شکل ۲-۲، ۲-۳ و ۲-۴ مشخص شده است.
یک نقطه تصادفی در طول رشته انتخاب می شود.
والدین در این نقطه دو قسمت می شوند.
هر فرزند با انتخاب تکه اول از یکی از والدین و تکه دوم از والد دیگر به وجود می آید.
شکل ۲-۲: تقاطع تک نقطه ای
شکل ۲-۳: تقاطع دو نقطه ای
شکل ۲-۴: تقاطع یکنواخت
تقاطع خاصیت جستجوگرانه و یا Explorative دارد و می تواند با انجام جهش های بزرگ به محل هایی در بین والدین رفته و نواحی جدیدی را کشف نماید.
اپراتور جهش[۳۹]
این اپراتور برای به وجود آوردن فرزند، فقط از یک والد استفاده می کند. این کار با انجام تغییرات کوچکی در رشته اولیه به وقوع می پیوندد. بدین صورت که با بهره گرفتن از یک توزیع یکنواخت یک بیت به صورت تصادفی انتخاب می شود و مقدار آن معکوس می شود. معمولا اپراتور جهش بعد از تقاطع اعمال می شود.
شکل ۲-۵: اپراتور جهش
جهش خاصیت گسترشی و یا Exploitive دارد و می تواند با انجام تغییرات کوچک تصادفی به نواحی کشف شده وسعت ببخشد.
رمز گشایی[۴۰]
در این مرحله بعد از اینکه الگوریتم بهترین جواب را برای مساله ارائه کرد لازم است عکس عمل رمزگذاری روی جواب ها اعمال شود تا بتوان نسخه واقعی جواب را به وضوح یافت.
۲-۲-۱-۲- پارامترهای الگوریتم ژنتیک
به طور معمول الگوریتم ژنتیک دارای پارامترهای زیر است:
تابع برازندگی برای ارزیابی هر یک از کروموزم ها
مقدار آستانه[۴۱] که شرط پایان را معین می کند.
تعداد جمعیت[۴۲] ()
درصدی از جمعیت که در هر مرحله توسط اپراتور تقاطع[۴۳] جایگزین می شود. ()
نرخ جهش ()
مراحل ایجاد یک جمعیت جدید به صورت زیر می باشد:
انتخاب : تعداد عضو از میان جمعیت کنونی، ، انتخاب و به جمعیت جدید اضافه می شود. احتمال انتخاب یک عضو از میان جمعیت با توجه به میزان تابع برازندگی برای هر عضو از جمعیت به صورت زیر محاسبه می شود:
که مقدار تابع برازندگی عضو ام جمعیت می باشد.
تقاطع : با بهره گرفتن از احتمال بدست امده توسط رابطه فوق، تعداد زوج عضو از میان جمعیت انتخاب می شود و با بهره گرفتن از اپراتور تقاطع دو فرزند از آن ها ایجاد می شود. سپس فرزاندان به جمعیت اضافه می شود.
جهش : این اپراتور بر روی یک عضو از یک کروموزوم با احتمال یکنواخت که نرخ جهش نامیده می شود، اثر می گذارد و باعث معکوس شدن آن می شود. به این معنی که ۱ را به ۰ و ۰ را به ۱ تبدیل می کند.
اعضای جمعیت ، جمعیت جدیدی را تشکیل می دهد.
نحوه عملکرد الگوریتم ژنتیک در شکل ۲-۶ نشان داده شده است. هنگام استفاده از الگوریتم ژنتیک در مسئله مکان یابی چاه های نفت، مکان هر چاه که توسط دو تایی مرتب (i,j) توصیف می شود، جواب های ممکن مسئله هستند که اجتماع آن ها جمعیت را تشکیل می دهد. هر مکان ممکن چاه به عنوان ورودی سیستم در نظر گرفته می شود و تابع برازندگی خروجی می باشد و سپس جمعیت طبق الگوریتم ژنتیک بهبود داده می شود تا به بهترین مکان دست یافت [۷].
شکل ۲-۶: فلوچارت الگوریتم ژنتیک
۲-۲-۲- الگوریتم [۴۴]PSO
الگوریتم بهینه سازی ذرات یک الگوریتم بهینه سازی فرا اکتشافی می باشد که از حرکت گروهی پرندگان و دیگر حیواناتی که به شکل گروهی زندگی می کنند الگو گرفته است. الگوریتم PSO مشابه الگوریتم ژنتیک یک روش بر مبنای جمعیت است. پاسخ مسئله در روش PSO ذرات هستند که مجموعه ذرات در هر تکرار ازدحام[۴۵] نامیده می شود. موقعیت هر ذره بر اساس میزان تابع هدف آن و موقعیت نسبی بقیه ذرات تنظیم می شود. این الگوریتم اولین بار توسط James Kennedy , Russell Eberhart در سال ۱۹۹۵ در مقاله [۸] ارائه شد.
PSO بر اساس حرکت و هوش ذرات کار می کند و مفهوم تعامل اجتماعی را برای حل مسائل بهینه سازی به کار می گیرد. ذرات (پاسخ های مسئله) در فضای جستجو حرکت می کنند و هر ذره در حال جستجو برای نقطه بهینه می باشد. هر ذره در هر مرحله، موقعیتی را که بهترین نتیجه را در آن داشته به خاطر می سپارد (بهترین موقعیت فردی هر ذره). به علاوه ذرات در گروه ذرات با هم همیاری می کنند. ذرات اطلاعاتی، درباره موقعیتی که در آن هستند با هم تبادل می کنند. این روش، یک روش مرتبه صفر است و نیازی به عملیات سنگین ریاضی مثل گرادیان ندارد. همچنین بار محاسباتی قابل قبولی دارد و همگرایی آن نسبتاً سریع است.
حرکت هر ذره در این الگوریتم به سه عامل بستگی دارد:
موقعیت فعلی ذره
بهترین موقعیتی که تاکنون ذره داشته است. ()
بهترین موقعیتی که کل مجموعه ذرات تاکنون داشته اند. ()
در ادامه به توضیح مراحل مختلف الگوریتم در حل یک مسئله بهینه سازی می پردازیم:
اولین گام انتخاب یک جمعیت اولیه از اعضا می باشد به گونه ای که به صورت یکنواخت بر روی محدوده تغییرات گسترده شده باشند.
شکل ۲-۷: انتخاب جمعیت اولیه از اعضا [۶]

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


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