230 likes | 677 Views
بهبود الگوریتم رقابت استعماری با استفاده از الگوریتم ژنتیک. معین اوحدی کارشک اردیبهشت 1391. فهرست. اهداف بهینه سازی بهینه سازی: الهام از طبیعت الگوریتم رقابت استعماری مفاهیم نمای کلی فلوچارت مزایا معایب الگوریتم ژنتیک مفاهیم ویژگی ها کارکرد
E N D
بهبود الگوریتم رقابت استعماری با استفاده از الگوریتم ژنتیک معین اوحدی کارشک اردیبهشت 1391
فهرست • اهداف بهینه سازی • بهینه سازی: الهام از طبیعت • الگوریتم رقابت استعماری • مفاهیم • نمای کلی • فلوچارت • مزایا • معایب • الگوریتم ژنتیک • مفاهیم • ویژگی ها • کارکرد • عملگر های الگوریتم ژنتیک درالگوریتم رقابت استعماری • جستجوی کامل تر محیط • رفع همگرایی سریع • باز گردن قفل الگوریتم
اهداف بهینه سازی • هدف از بهينهسازي يافتن بهترين جواب قابل قبول، با توجه به محدوديتها و نيازهاي مسأله است. • براي يك مسأله، ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و انتخاب جواب بهينه، تابعي به نام تابع هدف تعريف ميشود. انتخاب اين تابع به طبيعت مسأله وابسته است. • مثال: زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد. انتخاب تابع هدف مناسب يكي از مهمترين گامهاي بهينهسازي است.
بهینه سازی: الهام از طبیعت الگوریتم های بهینه سازی الهام گرفته شده از طبیعت: • الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی. مانند: الگوریتم ژنتیک – الگوریتم بهینه سازی کلونی مورچه ها. • الگوریتم های الهام گرفته شده از پدیده های فیزیکی. مانند: الگوریتم تبرید شبیه سازی شده. • الهام از نمود های انسانی و پدیده های اجتماعی, فرهنگی, سیاسی و ... . مانند: الگوریتم رقابت استعماری.
الگوریتم رقابت استعماری: مفاهیم • الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می شود. • هر عنصر جمعیت یک کشور نامیده می شود. • کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند. • هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد. سیاست جذب: کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود , مردم کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری: مفاهیم • اگر قدرت مستعمره از کشور استعمارگر بیشتر شود, جای این دو عوض می شود. • قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت کشورهای مستعمره.بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره پیشرفت دهد. اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد. در واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی شود. • امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند. در نهایت حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری: مزایا الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی دارد. از جمله: • نو بودن ایده. • مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست. • سرعت همگرایی بالا. • توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری: معایب الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است: • ضعف در جستجوی کامل محیط: وقتی ابعاد مساله بسیار زیاد شود, الگوریتم از جستجوی کامل فضای حالت عاجز خواهد شد. • همگرایی بسیار سریع: الگوریتم,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین باید بارها دوباره اجرا شود. • قفل کردن: گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک: مفاهیم • الگوریتم ژنتیک برایحلیکمسئلهمجموعهبسیاربزرگیازراهحلهایممکنراتولیدمیکند. • هریکازاینراهحلهابااستفادهازیک “ تابعتناسب” موردارزیابیقرارمیگیرد. • تعدادیازبهترینراهحلهاباعثتولیدراهحلهایجدیدیمی شوند. کهاینکارباعثتکاملراهحلهامیگردد. • بدینترتیبفضایجستجودرجهتیتکاملپیدامیکندکهبهراهحلمطلوببرسد. • درصورتانتخابصحیحپارامترها،اینروشمیتواندبسیارموثرعملنماید.
الگوریتم ژنتیک: ویژگی ها • الگوریتمهایژنتیکدرمسائلیکهفضایجستجویبزرگیداشتهباشندمی تواندبکارگرفتهشود. • درمسایلیبافضایفرضیهپیچیدهکهتاثیراجزاآندرفرضیهکلیناشناختهباشندمی توانازالگوریتم ژنتیک برایجستجواستفادهنمود. • برایبهینه سازی گسسته بسیارمورداستفادهقرارمی گیرد. • الگوریتمژنتیکرامیتوانبراحتیبصورتموازیاجرانمودازاینرومی توانکامپیوترهایارزانقیمتتریرابصورتموازیمورداستفادهقرارداد. • امکانبهتلهافتادناینالگوریتمدرمینیمممحلیکمترازسایرروشهاست. • ازلحاظمحاسباتیپرهزینههستند. • تضمینیبرایرسیدنبهجواببهینهوجودندارد.
الگوریتم ژنتیک: کارکرد • در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود. • هر کروموزوم برابر یکی از جوابهای حل مسئله است . • فرض کنید N کروموزوم تولید شده باشد . • مراحل زیر تا حل کامل مسئله ادامه می یابد : • هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد fitness score به آن نسبت دهید. • دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-score دارد – روش معروف :Roulette wheel. • با توجه به crossover rate بیتهای دو کروموزون را در نقاط تصادفی جابجا کنید. • در کروموزون های انتخاب شده بعضی بیت ها را با توجه به mutation rate بر عکس کنید. • مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه N بوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت استعماری جستجوی کامل تر محیط همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل می کند. اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان استفاده شود جستجو بسیار کامل تر انجام خواهد شد. عملگر برش باعث افزایش انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت استعماری رفع همگرایی سریع هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز کاهش خواهد یافت. اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد می توان از عملگر جهش نیز بهره برد. به این صورت که یکی از کشور های یک امپراطوری به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت استعماری باز گردن قفل الگوریتم از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد. پس از انتخاب تصادفی یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد. حال در صورتی که محدودیت جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در نتیجه الگوریتم اصطلاحا باز خواهد شد.
قدردانی با تشکر از توجه و همراهی صمیمانه شما