
در این پست به سورس کد الگوریتم وال WOA در متلب می پردازیم. این الگوریتم توسط سید علی میرجلیلی (Seyedali Mirjalili) در سال ۲۰۱۶ در مقاله The Whale Optimization Algorithm در ژورنال Advances in Engineering Software پایگاه علمی Elsevier ارائه شده است. در ادامه به معرفی نحوه کار کرد این الگوریتم بهینه سازی پرداخته می شود. برای دانلود مقاله روی این لینک (+) کلیک کنید.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
الگوریتم بهینه سازی وال ها یا نهنگ ها
یکی از بزرگترین پستانداران دنیا وال یا نهنک است از بین 7 نهنگ دنیا معروف ترین آنها، نهنگ گوژپشت یا نهنگ کوهان دار است. یک وال گوژپشت بالغ تقریباً به اندازه یک اتوبوس مدرسه است. شکار مورد علاقه وال ها، کریل و گروه های ماهی کوچک است. جالب ترین نکته در مورد وال های گوژپشت روش خاص شکار آنها می باشد. این رفتار کاوش گرانه به نام روش تغذیه حباب تور (Bubble-net) شناخته می شود.
وال های گوژپشت ترجیح می دهند تا دسته ای از کریل ها و یا ماهی های کوچک را در نزدیک سطح آب شکار کنند. این نکته مشاهده شده است که این کاوش و شکار، با ایجاد حباب های شاخصی در امتداد یک دایره یا مسیر هایی به انجام می رسد. الگوریتم WOA یکی از الگوریتم های بهینه سازی الهام گرفته شده از طبیعت و مبتنی بر جمعیت است که در زمینه های مختلف می توان از آن استفاده کرد.
مراحل سورس کد الگوریتم وال WOA
الگوریتم وال WOA در سه مرحله یا سه فاز انجام می شود که بصورت زیر است:
- شکار محاصره ای
- فاز بهره برداری : روش حمله به حباب تور
- مرحله اکتشاف: جستجوی شکار
برای درک کامل الگوریتم بهینه سازی وال ها مقاله ای در همین سایت ارائه شده است که می توانید از این لینک مشاهده کنید.
الگوریتم وال WOA در متلب
سورس کد الگوریتم WOA در متلب شامل توابعی است که اسکریپت main در واقع کد اصلی برنامه می باشد و بقیه فراخوانی ها از آنجا انجام می شود. همچنین این برنامه داری 4 تابع است. توابع تست برای این الگوریتم 23 تابع می باشد که از معروف ترین آنها در زیر تعدادی را مشاهده می کنید.
- تابع SPHERE
- تابع ACKLEY
- تابع SUM SQUARES
- تابع ROSENBROCK
- تابع SUM OF DIFFERENT POWERS
- تابع ZAKHAROV
- تابع Rastrigin
توابع تست برای ارزیابی الگوریتم های بهینه سازی بکار می روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم های بهینه سازی مقاله ای آماده کردیم. توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 7 تابع اکتفا کرده ایم ولی در سورس کد با 23 نوع تابع مختلف (همانند مقاله) ارزیابی شده است.
همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی می ماند بنابراین برای اجرای الگوریتم WOAدر متلب برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید.
فرصت استثنایی
فرصت استثنایی برای خرید پک آموزشی الگوریتم WOA را از دست ندهید اگر می خواهید الگوریتم وال را بصورت کامل یاد بگیرید و با قیمت مقرون به صرفه محصول را خریداری کنید حتماً پیشنهاد ما رو از دست ندهید. برای اطلاعات بیشتر روی لینک زیر کلیک کنید.
پکیج آموزش الگوریتم وال یا نهنگ WOA
قسمتی از سورس کد
clc clear close all SearchAgents_no=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=500; % Maximum numbef of iterations % Load details of the selected benchmark function [lb,ub,dim,fobj]=Get_Functions_details(Function_name); [Best_score,Best_pos,WOA_cg_curve]=WOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); figure('Position',[269 240 660 290]) %Draw search space subplot(1,2,1); func_plot(Function_name); title('Parameter space') xlabel('x_1'); ylabel('x_2'); zlabel([Function_name,'( x_1 , x_2 )']) %Draw objective space subplot(1,2,2); semilogy(WOA_cg_curve,'Color','r') title('Objective space') xlabel('Iteration'); ylabel('Best score obtained so far'); axis tight grid on box on legend('WOA') display(['The best solution obtained by WOA is : ', num2str(Best_pos)]); display(['The best optimal value of the objective funciton found by WOA is : ', num2str(Best_score)]);
برای دانلود سورس کامل محصول را خریداری فرمایید.
تصویر خروجی الگوریتم نهنگ در متلب
درباره سورس کد الگوریتم وال WOA
سورس کد الگوریتم وال ها WOA در متلب در محیط Matlab 2017 نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
مباحث مرتبط با الگوریتم وال WOA
آموزش الگوریتم های فرا ابتکاری
تاریخ انتشار: | 3 مرداد 1398 |
---|---|
تاریخ بروزرسانی: | 25 اسفند 1398 |
حجم فایل: | 4.3 کیلو بایت |
فرمت فایل | m. در قالب Matlab |
نسخه: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2017 |
تاکنون 248 نفر این محصول را تهیه کرده اند و 2 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 29,000 تومان
تاریخ انتشار: | 3 مرداد 1398 |
---|---|
تاریخ بروزرسانی: | 25 اسفند 1398 |
حجم فایل: | 4.3 کیلو بایت |
فرمت فایل | m. در قالب Matlab |
نسخه: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2017 |
2 بازخورد (مشاهده نظرات)
قیمت: 29,000 تومان
alireza
خوب و کامل بود من امتیاز عالی رو ثبت کردم.
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.