الگوریتم بهینه سازی وال ها یا نهنگ WOA

الگوریتم بهینه سازی وال ها یا نهنگ WOA عنوان مطلبی است که در این بخش به آن پرداخته می شود. این الگوریتم توسط سید علی میرجلیلی (Seyedali Mirjalili) در سال ۲۰۱۶ در مقاله The Whale Optimization Algorithm در ژورنال Advances in Engineering Software پایگاه علمی Elsevier ارائه شده است. در ادامه به معرفی نحوه کار کرد این الگوریتم بهینه سازی پرداخته می شود. برای دانلود مقاله روی عکس زیر کلیک کنید.

 

لینک دانلود مقاله الگوریتم وال ها

الگوریتم وال

الگوریتم بهینه سازی وال ها یا نهنگ ها

یکی از بزرگترین پستانداران دنیا وال یا نهنک است از بین 7 نهنگ دنیا معروف ترین آنها، نهنگ گوژپشت یا نهنگ کوهان دار است. یک وال گوژپشت بالغ تقریباً به اندازه یک اتوبوس مدرسه است. شکار مورد علاقه وال ها، کریل و گروه های ماهی کوچک است. جالب ترین نکته در مورد وال های گوژپشت روش خاص شکار آنها می باشد. این رفتار کاوش گرانه به نام روش تغذیه حباب تور (Bubble-net) شناخته می شود.

وال های گوژپشت ترجیح می دهند تا دسته ای از کریل ها و یا ماهی های کوچک را در نزدیک سطح آب شکار کنند. این نکته مشاهده شده است که این کاوش و شکار، با ایجاد حباب های شاخصی در امتداد یک دایره یا مسیر هایی به انجام می رسد. الگوریتم WOA یکی از الگوریتم های بهینه سازی الهام گرفته شده از طبیعت و مبتنی بر جمعیت است که در زمینه های مختلف می توان از آن استفاده کرد.

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

الگوریتم وال WOA  در سه مرحله یا سه فاز انجام می شود که بصورت زیر است:

  1. شکار محاصره ای
  2. فاز بهره برداری : روش حمله به حباب تور
  3. مرحله اکتشاف: جستجوی شکار

شکار محاصره ای

وال ها می توانند مکان شکار را شناسایی کرده و آنها را محاصره کنند. از آنجایی که مکان طراحی بهینه در فضای جستجو از راه مقایسه شناخته نمی شود، الگوریتم فرض می کند که بهترین راه حل کاندید حال حاضر، شکار هدف بوده و یا نزدیک به حالت مطلوب است. بعد از اینکه بهترین عامل جستجو شناسایی شد، عوامل دیگر جستجو سعی می کنند تا مکان خود را نسبت به بهترین عامل جستجو، به روزرسانی کنند. این رفتار از طریق روابط  (2.1) و (2.2)  مقاله بیان شده است:

الگوریتم بهینه سازی وال ها یا نهنگ WOA

که در آن t تکرار جاری را نشان می دهد، A و C بردارهای ضرائب ، *X بردار مکان بهترین راه حل بدست آمده در حال حاضر و X بردار مکان است. لازم به ذکر است که در صورت وجود راه حل بهتر، *X در هر تکرار باید بروز شود. بردار A و C به صورت زیر محاسبه می گردد:

الگوریتم وال

که a به صورت خطی از مقدار ۲ تا ۰ و در طی تکرار ها کاهش می یابد (در هر دو فاز اکتشاف و استخراج) و r بردار تصادفی در فاصله ۰ تا ۱ است.

فاز بهره برداری : روش حمله به حباب تور

جهت مدلسازی ریاضی رفتار حباب تور وال ها، ۲ روش طراحی شده است:

  1. مکانیزم محاصرهی انقباضی: این رفتار به از طریق افزایش مقدار a در رابطه (2.3) حاصل می شود. محدوده نوسان A بوسیله a کاهش می یابد. به عبارت دیگر، A مقداری تصادفی در فاصله a تا a- است و a در طی تکرارها، از مقدار ۲ تا ۰ کاهش می یابد. با انتخاب مقادیر تصادفی A در فاصله ی ۱ تا ۱-، می توان مکان جدید عامل جستجو را در هر کجای بین مکان اصلی عامل و مکان بهترین عامل کنونی، تعریف کرد.
  2. مکان در حال بروزرسانی مارپیچی: این روش در ابتدا فاصله بین وال قرار گرفته در مختصات *X و Y طعمه موجود در *X و *Y را محاسبه می کند. معادله ای مارپیچی بین موقعیت نهنگ و طعمه ایجاد می شود تا حرکت حلزونی شکل نهنگ گوژپشت را تقلید کند:

الگوریتم WOA

که در این رابطه ‘D به فاصله ۱ امین نهنگ تا طعمه اشاره دارد (بهترین راه حل بدست آمده تا اینجا)، b ثابتی برای تعریف شکل مارپیچ لگاریتمی است و اعددی تصادفی بین ۱ تا ۱- می باشد. لازم به ذکر است که نهنگ گوژپشت، حول طعمه در امتداد یک دایرهی انقباضی و همزمان در مسیر مارپیچی شکلی به شنا در می آید. جهت مدلسازی این رفتار همزمان، فرض شده است که نهنگ با احتمال ۵۰ درصد از بین مکانیزم محاصرهی انقباضی و یا مدل مارپیچی یکی را انتخاب می کند تا موقعیت نهنگ ها در طول بهینه سازی به روز رسانی شود. مدل ریاضی بدین صورت است:

الگوریتم بهینه سازی وال ها یا نهنگ WOA

که در آن P عددی تصادفی بین ۰ تا ۱ است. علاوه بر روش حباب تور، نهنگ های گوژپشت به صورت تصادفی به دنبال طعمه می گردند. مدل ریاضی جستجو بدین صورت است.

مرحله اکتشاف: جستجوی شکار

روشی مشابه بر مبنای واریاسیون بردار A را می توان جهت جستجوی شکار (اکتشاف) به کار گرفت. در حقیقت، نهنگ های گوژپشت، بر طبق مکان یکدیگر، به صورت تصادفی به جستجو می پردازند. بنابراین، بردار A را با مقادیر تصادفی بزرگتر از او یا کمتر از ۱- به کار گرفته شده تا عامل جستجو را مجبور به دور شدن از نهنگ مرجع کند. بر خلاف فاز استخراج، جهت بروزرسانی موقعیت عامل جستجو در فاز اکتشاف به جای استفاده از داده های بهترین عامل جستجو، از انتخاب تصادفی عامل بهره برده شده است. این مکانیزم به همراه ۱<A بر اکتشاف تاکید دارند و به الگوریتم WOA اجازه می دهند تا جستجویی سراسری را به انجام رساند. مدل ریاضی به صورت زیر است:

الگوریتم WOA

در این معادله، Xrand بردار موقعیت تصادفی انتخاب شده (نهنگ تصادفی) از جمعیت جاری است. الگوریتم WOA با مجموعه ای از راه حل های تصادفی شروع به کار می کند. در هر تکرار، عوامل جستجو موقعیت خود را با توجه به عامل جستجویی که تصادفی انتخاب شده و با بهترین راه حل بدست آمدهی جاری ، به روزرسانی می کنند. پارامتر a جهت فراهم آوردن اکتشاف و استخراج، به ترتیب از مقدار ۲ تا ۰ کاهش می یابد. یک عامل جستجوی تصادفی در حالت |A|>1 انتخاب می شود، این در حالی است که بهترین راه حل زمانی انتخاب می شود که جهت بروزرسانی موقعیت عوامل جستجو، |A|<1 باشد. بسته به مقدار p، الگوریتم WOA این قابلیت را دارد تا بین حرکت دایروی و یا مارپیچی یکی را انتخاب کند. در نهایت، الگوریتم WOA با ارضای شرایط خاتمه، پایان می پذیرد. در شکل زیر شبه کد مربوط به الگوریتم فوق نشان داده شده است.

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

 

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

    دیدگاهتان را بنویسید

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

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