کد الگوریتم وال بهبود یافته (نهنگ بهبود یافته) LXWOA در متلب

در این پست به سورس کد الگوریتم وال WOA بهبود یافته یا همان الگوریتم نهنگ بهبود یافته در متلب می پردازیم. این الگوریتم توسط Amarjeet Singh در سال 2019 در مقاله Laplacian whale optimization algorithm در ژورنال International Journal of System Assurance Engineering and Management پایگاه علمی Springer ارائه شده است. در ادامه به معرفی نحوه کار کرد این الگوریتم بهینه سازی پرداخته می شود. برای دانلود مقاله اصلی روی عکس زیر کلیک کنید.

لینک دانلود مقاله الگوریتم وال ها

قبل از توضیح الگوریتم بهبود یافته نهنگ که با عنوان Laplacian whale optimization algorithm معرفی شده است ابتدا یک توضیح مختصری از الگوریتم وال اصلی را ارائه می دهیم سپس به سراغ الگوریتم بهبود یافته وال خواهیم رفت. الگوریتم وال یا نهنگ whale optimization algorithm یا به اختصار WOA در سال 2016 توسط سید علی میرجلیلی ارائه شده که با استفاده از رفتار نهنگ های گوژپشت در شکار به تولید و حل مسئله می پردازد.

الگوریتم بهینه سازی وال ها یا نهنگ ها (WOA اصلی)

یکی از بزرگترین پستانداران دنیا وال یا نهنک است از بین 7 نهنگ دنیا معروف ترین آنها، نهنگ گوژپشت یا نهنگ کوهان دار است. یک وال گوژپشت بالغ تقریباً به اندازه یک اتوبوس مدرسه است. شکار مورد علاقه وال ها، کریل و گروه های ماهی کوچک است. جالب ترین نکته در مورد وال های گوژپشت روش خاص شکار آنها می باشد. این رفتار کاوش گرانه به نام روش تغذیه حباب تور (Bubble-net) شناخته می شود.

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

مراحل الگوریتم

الگوریتم وال WOA  در سه مرحله یا سه فاز انجام می شود که بصورت زیر است:

  1. شکار محاصره ای
  2. فاز بهره برداری : روش حمله به حباب تور
  3. مرحله اکتشاف: جستجوی شکار

برای درک کامل الگوریتم بهینه سازی وال ها مقاله ای در همین سایت ارائه شده است که می توانید از این لینک مشاهده کنید.

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

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

به بیان دیگر با استفاده از تکنیک Laplace Crossover امکان یک جستجوی سراسری به الگوریتم وال اصلی داده می شود تا جواب های تصادفی دیگر، نه در حول بهترین جواب که در حول جواب های دیگر نیز تولید شود. با این عمل الگوریتم قادر خواهد بود به جواب های دیگری نیز که احتمالاً جواب های بهتری هستند دست یابد. فلوچارت مربوط به این الگوریتم را در زیر مشاهده می کنید قسمت مشخص شده بخشی است که بعنوان بهبود بر روی الگوریتم وال اصلی صورت گرفته است.

الگوریتم وال بهبود یافته

کد الگوریتم وال WOA بهبود یافته در متلب

سورس کد الگوریتم WOA بهبود یافته در متلب شامل توابعی است که اسکریپت main در واقع کد اصلی برنامه می باشد و بقیه فراخوانی ها از آنجا انجام می شود. همچنین این برنامه داری 6 تابع است. توابع تست برای این الگوریتم 23 تابع می باشد که از معروف ترین آنها در زیر تعدادی را مشاهده می کنید.

  • تابع  SPHERE
  • تابع ACKLEY
  • تابع SUM SQUARES
  •  تابع ROSENBROCK
  • تابع SUM OF DIFFERENT POWERS
  • تابع ZAKHAROV
  • تابع Rastrigin

توابع تست برای ارزیابی الگوریتم های بهینه سازی بکار می روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم های بهینه سازی مقاله ای آماده کردیم. توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 7 تابع اکتفا کرده ایم ولی در سورس کد با 23 نوع تابع مختلف (همانند مقاله) ارزیابی شده است همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی می ماند بنابراین برای اجرای الگوریتم WOAدر متلب برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید.

قسمتی از سورس کد

برای دانلود سورس کامل محصول را خریداری فرمایید.

تصویر خروجی محصول

الگوریتم نهنگ بهبود یافته

ویدئوی معرفی محصول

درباره محصول

سورس کد الگوریتم WOA بهبود یافته در متلب در محیط Matlab 2014b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.

1 دیدگاه برای کد الگوریتم وال بهبود یافته (نهنگ بهبود یافته) LXWOA در متلب

  1. امتیاز 5 از 5

    programstore

    نظرات و پیشنهادات خود را با ما در میان بگذارید.

دیدگاه خود را بنویسید

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

اطلاعات فروشنده