تهیهکننده:
هزینه سفارش:
۳۱۲,۰۰۰ تومان قیمت اصلی: ۳۱۲,۰۰۰ تومان بود.۱۲۸,۰۰۰ تومانقیمت فعلی: ۱۲۸,۰۰۰ تومان.
تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.
سورس کد الگوریتم شعله پروانه MFO در متلب عنوان مطلبی است که در این پست به آن پرداخته شده است. الگوریتم شعله پروانه یا الگوریتم Moth-flame optimization algorithm که به اختصار الگوریتم MFO نیز نامیده میشود یکی از الگوریتم های بهینه سازی و فراابتکاری است که از رفتار پروانهها در کنار شعله یا آتش روشی برای حل مسئله پیدا میکند.
این الگوریتم در سال 2015 توسط سید علی میر جلیلی در مقالهای تحت عنوان:
Moth-flame optimization algorithm: A novel nature-inspired heuristic paradigm
در ژورنال Knowledge-Based Systems مطرح شد. الگوریتم شعله پروانه با نامهای دیگری همچون الگوریتم پروانه آتش، الگوریتم MFO، الگوریتم پروانه شعله نیز شناخته میشود. این الگوریتم یک الگوی اکتشافی نوین الهام گرفته از طبیعت و رفتار پروانهها و علاقه مندی آنها به شعله یا آتش است. برای درک کامل این الگوریتم فیلم آموزشی با عنوان فیلم آموزش الگوریتم شمع و پروانه MFO در متلب در همین سایت قرار دادهایم.
الهام بخش اصلی این بهینه ساز روش ناوبری پروانهها در طبیعت به نام جهت گیری عرضی (transverse orientation) است. پروانهها با حفظ یک زاویه ثابت با توجه به ماه، پرواز در شب را برای مسافتهای طولانی انجام میدهند. ولی این حشرات فانتزی در یک مسیر مارپیچی بیفایده و کشنده در اطراف چراغهای مصنوعی به دام میافتند.
در الگوریتم پروانه آتش به صورت ریاضی از این رفتار پروانهها برای انجام بهینه سازی استفاده میشود. الگوریتم MFO با سایر الگوریتمهای شناخته شده الهام گرفته از طبیعت شباهتهای زیادی دارد و نتایج آماری در مورد توابع معیار نشان میدهد که این الگوریتم قادر به ارائه نتایج بسیار امیدوارکننده و رقابتی است.
در الگوریتم MFO، فرض بر این است که راه حلهای کاندید پروانهها هستند و متغیرهای مسئله موقعیت پروانهها در فضا است. بنابراین، پروانهها با تغییر بردارهای موقعیتی خود میتوانند در فضای یک بعدی، دو بعدی یا سه بعدی پرواز کنند. از آنجا که الگوریتم MFO یک الگوریتم مبتنی بر جمعیت است، مجموعه پروانه در یک ماتریس (مثلاً M) نمایش داده میشوند.
آرایه ای نیز برای تمامی پروانهها برای ذخیره مقادیر تناسب (OM) وجود دارد. یکی دیگر از مؤلفههای اصلی در الگوریتم یک ماتریس شبیه به ماتریس پروانهها است که ماتریس شعله یا آتش (F) است و یک آرایه نیز با نام OF برای ذخیره کردن مقدار تابع تناسب آن استفاده میشود.
در اینجا لازم به ذکر است که پروانهها و شعلهها هر دو راه حل هستند. تفاوت بین آنها نحوه برخورد و بروزرسانی آنها در هر تکرار است. پروانهها عوامل جستجوی واقعی هستند که در فضای جستجو حرکت میکنند ، در حالی که شعلههای آتش بهترین موقعیت پروانهای هستند که تاکنون بدست آمده است. به عبارت دیگر ، شعلهها را میتوان پرچمها یا پینهایی دانست که هنگام جستجوی فضای جستجو ، توسط پروانهها فرو میروند.
هر پروانه در اطراف یک پرچم (شعله) جستجو میکند و در صورت پیدا کردن راه حل بهتر ، آن را به روز میکند. با استفاده از این مکانیسم ، یک پروانه هرگز بهترین راه حل خود را از دست نمیدهد. از الگوریتمهای معروف در این زمینه میتوان به الگوریتم ژنتیک، دیفرانسیل تکامل، کلونی مورچگان، کلونی زنبور عسل، کرم شب تاب، گرگ خاکستری، شکار نهنگ و … اشاره کرد. برای درک کامل این الگوریتم مقاله کاملی تحت عنوان الگوریتم شعله پروانه MFO آماده کردهایم که میتوانید مشاهده کنید.
سورس کد الگوریتم MFO در متلب شامل توابعی است که اسکریپت MFO.m در واقع کد اصلی برنامه میباشد و بقیه فراخوانیها از آنجا انجام میشود. توابع تست برای این الگوریتم 23 تابع میباشد که از معروف ترین آنها در زیر تعدادی را مشاهده میکنید.
توابع تست برای ارزیابی الگوریتمهای بهینه سازی بکار میروند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتمهای بهینه سازی مقاله ای آماده کردیم. توابع زیادی برای تست عملکرد الگوریتمهای بهینه سازی وجود دارد که در اینجا ما به این 7 تابع اکتفا کردهایم ولی در سورس کد با 23 نوع تابع مختلف (همانند مقاله) ارزیابی شده است.
همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی میماند بنابراین برای اجرای الگوریتم MFO در متلب برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید.
%% MFO parametrs
N=30; % Number of search agents
Function_name='F1'; % Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper)
Max_iteration=1000; % Maximum numbef of iterations
% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
%% Initialize the positions of moths
Moth_pos=initialization(N,dim,ub,lb);
Convergence_curve=zeros(1,Max_iteration);
Iteration=1;
%% Main loop
while Iteration<Max_iteration+1
% Number of flames Eq. (3.14) in the paper
Flame_no=round(N-Iteration*((N-1)/Max_iteration));
for i=1:size(Moth_pos,1)
% Check if moths go out of the search spaceand bring it back
Flag4ub=Moth_pos(i,:)>ub;
Flag4lb=Moth_pos(i,:)<lb;
Moth_pos(i,:)=(Moth_pos(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;
% Calculate the fitness of moths
Moth_fitness(1,i)=fobj(Moth_pos(i,:));
end
if Iteration==1
برای دانلود سورس کامل محصول را خریداری فرمایید.
سورس کد الگوریتم شعله پروانه در متلب در محیط Matlab 2016b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت اثر توسط پی استور تضمین میشود و دارای نشان تضمین کیفیت پی استور میباشد. برای دانلود اثر مذکور آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
| نام اثر: | سورس کد الگوریتم شعله پروانه MFO در متلب |
| نوع اثر: | سورس کد |
| برنامهنویس: | تیم برنامهنویسی پیاستور |
| زبان برنامه نویسی: | MATLAB |
| ویژگی: | قابل دانلود و ویرایش |
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
هزینه سفارش:
۳۱۲,۰۰۰ تومان قیمت اصلی: ۳۱۲,۰۰۰ تومان بود.۱۲۸,۰۰۰ تومانقیمت فعلی: ۱۲۸,۰۰۰ تومان.
نظرات
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.