مجموعه آموزشی پی استور - https://programstore.ir

الگوریتم گرگ خاکستری GWO

در این قسمت به آموزش و توضیح الگوریتم گرگ خاکستری Grey Wolf Optimizer یا به اختصار GWO پرداخته شده است. این الگوریتم توسط سید علی میرجلیلی (Seyedali Mirjalili) در سال 2014 در مقاله Grey Wolf Optimizer [1] در ژورنال Advances in Engineering Software پایگاه علمی Elsevier  [2]ارائه شده است. در ادامه به معرفی نحوه کارکرد و آموزش و فلوچارت این الگوریتم بهینه سازی [3] پرداخته می شود.

الگوریتم گرگ خاکستری

الگوریتم گرگ خاکستری GWO یک الگوریتم متاهیورستیک است که از ساختار سلسله مراتبی hieratical و رفتار اجتماعی گرگ های خاکستری در هنگام شکار کردن الهام گرفته است. این الگوریتم مبتنی بر جمعیت بوده، فرآیند ساده ای دارد و به سادگی قابلیت تعمیم به مسائل با ابعاد بزرگ را دارد. گرگ های خاکستری به عنوان شکارچیان راس یا apex در نظر گرفته می شوند، که در بالای هرم زنجیره غذایی هستند. گرگهای خاکستری ترجیح می دهند در یک گروه (دسته) زندگی کنند، هر گروه به طور متوسط 5-12 عضو دارد. همه اعضای این گروه دارای سلسله مراتب تسلط اجتماعی بسیار دقیق هستند و وظایف خاصی دارند. در هر گله از گرگ ها برای شکار کردن ۴ درجه وجود دارد که مانند شکل زیر به صورت یک ساختار هرمی مدل می شود.

سلسله مراتب الگوریتم گرگ خاکستری

روش شکار در گرگ های خاکستری

در توضیح و آموزش الگوریتم گرگ خاکستری می توان گفت این الگوریتم شامل ۳ مرحله اصلی است:

  1. مشاهده شکار، ردیابی و تعقیب آن (tracking and approaching)
  2. نزدیک شدن، احاطه کردن (حلقه زدن) به دور شکار و گمراه کردن آن تا زمانی که از حرکت باز بماند (Pursing and encircling)
  3. حمله به شکار (attacking)

در این مقاله ساختار سلسله مراتبی و رفتار اجتماعی گرگ ها در حین فرایند شکار به صورت ریاضی مدل شده و برای طراحی الگوریتمی برای بهینه سازی مورد استفاده قرار گرفته است.

فیلم آموزشی الگوریتم گرگ خاکستری [5]

فیلم آموزش الگوریتم گرگ خاکستری در متلب

در فیلم آموزشی الگوریتم گرگ خاکستری GWO در متلب به توضیح کامل و واضح مفاهیم تئوری الگوریتم گرگ خاکستری و نحوه کدنویسی آن در متلب پرداخته می شود. این آموزش در مدت زمان 1 ساعت و 30 دقیقه توسط مهندس امین جلیل زاده تدریس شده است.

بهینه سازی با استفاده از گرگ های alpha, beta و delta انجام می شود. یک گرگ به عنوان alpha هدایت کننده اصلی الگوریتم فرض می شود و یک گرگ beta و delta نیز مشارکت دارند و بقیه گرگ ها به عنوان دنبال کننده آن ها محسوب می شوند. گرگ های خاکستری توانایی تخمین موقعیت شکار را دارند. برای مدل سازی این فرایند مراحل زیر را ببینید: در جستجوی اولیه هیچ ایده ای در مورد موقعیت شکار نداریم. فرض می شود گرگ های alpha, beta, delta دانش اول بهتری در خصوص موقعیت شکار (نقطه بهینه جواب) دارند.

تشریح بهینه ساز گرگ خاکستری GWO

در بهینه ساز گرگ خاکستری GWO، مناسب ترین راه حل را به عنوان آلفا در نظر می گیریم ، و راه حل های دوم و سوم مناسب به ترتیب بتا و دلتا نامگذاری می شوند. بقیه راه حل ها امگا در نظر گرفته می شوند. در الگوریتم GWO ، شکار توسط 𝛼 𝛽 و δ هدایت می شود. راه حل 𝜔 از این سه گرگ پیروی می کند.

الگوریتم گرگ خاکستری

وقتی شکار توسط گرگ ها احاطه شده و از حرکت بایستد حمله به رهبری گرگ alpha شروع می شود. مدل کردن این فرآیند با استفاده از کاهش بردار a انجام می شود. از آنجا که A برداری تصادفی در بازه [-2a,2a] است، با کاهش a، بردار ضرایب A هم کاهش می یابد. اگر |A|<1 باشد، گرگ alpha به شکار ( و بقیه گرگ ها) نزدیک می شود و اگر |A|>1 گرگ از شکار ( و بقیه گرگ ها) دور خواهد شد. الگوریتم گرگ خاکستری الزام دارد که تمام گرگ ها موقعت خود را برحسب موقعیت گرگ های alpha, beta, delta آپدیت کنند.

محاصره طعمه توسط گرگ های خاکستری

در طول شکار، گرگ های خاکستری طعمه را محاصره می کنند. مدل ریاضی رفتار محاصره در معادلات زیر ارائه شده است. که در روابط زیر t تکرار فعلی ، A و C بردارهای ضریب هستند ، Xp بردار موقعیت طعمه است و X بردار موقعیت گرگ خاکستری را نشان می دهد.

GWO equations 1

بردارهای A و C به شرح زیر محاسبه می شوند:

GWO equations 2

در روابط بالا متغیرa به طور خطی در طول تکرارها از 2 به 0 کاهش می یابند و r1 ، r2 بردارهای تصادفی در بازه [0 ، 1] هستند.

فیلم آموزش الگوریتم گرگ خاکستری در پایتون [6]

فیلم آموزش الگوریتم گرگ خاکستری در پایتون

در فیلم آموزشی الگوریتم گرگ خاکستری GWO در پایتون به توضیح کامل مفاهیم تئوری و نحوه کدنویسی الگوریتم گرگ خاکستری در پایتون پرداخته می شود. این آموزش در مدت زمان 1 ساعت و 52 دقیقه توسط مهندس امین جلیل زاده تدریس شده است.

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

GWO equations 3

الگوریتم گرگ خاکستری

توضیح مرحله جستجو

مرحله جستجو پروسه ای دقیقا عکس فرایند حمله دارد: در هنگام جستجو گرگ ها از یکدیگر دور می شوند تا شکار را ردیابی کنند (|A|>1) در حالی ک.ه پس از ردیابی شکار، گرگ ها در فاز حمله به یکدیگر نزدیک می شوند (|A|<1). به این پروسه واگرایی در جستجو – همگرایی در حمله می گویند.

Exploration: |A|>1

Exploitation: |A|<1

نقش بردار C: بردار C به عنوان موانع موجود در طبیعت که نزدیک شدن گرگ ها به شکار را کند می کنند در نظر گرفته می شود. بردار C به شکار وزن داده و ان را برای گرگ ها غیر قابل دستیابی تر می کند. این بردار برخلاف a به صورت خطی از ۲ تا صفر کاهش نمی یابد.

ترتیب الگوریتم

پاورپوینت الگوریتم گرگ خاکستری GWO [7]

پاورپوینت الگوریتم گرگ خاکستری

پاورپوینت آماده الگوریتم گرگ خاکستری در 19 صفحه بصورت فارسی به توضیح کامل الگوریتم گرگ خاکستری GWO و اصول کلی در آن می پردازذ. برای تهیه این پاورپوینت از طریق لینک زیر اقدام کنید.

شبه کد الگوریتم گرگ خاکستری

Pseudo code of the GWO algorithm

فلوچارت الگوریتم گرگ خاکستری

با توجه به مطالب ذکر شده فلوچارت الگوریتم گرگ خاکستری را می توان بصورت زیر در نظر گرفت. این فلوچارت فقط با تعیین مقادیر بردارهای A و C کار خواهد کرد. توضیح این فلوچارت براحتی با مطالعه مراحل گفته شده در بالا بسیار ساده است.

Flowchart of the GWO algorithm

نتیجه گیری

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

کد الگوریتم گرگ خاکستری در پایتون Python [8]

سورس کد الگوریتم گرگ خاکستری در پایتون

سورس کد الگوریتم GWO بر اساس 12 توابع تست الگوریتم گرگ خاکستری را در پایتون اجرا می‌کند. این سورس کد به پایتون نوشته شده است و نیازمند نصب کتابخانه های numpy و matplotlib می‌باشد. برای اطلاعات بیشتر و دریافت سورس کد بر روی لینک زیر کلیک نمایید.

پکیج آموزش الگوریتم گرگ خاکستری GWO [9]

پکیج کامل آموزش الگوریتم گرگ خاکستری

این محصول یک پکیج کامل برای آموزش و یادگیری و هر آنچه لازم است برای الگوریتم گرگ خاکستری بدانید را در خود دارد. برای آموزش کامل الگوریتم و دانلود پکیج ویژه ما با نام پکیج آموزش الگوریتم گرگ خاکستری GWO همین حالا اقدام کنید.

منابع

Seyedali Mirjalili, Seyed Mohammad Mirjalili, Andrew Lewis ,Grey Wolf Optimizer,Advances in Engineering Software 69 (2014) 46–61 [10]