آموزش الگوریتم بهینه سازی جهش قورباغه یا SFLA در متلب

آموزش الگوریتم بهینه سازی جهش قورباغه یا SFLA در متلب

الگوریتم جهش قورباغه مخلوط شده یا Shuffled Frog Leaping Algorithm (به اختصار SFLA)، یکی از الگوریتم های بهینه سازی فرا ابتکاری است که از رفتار اجتماعی قورباغه ها الهام گرفته شده است، و از نظر طبقه بندی، در میان الگوریتم های رفتاری یا الگوریتم های ممتیک (Memetic Algorithms) قرار می گیرد. از نام های دیگر این الگوریتم که در ایران مصطلح و رایج است، می توان به الگوریتم قورباغه و الگوریتم جهش قورباغه اشاره نمود.

الگوریتم جهش قورباغه، نسخه توسعه یافته الگوریتم تکامل مجتمع های مخلوط شده یا Shuffled Complex Evolution (به اختصار SCE و یا SCE-UA) است، که یکی از الگوریتم نسبتا با سابقه در حوزه بهینه سازی هوشمند است. الگوریتم SCE-UA در واقع از ترکیب قابلیت های تکاملی الگوریتم ژنتیک و قابلیت جستجوی تصادفی الگوریتم جستجوی تصادفی کنترل شده یا CRS ایجاد شده است و می توان آن را نیز، تا حدودی در دسته الگوریتم های ممتیک (Memetic Algorithms) طبقه بندی کرد

با افزوده شدن قابلیت های نخبه گرایی (Elitism) و هوش جمعی (Swarm Intelligence) به الگوریتم SCE، الگوریتم جهش قورباغه به دست آمده است که از نظر ساختاری، اشتراکات بسیار زیادی را با الگوریتم SCE دارد. این شباهت و ارتباط به اندازه ای است، که در هنگام پیاده سازی هر یک از این دو الگوریتم، با تغییراتی که چند دقیقه بیشتر زمان نمی برد، می توان برنامه کامپیوتری و پیاده سازی یک الگوریتم را به دیگری تبدیل نمود.

همان طور که گفته شد، الگوریتم جهش قورباغه یا SFLA، از جمله الگوریتم های رفتاری یا ممتیک (Memetic Algorithms) است. در مقابل الگوریتم های ژنتیک که در آن صفات و قابلیت ها، توسط والدین برای فرزاندان به ارث گذاشته می شود، در الگوریتم های ممتیک، هر فردی (با توجه به نظریه تکاملی لامارک) صفات و ویژگی های مفید را، با جستجو در اطراف خود (به صورت جستجوی محلی) به دست می آورد. یعنی، علاوه بر تکامل در جمعیت، تکامل به صورت فردی نیز به پیش می رود. به همین دلیل، بعضا از الگوریتم های ممتیک، به عنوان الگوریتم های ترکیبی (Hybrid Algorithms) و یا الگوریتم های ژنتیک محلی (Local Genetic Algorithms) شناخته می شوند.

در مجموعه فرادرس های آموزش الگوریتم بهینه سازی جهش قورباغه یا SFLA در متلب، در ابتدا مبانی تئوری و نظری الگوریتم SCE و ساختار و نحوه عملکرد آن به صورت کامل تشریح می شود. در ادامه، پیاده سازی عملی و گام به گام این الگوریتم با استفاده از زبان برنامه نویسی متلب (MATLAB) انجام می شود، که بعدها، با تغییر آن، کد مربوط به الگوریتم قورباغه نیز، ایجاد می گردد. در ادامه، مبانی تئوری و نظری الگوریتم جهش قورباغه مخلوط شده یا SFLA با مروری بر مبانی نظری الگوریتم های ممتیک، مورد بحث و بررسی قرار می گیرد. در نهایت، با استفاده از کدی که قبلا برای الگوریتم SCE-UA نوشته شده بود، و با اعمال تغییرات لازم در ساختار برنامه، پیاده سازی عملی الگوریتم جهش قورباغه نیز، انجام می شود.

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

 

 

فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی، در ادامه آمده است:

  • بررسی مبانی تئوری و نظری الگوریتم تکامل مجتمع های مخلوط شده یا SCEUA
  • الگوریتم درونی تکامل مجتمع رقابتی یا Competitive Complex Evolution (به اختصار CCE)
  • پیاده سازی گام به گام الگوریتم SCEUA به صورت عملی در محیط نرم افزار متلب
  • مروری بر مبانی الگوریتم های رفتاری یا ممتیک (Memetic Algorithms)
  • بررسی مبانی تئوری و نظری الگوریتم جهش قورباغه مخلوط شده یا SFLA
  • الگوریتم درونی جهش قورباغه یا Frog Leaping Algorithm (به اختصار FLA)
  • پیاده سازی الگوریتم SFLA با تغییر کد مربوط به الگوریتم SCEUA

 

 

برای مشاهده جزئیات و تهیه دانلود آموزش الگوریتم بهینه سازی جهش قورباغه یا SFLA در متلب به این لینک (+) مراجعه نمایید.

 

0 پاسخ

ارسال یک پاسخ

در گفتگو ها شرکت کنید.

پاسخ دهید

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