در این پست سورس کد الگوریتم گرگ خاکستری بهبود یافته IGWO در متلب قرار داده شده است. الگوریتم گرگ خاکستری بهبود یافته که با عنوان An improved grey wolf optimizer algorithm for the inversion of geoelectrical data در سال 2018 در ژورنال Acta Geophysica از انتشارات Springer چاپ شده است. مقاله اصلی این الگوریتم این لینک (+) دانلود کنید.
قبل از توضیح و تشریح سورس کد الگوریتم گرگ خاکستری بهبود یافته IGWO در متلب ابتدا توضیح مختصری از الگوریتم گرگ خاکستری ارائه می شود و سپس در ادامه به تشریح الگوریتم گرگ خاکستری بهبود یافته خواهیم پرداخت.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
الگوریتم گرگ خاکستری چیست؟
الگوریتم گرگ خاکستری GWO یک الگوریتم متاهیورستیک یا فرا ابتکاری است است و برای مسائل بهینه سازی از آن استفاده می شود. که از ساختار سلسله مراتبی hieratical و رفتار اجتماعی گرگ های خاکستری در هنگام شکار کردن و حمله به طعمه الهام گرفته است. این الگوریتم مبتنی بر جمعیت Population-Based بوده، روال ساده ای دارد. در هر گله از گرگ ها برای شکار کردن ۴ درجه وجود دارد که مانند شکل زیر به صورت یک ساختار هرمی مدل می شود.
- گرگ های رهبر گروه alpha نامیده می شوند که می توانند مذکر یا مونث باشند. این گرگ ها بر گله تسلط دارند
- گرگ های beta: کمک به گرگ های alpha در فرایند تصمیم گیری بوده و همچنین مستعد انتخاب شدن به جای آن ها هستند.
- گرگ های delta: پایین تر از گرگ های beta و شامل گرگ های پیر، شکارچی ها و گرگ های مراقبت کننده از نوزادان
- گرگ های omega: پایین ترین مرتبه در هرم سلسله مراتب که کمترین حق را نسبت به بقیه اعضای گروه دارند. بعد از همه غذا می خورند و در فرایند تصمیم گیری مشارکتی ندارند.
روش شکار در گرگ های خاکستری :
شامل ۳ مرحله اصلی است:
- مشاهده شکار، ردیابی و تعقیب آن (tracking and approaching)
- نزدیک شدن، احاطه کردن (حلقه زدن) به دور شکار و گمراه کردن آن تا زمانی که از حرکت باز بماند (Pursing and encircling)
- حمله به شکار (attacking)
بهینه سازی با استفاده از گرگ های alpha, beta و delta انجام می شود. یک گرگ به عنوان alpha هدایت کننده اصلی الگوریتم فرض می شود و یک گرگ beta و delta نیز مشارکت دارند و بقیه گرگ ها به عنوان دنبال کننده آن ها محسوب می شوند. گرگ های خاکستری توانایی تخمین موقعیت شکار را دارند. در جستجوی اولیه هیچ ایده ای در مورد موقعیت شکار نداریم. فرض می شود گرگ های alpha, beta, delta دانش اول بهتری در خصوص موقعیت شکار دارند.
ترتیب الگوریتم
- برازندگی کلیه جواب ها محاسبه شده و سه جواب برتر به عنوان alpha, beta, deltaتا پایان الگوریتم انتخاب می شوند.
- در هر تکرار سه جواب برتر (گرگ های alpha, beta, delta) قابلیت تخمین موقعیت شکار را داشته و این کار را در هر iteration با استفاده از رابطه زیر انجام می دهند:
- در هر تکرار بعد از تعیین موقعیت گرگ های alpha, beta, delta، آپدیت موقعیت بقیه جواب ها با تبعیت از آن ها انجام می شود.
- در هر تکرار بردار a (و به تبع آن A) و C آپدیت می شوند.
- در پایان تکرارها موقعیت گرگ alpha به عنوان نقطه بهینه معرفی می شود.
الگوریتم گرگ خاکستری بهبود یافته IGWO
الگوریتم گرگ خاکستری بهبود یافته یا IGWO که اختصار Improved Grey Wolf Optimizer است برای بهبود در الگوریتم پایه گرگ خاکستری ارائه شده است. طبق مقاله اصلی بهبود یافته دو مورد اشکال در الگوریتم پایه وجود دارد که می تواند بهبود یابد یکی در مورد ضریب همگرایی که در الگوریتم پایه با نام متغیر a شناخته می شود و دوم در مورد نحوه استراتژی تعیین موقعیت جدید یک گرگ که بصورت معدل حرکت سه گرگ alpha، beta و delta تعیین می شود.
پس برای بهبود الگوریتم گرگ خاکستری دو قسمت از این الگوریتم اصلاح می شود.
- تغییر ضریب همگرایی
- تغییر در معادله محاسبه جدید موقیت هر گرگ
تغییر ضریب همگرایی
ضریب همگرایی a در الگوریتم GWO بصورت خطی از 2 تا 0 متغیر است. در این مقاله (بهبود الگوریتم گرگ خاکستری) ، معادله ضریب همگرایی به ترتیب زیر برای تعادل بهتر بین اکتشاف و بهره برداری تغییر یافته است:
در معادله بالا ، عامل همگرایی a به عنوان یک تغییر نمایی توصیف شده است ، همانطور که در شکل پایین نشان داده شده است. در الگوریتم اصلی GWO ، نیمی از تکرارها برای اکتشاف و نیمی دیگر به بهره برداری اختصاص داده شده است. با استفاده از ضریب همگرایی اصلاح شده ، تعداد بیشتری از تکرارها برای اکتشافات استفاده می شود ، که برای جلوگیری از حداقل های محلی مفید است. با استفاده از این نوع ضریب همگرایی غیرخطی ، درصد تکرارهای مورد استفاده برای اکتشاف و بهره برداری به ترتیب تقریباً %60 و %40 است.
تغییر در معادله محاسبه جدید موقیت هر گرگ
موقعی جدید هر گرگ در مقاله پایه بر اساس موقعیت سه گرگ آلفا، بتا و دلتا مشخص می شود که فرمول های زیر نشان دهنده موقعیت جدید گرگ آلفا X1، گرگ بتا X2 و گرگ دلتا X3 است. موقعیت جدید یک گرگ امگا از میانگین موقعیت سه گرگ دیگر بدست می آید.
اشکال این معادله در نگاه یکسان به موقعیت سه گرگ اصلی یعنی آلفا، بتا و دلتا می باشد. چرا که از معدل این سه گرگ موقعت جدید گرگ امگا بدست می آید در حالی که این نگرش به دور از موقیت اجتماعی در گله گرگ ها می باشد. در روش بهبود یافته الگوریتم انتخاب موقیت گرگ امگا بر اساس درصد برتری سه گرگ با توجه به هرم سلسله مراتب اعمال می شود.
یعنی موقعیت جدید گرگ امگا بر اساس یک وزن منطبق بر سلسله مراتب بدست می آید که در صد بیشتری از گرگ آلفا و درصد کمتری از دو گرگ دیگر داشته باشد. در فرمول بالا Q نشانگر امتیاز یا همان Fittness یک گرگ است. به این ترتیب گرگ امگا درصد های متفاوتی از سه گرگ با توجه به سلسله مراتب شان بدست می آورد.
پکیج کامل آموزش الگوریتم گرگ خاکستری GWO
فرصت استثنایی برای خرید پک کلی آموزش الگوریتم گرگ خاکستری GWO را از دست ندهید اگر می خواهید الگوریتم GWO را بصورت کامل یاد بگیرید و با قیمت مقرون به صرفه محصول را خریداری کنید حتماً پیشنهاد ما رو از دست ندهید. برای اطلاعات بیشتر روی لینک زیر کلیک کنید.
کد متلب الگوریتم گرگ خاکستری بهبود یافته IGWO
در این سورس کد ما دو الگوریتم گرگ خاکستری معمولی GWO و بهبود یافته IGWO را باهم مقایسه کردیم. توابع تست زیادی برای مقایسه الگوریتم های فرا اکتشافی وجود دارد که ما از 23 تابع تست از F1 تا F23 استفاده کرده ایم. در ادامه قسمتی از این سورس کد آورده شده است.
close all; clear clc SearchAgents_no=30; % Number of search agents Function_name='F12'; % 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_score1,Best_pos1,GWO_cg_curve1]=GWO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); [Best_score2,Best_pos2,GWO_cg_curve2]=IGWO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); hold on; semilogy(GWO_cg_curve1,'Color','r') semilogy(GWO_cg_curve2,'Color','b') title('Objective space') xlabel('Iteration'); ylabel('Best score obtained so far'); legend('GWO','IGWO') display(['The best solution obtained by GWO is : ', num2str(Best_pos1)]); display(['The best optimal value of the objective funciton found by GWO is : ', num2str(Best_score1)]); display(['The best solution obtained by GWO is : ', num2str(Best_pos2)]); display(['The best optimal value of the objective funciton found by GWO is : ', num2str(Best_score2)]);
ویدئوی معرفی محصول
درباره محصول
سورس کد الگوریتم گرگ خاکستری بهبود یافته IGWO در متلب عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در نرم افزار متلب نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
مباحث مرتبط با الگوریتم گرگ خاکستری GWO
آموزش الگوریتم های فرا ابتکاری
تاریخ انتشار: | 27 مهر 1398 |
---|---|
تاریخ بروزرسانی: | 25 اسفند 1398 |
حجم فایل: | 5.4 کیلوبایت |
فرمت فایل | m. در قالب Matlab |
نسخه: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2009 و بالاتر |
تاکنون 445 نفر این محصول را تهیه کرده اند و 2 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
تاریخ انتشار: | 27 مهر 1398 |
---|---|
تاریخ بروزرسانی: | 25 اسفند 1398 |
حجم فایل: | 5.4 کیلوبایت |
فرمت فایل | m. در قالب Matlab |
نسخه: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2009 و بالاتر |
2 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
شهلا تبریزی
خیلی خوب و کامل بود. از بابت خریدم راضی هستم. از پشتیبانی عالی پی استور هم تشکر می کنم. من امتیاز عالی رو برای این فایل ثبت کردم.
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.