ایمیل خود را وارد و بر روی بچرخون کلیک کنید. (کد تخفیف دریافتی را هنگام ثبت سفارش وارد کنید)
قوانین بازی:
در این پست سورس کدی برای شما آماده کردهایم که به مقایسه و تحلیل الگوریتمهای بهینه سازی در متلب میپردازد. به طور قاطع نمیتوان گفت برای حل یک مسئله کدام الگوریتم بهینه سازی یا متاهیورستیک مناسب است و فقط با مقایسه نتایج میتوان ادعا کرد کدام الگوریتم روش بهتری را ارائه میکند. در ادامه به مقایسه 12 الگوریتم بهینه سازی میپردازیم.
برنامهنویس:
هزینه سفارش:
۲۵۹,۰۰۰ تومان قیمت اصلی: ۲۵۹,۰۰۰ تومان بود.۱۰۳,۶۰۰ تومانقیمت فعلی: ۱۰۳,۶۰۰ تومان.
تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.
در این پست سورس کدی برای شما آماده کردهایم که به مقایسه الگوریتم های بهینه سازی در متلب میپردازد. شاید مهمترین سوال و دغدغه اکثر محققان در استفاده از الگوریتمهای بهینه سازی و مخصوصاً الگوریتمهای فرا ابتکاری یا Metaheuristic، انتخاب یک الگوریتم مناسب برای حل مسئله است. به طور قاطع نمیتوان گفت برای حل یک مسئله کدام الگوریتم بهینه سازی یا متاهیورستیک مناسب است و فقط با مقایسه نتایج میتوان ادعا کرد کدام الگوریتم روش بهتری را ارائه میکند. در ادامه به مقایسه ۱۲ الگوریتم بهینه سازی میپردازیم.
هدف از الگوریتمهای بهینه سازی یافتن یک جواب قابل قبول، با توجه به محدودیت و نیاز مسئله است. در تعیین جواب یک مسئله، ممکن است جوابهای مختلفی برای آن وجود داشته باشد. برای مقایسه جوابهای یک مسئله و انتخاب جواب بهینه، تابعی به نام تابع هدف یا تابع هزینه که Cost Function نیز نامیده میشود، تعریف میشود. انتخاب این تابع به ماهیت مسئله وابسته است. به عنوان مثال، زمان یا هزینه از جمله اهداف رایج بهینهسازی شبکههای حمل و نقل است.
فرآیند بهینه سازی بطور کلی در چهار مرحله فرموله کردن، مدل سازی، بهینه سازی و استقرار مسئله انجام میشود که در ادامه به توضیح هر یک از این مراحل پرداخته میشود.
در این مرحله، یک مسئلهی تصمیم گیری، همراه با یک ساختار کلی از آن تعریف میشود. این ساختار کلی ممکن است خیلی دقیق نباشد اما وضعیت کلی مسئله را، که شامل فاکتورهای ورودی و خروجی و اهداف مسئله است، بیان میکند. شفاف سازی و ساختاردهی به مسئله، ممکن است برای بسیاری از مسایل بهینه سازی، کاری پیچیده باشد.
در این مرحله یک مدل ریاضی کلی برای مسئله، ساخته میشود. مدلسازی ممکن است از مدلهای مشابه در پیشینه ی موضوع کمک بگیرد. این گام موجب تجزیه مسئله به یک یا چند مدل بهینهسازی میگردد.
پس از مدل سازی مسئله، روال حل، یک راه حل خوب برای مسئله تولید میکند. این راهحل ممکن است بهینه یا تقریباً بهینه باشد. نکتهای که باید به آن توجه داشت این است که راه حل به دست آمده، راه حلی برای مدل طراحی شده است، نه برای مسئلهی واقعی. در هنگام فرموله کردن و مدلسازی ممکن است تغییراتی در مسئله واقعی به وجود آمده و مسئلهی جدید، نسبت به مسئلهی واقعی تفاوت زیادی داشته باشد.
راه حل به دست آمده توسط تصمیم گیرنده بررسی میشود و در صورتی که قابل قبول باشد، مورد استفاده قرار میگیرد و در صورتی که راهحل قابل قبول نباشد، مدل یا الگوریتم بهینه سازی باید توسعه داده شده و فرایند بهینه سازی تکرار گردد.
در سورس کدی که در متلب برای شما آماده شده است به مقایسه ۱۲ الگوریتم بهینه سازی و نتایج حاصل از آنها پرداخته شده است. این الگوریتمها مبتنی بر جمعیت یا population based بوده که با الهام گیری از طبیعت و محیط پیرامون ما اقدام به حل مسئله میکنند. این الگوریتمها عبارتند از:
برای مقایسه عملکرد الگوریتمهای فوق از ۲۳ تابع تست یا تابع محک استفاده کردهایم. توابع زیادی برای تست عملکرد الگوریتمهای بهینه سازی وجود دارد که در اینجا ما به این ۲۳ تابع اکتفا کردهایم. همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی میماند.
clc close all clear addpath('GA'); addpath('PSO'); addpath('ACO'); addpath('BEE'); addpath('CMA-ES'); addpath('DE'); addpath('FA'); addpath('GWO'); addpath('ICA'); addpath('SFLA'); addpath('WOA'); addpath('MFO'); SearchAgents_no=30; % Number of search agents Function_name='F5'; % Name of the test function that can be from F1 to F23 Max_iteration=1000; % Maximum numbef of iterations % Load details of the selected benchmark function [lb,ub,dim,fobj]=Get_Functions_details(Function_name); Positions=initialization(SearchAgents_no,dim,ub,lb); [Best_SolGA,GA_cg_curve]=GA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); [Best_SolPSO,PSO_cg_curve]=PSO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); [Best_SolACO,ACO_cg_curve]=ACO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); [Best_SolBEE,BEE_cg_curve]=BEE(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); [Best_Solcmaes,cmaes_cg_curve]=cmaes(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); [Best_SolDE,DE_cg_curve]=DE(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); [Best_SolFA,FA_cg_curve]=FA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); [Best_SolICA,ICA_cg_curve]=ICA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); [Best_SolSFLA,SFLA_cg_curve]=SFLA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); [Best_scoreGWO,Best_posGWO,GWO_cg_curve]=GWO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); [Best_scoreWOA,Best_posWOA,WOA_cg_curve]=WOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); [Best_scoreMFO,Best_posMFO,MFO_cg_curve]=MFO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions); %Draw objective space semilogy(GA_cg_curve,'Color','[0 0 0]','LineWidth',2) hold on; semilogy(PSO_cg_curve,'Color','[0 0 1]','LineWidth',2) semilogy(ACO_cg_curve,'Color','[0 1 0]','LineWidth',2) semilogy(BEE_cg_curve,'Color','[0 1 1]','LineWidth',2) semilogy(cmaes_cg_curve,'Color','[1 0 0]','LineWidth',2) semilogy(DE_cg_curve,'Color','[1 0 1]','LineWidth',2) semilogy(FA_cg_curve,'Color','[1 1 0]','LineWidth',2) semilogy(ICA_cg_curve,'--','Color','[0 0 1]','LineWidth',2) semilogy(SFLA_cg_curve,'--','Color','[0 1 0]','LineWidth',2) semilogy(GWO_cg_curve,'--','Color','[0 1 1]','LineWidth',2) semilogy(WOA_cg_curve,'--','Color','[1 0 0]','LineWidth',2) semilogy(MFO_cg_curve,'--','Color','[1 0 1]','LineWidth',2) xlabel('Iteration'); ylabel('Best score obtained so far'); grid on legend('GA','PSO','ACO','BEE','CMA-ES','DE','FA','ICA','SFLA','GWO','WOA','MFO','Location','bestoutside')
سورس کد مقایسه الگوریتم های بهینه سازی در متلب در محیط Matlab 2017b نوشته و اجرا شده است. این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت اثر توسط پی استور تضمین میشود و دارای نشان تضمین کیفیت پی استور میباشد. برای دانلود اثر مذکور آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
نام اثر: | مقایسه الگوریتم های بهینه سازی در متلب |
نوع اثر: | سورس کد |
برنامهنویس: | تیم برنامهنویسی پیاستور |
زبان برنامه نویسی: | Matlab |
ویژگی: | قابل دانلود و ویرایش |
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
هزینه سفارش:
۲۵۹,۰۰۰ تومان قیمت اصلی: ۲۵۹,۰۰۰ تومان بود.۱۰۳,۶۰۰ تومانقیمت فعلی: ۱۰۳,۶۰۰ تومان.
نظرات
علی
سلام و خسته نباشید
ممنون بابت مطالب مفیدی که قرار میدهید
سوالی داشتم؛ برای الگوریتمهای بهینه سازی که بیان شده فرمولهای ریاضی ارائه دادند. چگونه این فرمولهای ریاضی رو بدست میاورند؟
مدیریت و پشتیبانی
سلام و وقت بخیر
اکثر کارهایی که ما در پیرامون خود می بینیم به طور نظام مند و تکراری در حال انجام هستند مانند کوچ پرندگان، شکار حیوانات، پدیده های طبیعی و غیره. بر همین اساس می توان یک سیستم منظم را فرموله کرد. در ریاضیات، فیزیک و زیست شناسی و دیگر علوم الگوهایی که از قبل کشف و اثبات شده اند که توسط افراد صاحب نظر انجام شده است. به عنوان نمونه تعیین فاصله بین دو نقطه در محیط دوبعدی توسط رابطه فیثاغورث می تواند انجام شود و این فرمول توسط آقای فیثاغورث اثبات شده است. حالا با فرمول های اثبات شده علوم دیگر می توان رفتارهای طبیعی موجودات و اجرام و غیره را شبیه سازی کرد. حالا چطور؟ این همان چیزی هست که یک نفر یا یک تیم سال ها مطالعه و تحقیق می کنه تا این الگوبرداری رو به شکل ریاضی بیان کنه.
مجید
باسلام
لطفا مرجع اصلی این مقاله را لطف میکنید ؟
سپاس
مدیریت و پشتیبانی
سلام
مجید عزیز این محصول پیاده سازی مقاله نیست. ما چند الگوریتم بهینه سازی مهم رو کنار هم گذاشتیم و با ۲۳ تابع محک آنها را باهم مقایسه کردیم. از خود این محصول میشه مقاله نوشت.
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.