الگوریتم کرم شبتاب
در بهینهسازی ریاضی، الگوریتم کرم شب تاب یک الگوریتم فراابتکاری میباشد که توسط شین-یانگ و با الهام از رفتار چشمک زن کرم شب تاب ارائه شدهاست.[۱]
الگوریتم
شبه کد الگوریتم کرم شب تاب به صورت زیر میباشد:
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 نیست. (بر اساس کد متلب یانگ) بنابراین تعداد کل ارزیابی تابع هدف (تعداد نسل) × (تعداد کرم شب تاب) است.
فرمول اصلی بروزرسانی برای هر جفت کرم شب تاب و به صورت زیر است
جایی که پارامتر کنترل اندازه مرحله میباشد، در حالی که برداری تصادفی تولید شده بر ساس توزیع گاوسی یا توزیع دیگر میباشد.
میتوان نشان داد که مورد محدود کننده است مطابق با استاندارد بهینهسازی ذرات ذره (PSO) است. در حقیقت، اگر حلقه داخلی (برای j) برداشته شود و روشنایی با بهترین جواب عمومی جایگزین شود، آنگاه FA اساساً تبدیل به PSO استاندارد میشود.
نقد
بهطور کلی الگوریتمهای فراابتکاری الهام گرفته شده از طبیعت در جامعه پژوهشگران همواره با انتقاداتی همراه بودهاند، و در مورد الگوریتم کرم شب تاب نیز انتقاد شدهاست که از بهینهسازی ذرات الهام گرفته شده و تفاوت ناچیزی با توده ذرت دارد.[۲][۳][۴]
منابع
پیوند به بیرون
- [۱] پروندههای برنامههای Matlab موجود در کتاب: Xin-She Yang، الگوریتمهای Metaheuristic- الهام گرفته از طبیعت، چاپ دوم، Luniver Press، (۲۰۱۰).