الگوریتم بهینه سازی نهنگ
در این بخش به معرفی الگوریتم بهینه سازی نهنگ یا الگوریتم WOA را می پردازیم که توسط جلالیان در سال 2016 در مقاله The Whale Optimization Algorithm ارائه شده است. در ادامه به معرفی نحوه کار کرد این الگوریتم بهینه سازی پرداخته و مقاله مرجع برای دانلود رایگان قرار داده شده است.
الگوریتم بهینه سازی نهنگ
یکی از بزرگ باله ترین نهنگ ها، نهنگ گوژپشت است. یک نهنگ گوژپشت بالغ تقریبا به اندازه یک اتوبوس مدرسه است. شکار مورد علاقه آنها، کریل و گروه های ماهی کوچک است. جالب ترین نکته در مورد نهنگ های گوژپشت روش خاص شکار آنها می باشد. این رفتار کاوش گرانه به نام روش تغذیه حباب تور شناخته می شود. نهنگ های گوژپشت ترجیح می دهند تا دسته ای از کریل ها و یا ماهی های کوچک را در نزدیک سطح آب شکار کنند. این نکته مشاهده شده است که این کاوش و شکار، با ایجاد حباب های شاخصی در امتداد یک دایره یا مسیر هایی به انجام می رسد. الگوریتم WOA یکی از الگوریتم های بهینه سازی الهام گرفته شده از طبیعت است که در زمینه های مختلف می توان از آن استفاده کرد.
شکار محاصره ای
نهنگ های گوژپشت می توانند مکان شکار را شناسایی کرده و آنها را محاصره کنند. از آنجایی که مکان طراحی بهینه در فضای جستجو از راه قياس شناخته نمی شود، الگوریتم WOA فرض می کند که بهترین راه حل نامزد حال حاضر، شکار هدف بوده و یا نزدیک به حالت مطلوب است. بعد از اینکه بهترین عامل جستجو شناسایی شد، عوامل دیگر جستجو سعی می کنند تا مکان خود را نسبت به بهترین عامل جستجو، به روزرسانی کنند. این رفتار از طریق معادلات زیر بیان شده است:
که در آن t تکرار جاری را نشان می دهد، A و C بردارهای ضرائب ، *X بردار مکان بهترین راه حل بدست آمده در حال حاضر و X بردار مکان است. لازم به ذکر است که در صورت وجود راه حل بهتر، *X در هر تکرار باید بروز شود. بردار A و C به صورت زیر محاسبه می گردد:
که a به صورت خطی از مقدار 2 تا 0 و در طی تکرار ها کاهش می یابد (در هر دو فاز اکتشاف و استخراج) و r بردار تصادفی در فاصله 0 تا 1 است.
روش حمله حباب تور (فاز استخراج)
جهت مدلسازی ریاضی رفتار حباب تور نهنگ های گوژپشت، 2 روش به صورت زیر طراحی شده است:
- مکانیزم محاصرهی انقباضی: این رفتار به از طریق افزایش مقدار a در رابطه (3) حاصل می شود. به یاد داشته باشید که محدوده نوسان A بوسیله a کاهش می یابد. به عبارت دیگر، A مقداری تصادفی در فاصله a تا a- است و a در طی تکرارها، از مقدار 2 تا 0 کاهش می یابد. با انتخاب مقادیر تصادفی A در فاصله ی 1 تا 1-، می توان مکان جدید عامل جستجو را در هر کجای بین مکان اصلی عامل و مکان بهترین عامل کنونی، تعریف کرد.
- مکان در حال بروزرسانی مارپیچی: این روش در ابتدا فاصله بین نهنگ قرار گرفته در مختصات *X و Y طعمه موجود در *X و *Y را محاسبه می کند. معادله ای مارپیچی بین موقعیت نهنگ و طعمه ایجاد می شود تا حرکت حلزونی شکل نهنگ گوژپشت را تقلید کند:
در این رابطه، بوده و به فاصله 1 امین نهنگ تا طعمه اشاره دارد (بهترین راه حل بدست آمده تا اینجا)، b ثابتی برای تعریف شکل مارپیچ لگاریتمی است و اعددی تصادفی بین 1 تا 1- می باشد. لازم به ذکر است که نهنگ گوژپشت، حول طعمه در امتداد یک دایرهی انقباضی و همزمان در مسیر مارپیچی شکلی به شنا در می آید. جهت مدلسازی این رفتار همزمان، فرض شده است که نهنگ با احتمال 50 درصد از بین مکانیزم محاصرهی انقباضی و یا مدل مارپیچی یکی را انتخاب می کند تا موقعیت نهنگ ها در طول بهینه سازی به روز رسانی شود. مدل ریاضی بدین صورت است:
که در آن P عددی تصادفی بین 0 تا 1 است. علاوه بر روش حباب تور، نهنگ های گوژپشت به صورت تصادفی به دنبال طعمه می گردند. مدل ریاضی جستجو بدین صورت است
جستجوی برای طعمه (فاز اکتشاف)
روشی مشابه بر مبنای واریاسیون بردار A را می توان جهت جستجوی شکار (اکتشاف) به کار گرفت. در حقیقت، نهنگ های گوژپشت، بر طبق مکان یکدیگر، به صورت تصادفی به جستجو می پردازند. بنابراین، بردار A را با مقادیر تصادفی بزرگتر از او یا کمتر از 1- به کار گرفته شده تا عامل جستجو را مجبور به دور شدن از نهنگ مرجع کند. بر خلاف فاز استخراج، جهت بروزرسانی موقعیت عامل جستجو در فاز اکتشاف به جای استفاده از داده های بهترین عامل جستجو، از انتخاب تصادفی عامل بهره برده شده است. این مکانیزم به همراه 1<A بر اکتشاف تاکید دارند و به الگوریتم WOA اجازه می دهند تا جستجویی سراسری را به انجام رساند. مدل ریاضی به صورت زیر است:
در این معادله، Xrand بردار موقعیت تصادفی انتخاب شده (نهنگ تصادفی) از جمعیت جاری است. الگوریتم WOA با مجموعه ای از راه حل های تصادفی شروع به کار می کند. در هر تکرار، عوامل جستجو موقعیت خود را با توجه به عامل جستجویی که تصادفی انتخاب شده و با بهترین راه حل بدست آمدهی جاری ، به روزرسانی می کنند. پارامتر a جهت فراهم آوردن اکتشاف و استخراج، به ترتیب از مقدار 2 تا 0 کاهش می یابد. یک عامل جستجوی تصادفی در حالت |A|>1 انتخاب می شود، این در حالی است که بهترین راه حل زمانی انتخاب می شود که جهت بروزرسانی موقعیت عوامل جستجو، |A|<1 باشد. بسته به مقدار p، الگوریتم WOA این قابلیت را دارد تا بین حرکت دایروی و یا مارپیچی یکی را انتخاب کند. در نهایت، الگوریتم WOA با ارضای شرایط خاتمه، پایان می پذیرد. در شکل زیر شبه کد مربوط به الگوریتم فوق نشان داده شده است.
سلام پاورپوینت آماده در مورد این الگوریتم می خواستم اگه هست لطف می کنید آدرسشو بدید ببینم محتواش همونیه که من لازمش دارم ممنون.
ممنون از توضیحات از اونجایی که ترجمه ی این مقاله فقط برای فروش در سایت های دیگه موجود و قسمت اصلی مقاله اینجا به صورت ترجمه آورده شده خیلی مفید و قابل فهم بود متشکر
متشکرم
با سلام و عرض ادب و تشکر. پایان نامه ی ارشد بنده در مورد تخمین پارامتر با استفاده از الگوریتم وال هت که مطالعه ی این مطلب کمک خوب و موثری برای من بود.ممنونم
عالی بود، سپاسگزارم