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

فرادرس
فرادرس
158 بار بازدید - 2 سال پیش - آموزش الگوریتم بهینه سازی جهش
آموزش الگوریتم بهینه سازی جهش قورباغه SFLA و پیاده سازی در متلب MATLAB - (برای مشاهده نسخه کامل آموزش به لینک زیر مراجعه کنید) https://fdrs.ir/7tgg الگوریتم جهش قورباغه مخلوط شده یا 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 نوشته شده بود، و با اعمال تغییرات لازم در ساختار برنامه، پیاده سازی عملی الگوریتم جهش قورباغه نیز، انجام می شود. مدرس این مجموعه آموزش، دکتر سید مصطفی کلامی هریس (دکترای مهندسی کنترل از دانشگاه صنعتی خواجه نصیرالدین طوسی) است و در این مجموعه آموزشی نیز همانند سایر آموزش های فرادرس، علاوه بر بیان و تشریح کامل مباحث تئوری، پیاده سازی عملی و گام به گام الگوریتم های مورد بحث در محیط متلب، مورد بحث و بررسی قرار می گیرد.
2 سال پیش در تاریخ 1401/10/04 منتشر شده است.
158 بـار بازدید شده
... بیشتر