آموزش الگوریتم بهینه سازی فاخته در متلب

15,000 تومان

در این محصول الگوریتم بهینه سازی فاخته بر روی یک مثال از زمان بندی بر روی یک ماشین حل و خروجی های آن ارائه شده است. این محصول کمک زیادی به درک مفاهیم این الگوریتم می کند

در این محصول الگوریتم بهینه سازی فاخته بر روی یک مثال از زمان بندی بر روی یک ماشین حل و خروجی های آن ارائه شده است. این محصول کمک زیادی به درک مفاهیم این الگوریتم می کند.

الگوریتم بهینه سازی فاخته

الگوریتم بهینه سازی فاخته یا Cuckoo Optimization Algorithm یکی از جدیدترین و قویترین روش‌های بهینه‌سازی تکاملی می‌باشد که تا کنون معرفی شده‌اند. بعد از معرفی شدن روش‌های بهینه‌سازی تکاملی اولیه مثل الگوریتم ژنتیک (GA) و الگوریتم تبرید تدریجی (SA)، تحقیقات زیادی روی روش‌های تکاملی بهینه‌سازی که از الهام از طبیعت گرفته شده بودند انجام گرفت. از دیگر الگوریتم‌های معرفی شده می‌توان به الگوریتم ازدحام ذرات (PSO)، کلونی مورچگان (ACO)، الگوریتم زنبور عسل (ABC) و الگوریتم ماهی‌های مصنوعی اشاره کرد. کاربردهای بیشماری از این روش‌ها را برای حل مسایل مختلف بهینه‌سازی پیچیده در مقالات می‌توان پیدا کرد.

یکی دیگر از الگوریتم‌های بهینه‌سازی تکاملی که شباهت به الگوریتم بهینه سازی فاخته دارد و بسیار کاربرد یافته الگوریتم رقابت استعماری است که بر پایه الهام از یک سیستم رقابتی بین امپراتوری‌های جهان جهت تصاحب مستعمره شکل گرفته است. این روش بهینه‌سازی با تغییری که در الگوریتم آن برای حرکت مستعمره‌ها به سمت امپراتوری در نظر گرفته شده است توانایی خوبی برای یافتن نقاط بهینه‌ی سراسری از خود نشان داده است.

این الگوریتم بر روی الهام از روش زندگی پرنده ای بنام فاخته یا  Cuckooبود. روش زندگی و تخم‌گذاری جالب این پرنده نوید یک الگوریتم بهنیه‌سازی خوب و قابل را در طبیعت وحشی می‌داد. روشی که با کمترین تلاش، در جنگ برای بقا با سایر حیوانات، به بقا می‌رسید. این پرنده تنبل به زیبایی هرچه تمام تر سایر پرندگان را مجبور به شرکت در بقای خود می‌کند.

جزئیات الگوریتم بهینه سازی فاخته

همانند سایر الگوریتم‌های تکاملی،  COA هم با یک جمعیت اولیه کار خود را شروع می‌کند (جمعیتی متشکل از فاخته‌ها). این جمعیت از فاخته‌ها تعدادی تخم دارند که آن‌ها را در لانه تعدادی پرنده ی میزبان خواهند گذاشت. تعدادی از این تخم‌‌ها که شباهت بیشتری به تخم‌‌های پرنده میزبان دارند شانس بیشتری برای رشد و تبدیل شدن به فاخته بالغ خواهند داشت. سایر تخم‌‌ها توسط پرنده میزبان شناسایی شده و از بین می‌روند. میزان تخم‌‌های رشد کرده، مناسب بودن لانه‌‌های آن منطقه را نشان می‌دهند. هرچه تخم‌های بیشتری در یک ناحیه قادر به زیست باشند و نجات یابند به همان اندازه سود بیشتری به آن منطقه اختصاص می‌یابد. بنابراین موقعیتی که در آن بیشترین تعداد تخم‌ها نجات یابند پارامتری خواهد بود که  الگوریتم فاخته قصد بهینه‌سازی آنرا دارد.

فاخته‌ها برای بیشینه کردن نجات تخم‌‌های خود دنبال بهترین منطقه می‌گردند. پس از آنکه جوجه‌‌ها از تخم در آمدند و تبدیل به فاخته بالغ شدند، جوامع و گروه‌‌هایی تشکیل می‌دهند. هر گروه، منطقه سکونت خود را برای زیست دارد. بهترین منطقه سکونت تمام گروه‌‌ها مقصد بعدی فاخته‌‌ها در سایر گروه‌‌ها خواهد بود. تمام گروه‌ها به سمت بهترین منطقه موجود فعلی مهاجرت می‌کنند. هر گروه در منطقه‌ای نزدیک بهترین موقعیت فعلی ساکن می‌شود. با در نظر گرفتن تعداد تخمی که هر فاخته خواهد گذاشت و همچنین فاصله فاخته‌ها از منطقه بهینه فعلی برای سکونت تعدادی شعاع تخم‌گذاری محاسبه شده و شکل می‌گیرد.

سپس فاخته‌ها شروع به تخم‌گذاری تصادفی در لانه‌هایی داخل شعاع تخم‌گذاری خود می‌کنند. این پروسه تا رسیدن به بهترین محل برای تخم‌گذاری (منطقه با بیشترین سود) ادامه می‌یابد. این محل بهینه جایی است که بیشترین تعداد فاخته‌‌ها در آن گرد می‌آیند.

نقد و بررسی ها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “آموزش الگوریتم بهینه سازی فاخته در متلب”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *