بازدید: 226 بازدید

الگوریتم کرم شب‌تاب یکی از الگوریتم‌های بهینه‌سازی فراابتکاری است که از رفتار طبیعی کرم‌های شب‌تاب الهام گرفته شده است. این الگوریتم توسط دکتر Xin-She Yang در سال 2008 معرفی شد و برای حل مسائل بهینه‌سازی پیچیده و غیرخطی بکار می‌رود. الگوریتم کرم شب‌تاب از جذابیت نوری کرم‌های شب‌تاب برای حرکت و جستجو در فضای جستجو استفاده می‌کند.


ویژگی‌های الگوریتم کرم شب‌تاب

  1. جذابیت نوری : هر کرم شب‌تاب دارای یک منبع نور است که میزان روشنایی آن با کیفیت راه‌حل موجود در موقعیت آن کرم مرتبط است.
  2. جذب و جنبش : کرم‌های شب‌تاب به سمت کرم‌های دیگری که نور قوی‌تری دارند حرکت می‌کنند.
  3. تابع جذابیت : جذابیت بین کرم‌ها با فاصله بین آنها کاهش می‌یابد.
  4. تصادفی‌سازی : حرکت کرم‌های شب‌تاب شامل یک عنصر تصادفی است که به جستجوی فضا کمک می‌کند.

مراحل الگوریتم کرم شب‌تاب

1. پارامترهای اولیه

  • تعداد کرم‌های شب‌تاب (n)
  • بعد فضای جستجو (d)
  • تابع هدف (f(x)) که باید بهینه شود
  • ضرایب الگوریتم:

β0​:  جذابیت اولیه

γ:  وضریب کاهش جذابیت

α: پارامتر تصادفی‌سازی

2. ‌سازی جمعیت

هر کرم شب‌تاب به صورت تصادفی در فضای جستجو قرار داده می‌شود. موقعیت اولیه هر کرم شب‌تاب به صورت زیر تعریف می‌شود:

xi​=(xi1​,xi2​,…,xid​)

3. محاسبه جذابیت

جذابیت بین دو کرم شب‌تاب i و j به صورت زیر محاسبه می‌شود:

βij​=β0​e−γrij2​

که در آن:

rij​:  فاصله بین دو کرم شب‌تاب

β0​:  جذابیت اولیه

γ:  ضریب کاهش جذابیت

4. حرکت کرم‌های شب‌تاب

هر کرم شب‌تاب به سمت کرم‌های دیگری که نور قوی‌تری دارند حرکت می‌کند. حرکت کرم i به سمت کرم j به صورت زیر تعریف می‌شود:

xit+1​=xit​+βij​(xjt​−xit​)+αϵ

که در آن:

α  پارامتر تصادفی‌سازی

ϵ عدد تصادفی از توزیع یکنواخت

5.  بررسی شرط توقف

الگوریتم تا زمانی ادامه می‌یابد که یکی از شرایط زیر برقرار باشد:

  • تعداد تکرارها به حداقل مقدار مشخص شده برسد.
  • تغییرات در مقادیر بهینه کمتر از یک مقدار خاص باشد.

ادامه مطلب