الگوریتم شاهین هریس در سال 2019 منتشر شد، یک الگوریتم بهینه سازی قوی و قدرتمند ، که در حل مسائل بهینه سازی به خوبی توانسته است پاسخ های بهینه را پیدا کند.

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

قدرت الگوریتم HHO
در مقاله اصلی معرفی الگوریتم HHO ، اثربخشی روش پیشنهادی بهینه ساز HHO ، از طریق مقایسه با سایر تکنیک های الهام گرفته شده از طبیعت ، بر روی 29 تابع محک و چندین مسئله مهندسی دنیای واقعی بررسی شده است.
نتایج آماری و مقایسه ها نشان می دهد که ، الگوریتم HHO نتایج بسیار امیدوار کننده و گاها رقابتی را در مقایسه با دیگر تکنیک های فراابتکاری شناخته شده دارد.
مراحل کار الگوریتم HHO
اگر بخواهیم خیلی ساده و بدون در نظر گرفتن فرمولها ، روال الگوریتم HHO را بیان کنیم ، بصورت زیر خواهد بود:
- تنظیم پارامترهای الگوریتم (اندازه جمعیت، تعداد تکرار).
- ساخت جمعیت اولیه بصورت تصادفی.
- تا زمانی که شرط توقف برقرار نشده است مراحل زیر را تکرار کن.
- مقدار شایستگی شاهین های مصنوعی را محاسبه کن.
- بهترین جواب را بعنوان موقعیت خرگوش در نظر بگیر.
- برای هر شاهین مصنوعی مراحل زیر را تکرار کن
- مقدار پارامترهای انرژی و یورش را بروز کن.
- اگر مقدار قدرمطلق e بیشتر از یک است فرایند اکتشاف را انجام بده.
- اگر مقدار قدرمطلق e کمتر از یک است فراینده بهره برداری را انجام بده.
- اگر همه شاهین ها پردازش نشده اند به 6 برو وگرنه به3 برو.

فازهای مختلف الگوریتم شاهین
الگوریتم HHO به خوبی تعادل بین فازهای اکتشاف (Exploration) و بهره برداری (Exploitation) را ایجاد میکند.
فاز اکتشاف الگوریتم HHO :
در این گام، الگوریتم به دنبال کشف فضای جستجو می باشد و بروزرسانی موقعیت شاهین ها بر اساس عملگر تصادفی و یا بر اساس موقعیت سایر شاهین ها صورت میگیرد.
فاز بهره برداری الگوریتم HHO:
در این گام، الگوریتم به دنبال بهبود جوابهای پیدا شده می باشد .
و از عملگرهای محاصره سخت ، و محاصره نرم استفاده میکند.
فهرست منابع برای مطالعه بیشتر:
دانلود رایگان کد متلب الگوریتم شاهین هریس