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

از testwiki
پرش به ناوبری پرش به جستجو

در بهینه‌سازی ریاضی، الگوریتم کرم شب تاب یک الگوریتم فراابتکاری می‌باشد که توسط شین-یانگ و با الهام از رفتار چشمک زن کرم شب تاب ارائه شده‌است.[۱]

الگوریتم

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

Begin
 1) Objective function: الگو:Nowrap
 2) Generate an initial population of fireflies الگو:Nowrap
 3) Formulate light intensity الگو:Mvar so that it is associated with الگو:Nowrap
 (for example, for maximization problems, الگو:Nowrap
 4) Define absorption coefficient الگو:Mvar
 While (t < MaxGeneration)
 for i = 1: n (all n fireflies)
 for j = 1: i (n fireflies)
 الگو:Nowrap
 Vary attractiveness with distance r via الگو:Nowrap
 move firefly i towards j;
 Evaluate new solutions and update light intensity;
 end if
 end for j
 end for i
 Rank fireflies and find the current best;
 end while
 Post-processing the results and visualization;
end

توجه داشته باشید که تعداد ارزیابی تابع هدف در هر تکرار، یک ارزیابی برای هر کرم شب تاب است، و همان‌طور که شبه کد بالا نشان می‌دهد n × n نیست. (بر اساس کد متلب یانگ) بنابراین تعداد کل ارزیابی تابع هدف (تعداد نسل) × (تعداد کرم شب تاب) است.

فرمول اصلی بروزرسانی برای هر جفت کرم شب تاب 𝐱i و 𝐱j به صورت زیر است

𝐱it+1=𝐱it+βexp[γrij2](𝐱jt𝐱it)+αtϵt

جایی که αt پارامتر کنترل اندازه مرحله می‌باشد، در حالی که ϵt برداری تصادفی تولید شده بر ساس توزیع گاوسی یا توزیع دیگر می‌باشد.

می‌توان نشان داد که مورد محدود کننده است γ0 مطابق با استاندارد بهینه‌سازی ذرات ذره (PSO) است. در حقیقت، اگر حلقه داخلی (برای j) برداشته شود و روشنایی Ij با بهترین جواب عمومی g* جایگزین شود، آنگاه FA اساساً تبدیل به PSO استاندارد می‌شود.

نقد

به‌طور کلی الگوریتمهای فراابتکاری الهام گرفته شده از طبیعت در جامعه پژوهشگران همواره با انتقاداتی همراه بوده‌اند، و در مورد الگوریتم کرم شب تاب نیز انتقاد شده‌است که از بهینه‌سازی ذرات الهام گرفته شده و تفاوت ناچیزی با توده ذرت دارد.[۲][۳][۴]

منابع

الگو:پانویس

پیوند به بیرون

  • [۱] پرونده‌های برنامه‌های Matlab موجود در کتاب: Xin-She Yang، الگوریتم‌های Metaheuristic- الهام گرفته از طبیعت، چاپ دوم، Luniver Press، (۲۰۱۰).