در این پست سورس کد الگوریتم شعله – پروانه (شمع و پروانه) در پایتون Python قرار گرفته شده است. این سورس کد به زبان پایتون Python برای الگوریتم شمع و پروانه نوشته شده است. سورس کد الگوریتم شعله پروانه در پایتون بر اساس 12 توابع تست الگوریتم پروانه آتش را اجرا می کند. برای اینکه بتوانید مسئله الگوریتم شمع و پروانه را واضح و کامل درک کنید مقاله ای کامل با عنوان الگوریتم شعله پروانه MFO در همین سایت آماده کرده ایم که می توانید مطالعه کنید. در ادامه مختصری از الگوریتم برای درک کد الگوریتم MFO در پایتون بیان می شود.
تهیه و تنظیم: تیم طراحی و تولید پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم طراحی و تولید پی استور از اولین تیم های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف تولید محتوای تخصصی فعال هستند.
الگوریتم بهینه سازی شعله پروانه (شمع و پروانه)
الگوریتم شعله پروانه یا الگوریتم Moth-flame optimization algorithm که به اختصار الگوریتم MFO نیز نامیده می شود یکی از الگوریتم های بهینه سازی و فراابتکاری است که از رفتار پروانه ها در کنار شعله یا آتش روشی برای حل مسئله پیدا می کند. این الگوریتم در سال 2015 توسط سید علی میر جلیلی در مقاله ای تحت عنوان:
Moth-flame optimization algorithm: A novel nature-inspired heuristic paradigm
در ژورنال Knowledge-Based Systems مطرح شد. الگوریتم شعله پروانه با نام های دیگری همچون الگوریتم پروانه آتش، الگوریتم MFO، الگوریتم پروانه شعله نیز شناخته می شود. این الگوریتم یک الگوی اکتشافی نوین الهام گرفته از طبیعت و رفتار پروانه ها و علاقه مندی آن ها به شعله یا آتش است.
الهام بخش اصلی این بهینه ساز روش ناوبری پروانه ها در طبیعت به نام جهت گیری عرضی (Transverse Orientation) است. پروانه ها با حفظ یک زاویه ثابت با توجه به ماه، پرواز در شب را برای مسافت های طولانی انجام می دهند. ولی این حشرات فانتزی در یک مسیر مارپیچی بی فایده و کشنده در اطراف چراغ های مصنوعی به دام می افتند. در الگوریتم پروانه آتش به صورت ریاضی از این رفتار پروانه ها برای انجام بهینه سازی استفاده می شود.
الگوریتم MFO با سایر الگوریتم های شناخته شده الهام گرفته از طبیعت شباهت های زیادی دارد و نتایج آماری در مورد توابع معیار نشان می دهد که این الگوریتم قادر به ارائه نتایج بسیار امیدوارکننده و رقابتی است.
الگوریتم MFO
در الگوریتم MFO، فرض بر این است که راه حل های کاندید پروانه ها هستند و متغیرهای مسئله موقعیت پروانه ها در فضا است. بنابراین، پروانه ها با تغییر بردارهای موقعیتی خود می توانند در فضای یک بعدی، دو بعدی یا سه بعدی پرواز کنند. از آنجا که الگوریتم MFO یک الگوریتم مبتنی بر جمعیت است، مجموعه پروانه در یک ماتریس (مثلاً M) نمایش داده می شوند. آرایه ای نیز برای تمامی پروانه ها برای ذخیره مقادیر تناسب (OM) وجود دارد. یکی دیگر از مؤلفه های اصلی در الگوریتم یک ماتریس شبیه به ماتریس پروانه ها است که ماتریس شعله یا آتش (F) است و یک آرایه نیز با نام OF برای ذخیره کردن مقدار تابع تناسب آن استفاده می شود.
در اینجا لازم به ذکر است که پروانه ها و شعله ها هر دو راه حل هستند. تفاوت بین آنها نحوه برخورد و بروزرسانی آنها در هر تکرار است. پروانه ها عوامل جستجوی واقعی هستند که در فضای جستجو حرکت می کنند ، در حالی که شعله های آتش بهترین موقعیت پروانه ای هستند که تاکنون بدست آمده است. به عبارت دیگر ، شعله ها را می توان پرچم ها یا پین هایی دانست که هنگام جستجوی فضای جستجو ، توسط پروانه ها فرو می روند.
کد الگوریتم MFO در پایتون
سورس کد الگوریتم MFO در پایتون شامل توابعی است که اسکریپت MFO.py در واقع کد اصلی برنامه می باشد و بقیه فراخوانی ها از آنجا انجام می شود. توابع تست برای این الگوریتم 12 تابع می باشد که از معروف ترین آنها در زیر تعدادی را مشاهده می کنید.
- تابع SPHERE
- تابع ACKLEY
- تابع SUM SQUARES
- تابع ROSENBROCK
- تابع SUM OF DIFFERENT POWERS
- تابع ZAKHAROV
- تابع Rastrigin
توابع تست برای ارزیابی الگوریتم های بهینه سازی بکار می روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم های بهینه سازی مقاله ای آماده کردیم. توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 7 تابع اکتفا کرده ایم ولی در سورس کد با 12 نوع تابع مختلف (همانند مقاله) ارزیابی شده است همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی میماند.
بنابراین برای اجرای الگوریتم MFO در پایتون برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید.
قسمت هایی از سورس کد
import CostFun as fit import random import math import numpy import matplotlib.pyplot as plt Max_iteration=500 lb=-100 ub=100 dim=30 N=50 # Number of search agents if not isinstance(lb, list): lb = [lb] * dim if not isinstance(ub, list): ub = [ub] * dim #Initialize the positions of moths Moth_pos = numpy.zeros((N, dim)) for i in range(dim): Moth_pos[:,i] = numpy.random.uniform(0, 1, N) * (ub[i] - lb[i]) + lb[i] Moth_fitness=numpy.full(N,float("inf")) #Moth_fitness=numpy.fell(float("inf")) Convergence_curve=numpy.zeros(Max_iteration) sorted_population=numpy.copy(Moth_pos) fitness_sorted=numpy.zeros(N) ##################### best_flames=numpy.copy(Moth_pos) best_flame_fitness=numpy.zeros(N) #################### double_population=numpy.zeros((2*N,dim)) double_fitness=numpy.zeros(2*N) double_sorted_population=numpy.zeros((2*N,dim)) double_fitness_sorted=numpy.zeros(2*N) ######################### previous_population=numpy.zeros((N,dim)); previous_fitness=numpy.zeros(N)
ویدیو معرفی محصول
*** توجه ***
قبل از اجرای سورس کد الگوریتم در محیط پایتون حتماً از نصب پکیج های مورد استفاده در این سورس کد در Python خود مطمئن شوید پکیج های استفاده شده در این سورس کد numpy و matplotlib می باشد که اولی پکیج مربوط به استفاده از آرایه ها و ماتریس ها در پایتون و دومی مربوط به عملیات های نموداری و Plot گرفتن می باشد. پیشنهاد ما نصب اسپایدر (Spyder (Python 3.7 می باشد که هم پایتون و پکیج های مختلف و هم IDE های مختلفی را همراه با امکان آپدیتشان نصب می کند.
درباره سورس کد الگوریتم شعله پروانه در پایتون
سورس کد الگوریتم شعله – پروانه (شمع و پروانه) در پایتون Python عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در پایتون و با IDE اسپایدر (Spyder (Python 3.7 نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
تضمین کیفیت و گارانتی بازگشت هزینه
توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:
- ۱۰۰ درصد مبلغ پرداختی در حساب کاربری شما شارژ میشود.
- و یا 80 درصد مبلغ پرداختی به حساب بانکی شما عودت داده میشود.
مباحث مرتبط در زمینه الگوریتم MFO
سورس کدهای آماده الگوریتم های مشابه در پایتون
کد الگوریتم شعله پروانه در پایتون (شمع و پروانه) Python
تاریخ انتشار: | 4 آذر 1398 |
---|---|
تاریخ بروزرسانی: | 13 خرداد 1401 |
حجم فایل: | 4.5 کیلوبایت |
فرمت فایل | py. در قالب پایتون |
مدت زمان: | 1.0 |
هماهنگی با: | (Spyder (Python 3.8 و بالاتر |
تاکنون 545 نفر این محصول را تهیه کرده اند و 2 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
کد الگوریتم شعله پروانه در پایتون (شمع و پروانه) Python
هزینه سفارش: 139,000 تومان
تاریخ انتشار: | 4 آذر 1398 |
---|---|
تاریخ بروزرسانی: | 13 خرداد 1401 |
حجم فایل: | 4.5 کیلوبایت |
فرمت فایل | py. در قالب پایتون |
مدت زمان: | 1.0 |
هماهنگی با: | (Spyder (Python 3.8 و بالاتر |
2 بازخورد (مشاهده نظرات)
هزینه سفارش: 139,000 تومان
ندا پیرزاده
بسیار عالی و کاربردی بود 👏👏
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.