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

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

مقدمه

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

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

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

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

  • گرگ های رهبر گروه alpha نامیده می شوند که می توانند مذکر یا مونث باشند. این گرگ ها بر گله تسلط دارند
  • گرگ های beta: کمک به گرگ های alpha در فرایند تصمیم گیری بوده و همچنین مستعد انتخاب شدن به جای آن ها هستند.
  • گرگ های delta: پایین تر از گرگ های beta و شامل گرگ های پیر، شکارچی ها و گرگ های مراقبت کننده از نوزادان
  • گرگ های omega: پایین ترین مرتبه در هرم سلسله مراتب که کمترین حق را نسبت به بقیه اعضای گروه دارند. بعد از همه غذا می خورند و در فرایند تصمیم گیری مشارکتی ندارند.

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

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

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

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

بهینه سازی با استفاده از گرگ های 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 بردار موقعیت گرگ خاکستری را نشان می دهد.

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

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

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

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

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

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

Exploration: |A|>1

Exploitation: |A|<1

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

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

  • برازندگی کلیه جواب ها محاسبه شده و سه جواب برتر به عنوان alpha, beta, deltaتا پایان الگوریتم انتخاب می شوند.
  • در هر تکرار سه جواب برتر (گرگ های alpha, beta, delta) قابلیت تخمین موقعیت شکار را داشته و این کار را در هر iteration با استفاده از رابطه زیر انجام می دهند:
  • در هر تکرار بعد از تعیین موقعیت گرگ های alpha, beta, delta، آپدیت موقعیت بقیه جواب ها با تبعیت از آن ها انجام می شود.
  • در هر تکرار بردار a (و به تبع آن A) و C آپدیت می شوند.
  • در پایان تکرارها موقعیت گرگ alpha به عنوان نقطه بهینه معرفی می شود.

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

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

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

نتیجه گیری

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

منابع

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

مطالب مرتبط

مطالب زیر را حتما بخوانید

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.