سورس کد الگوریتم شعله پروانه در متلب تصویر شاخص حاوی عنوان سورس کد، آیکون متلب و تصویر شمع با پروانه دور آن می باشد.

سورس کد الگوریتم شعله پروانه MFO در متلب

(دیدگاه کاربر 1)
امتیاز 5.00 از 5

تهیه‌کننده: 

سورس کد الگوریتم شعله پروانه در متلب تصویر شاخص حاوی عنوان سورس کد، آیکون متلب و تصویر شمع با پروانه دور آن می باشد.

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۳۱۲,۰۰۰ تومان بود.قیمت فعلی: ۱۲۸,۰۰۰ تومان.

تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.

سورس کد الگوریتم شعله پروانه 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، فرض بر این است که راه حل‌های کاندید پروانه‌ها هستند و متغیرهای مسئله موقعیت پروانه‌ها در فضا است. بنابراین، پروانه‌ها با تغییر بردارهای موقعیتی خود می‌توانند در فضای یک بعدی، دو بعدی یا سه بعدی پرواز کنند. از آنجا که الگوریتم MFO یک الگوریتم مبتنی بر جمعیت است، مجموعه پروانه در یک ماتریس (مثلاً M) نمایش داده می‌شوند.

آرایه ای نیز برای تمامی پروانه‌ها برای ذخیره مقادیر تناسب (OM) وجود دارد. یکی دیگر از مؤلفه‌های اصلی در الگوریتم یک ماتریس شبیه به ماتریس پروانه‌ها است که ماتریس شعله یا آتش (F) است و یک آرایه نیز با نام OF برای ذخیره کردن مقدار تابع تناسب آن استفاده می‌شود.

ماتریس پروانه و شعله

در اینجا لازم به ذکر است که پروانه‌ها و شعله‌ها هر دو راه حل هستند. تفاوت بین آنها نحوه برخورد و بروزرسانی آنها در هر تکرار است. پروانه‌ها عوامل جستجوی واقعی هستند که در فضای جستجو حرکت می‌کنند ، در حالی که شعله‌های آتش بهترین موقعیت پروانه‌ای هستند که تاکنون بدست آمده است. به عبارت دیگر ، شعله‌ها را می‌توان پرچم‌ها یا پین‌هایی دانست که هنگام جستجوی فضای جستجو ، توسط پروانه‌ها فرو می‌روند.

روش جستجو در الگوریتم MFO

هر پروانه در اطراف یک پرچم (شعله) جستجو می‌کند و در صورت پیدا کردن راه حل بهتر ، آن را به روز می‌کند. با استفاده از این مکانیسم ، یک پروانه هرگز بهترین راه حل خود را از دست نمی‌دهد. از الگوریتم‌های معروف در این زمینه می‌توان به الگوریتم ژنتیک، دیفرانسیل تکامل، کلونی مورچگان، کلونی زنبور عسل، کرم شب تاب، گرگ خاکستری، شکار نهنگ و … اشاره کرد. برای درک کامل این الگوریتم مقاله کاملی تحت عنوان الگوریتم شعله پروانه MFO آماده کرده‌ایم که می‌توانید مشاهده کنید.

کد الگوریتم MFO در متلب

سورس کد الگوریتم MFO در متلب شامل توابعی است که اسکریپت MFO.m در واقع کد اصلی برنامه می‌باشد و بقیه فراخوانی‌ها از آنجا انجام می‌شود. توابع تست برای این الگوریتم 23 تابع می‌باشد که از معروف ترین آنها در زیر تعدادی را مشاهده می‌کنید.

  • تابع  SPHERE
  • تابع ACKLEY
  • تابع SUM SQUARES
  •  تابع ROSENBROCK
  • تابع SUM OF DIFFERENT POWERS
  • تابع ZAKHAROV
  • تابع Rastrigin

توابع تست برای ارزیابی الگوریتم‌های بهینه سازی بکار می‌روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم‌های بهینه سازی مقاله ای آماده کردیم. توابع زیادی برای تست عملکرد الگوریتم‌های بهینه سازی وجود دارد که در اینجا ما به این 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

برای دانلود سورس کامل محصول را خریداری فرمایید.

تصویر خروجی کد الگوریتم شعله پروانه

Moth flame optimization Convergence curve

درباره اثر

سورس کد الگوریتم شعله پروانه در متلب در محیط Matlab 2016b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت اثر توسط پی استور تضمین می‌شود و  دارای نشان تضمین کیفیت پی استور می‌باشد. برای دانلود اثر مذکور آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.

مشخصات تکمیلی سورس کد

نام اثر: سورس کد الگوریتم شعله پروانه MFO در متلب
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: MATLAB
ویژگی: قابل دانلود و ویرایش

برنامه‌نویس:  تیم برنامه‌نویسی پی‌استور

متشکل از اساتید و فارغ التحصیلان رشته‌های فنی - مهندسی

تیم برنامه نویسی پی استور یکی از اولین گروه‌های تشکیل شده در مجموعه آموزشی پی استور می‌باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته‌های فنی و مهندسی تشکیل شده که در زمینه‌های مختلف برنامه‌نویسی و تهیه سورس کد فعال هستند.

راهنمای خرید و ثبت سفارش

تصویر مراحل خرید از پی استور

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین 44225175 (پیش شماره 041) تماس بگیرید. – تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

نظرات

1 نظر|5.00 (میانگین امتیاز کاربران)

  1. مدیریت و پشتیبانی

    نظرات و پیشنهادات خود را با ما در میان بگذارید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شناسه اثر: 6223 دسته‌بندی موضوعی: برچسب:

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۳۱۲,۰۰۰ تومان بود.قیمت فعلی: ۱۲۸,۰۰۰ تومان.