در این پست سورس کد الگوریتم وال در پایتون (الگوریتم نهنگ در Python) قرار گرفته شده است. این سورس کد به زبان پایتون Python برای الگوریتم WOA نوشته شده است. این سورس کد بر اساس 12 توابع تست الگوریتم وال یا نهنگ را اجرا می کند. برای اینکه بتوانید مسئله الگوریتم وال یا نهنگ را واضح و کامل درک کنید مقاله ای کامل با عنوان الگوریتم WOA در همین سایت آماده کرده ایم که می توانید مطالعه کنید و یا فیلم آموزش الگوریتم وال یا نهنگ را از همین سایت دانلود کنید.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
الگوریتم بهینه سازی وال ها یا نهنگ ها
یکی از بزرگترین پستانداران دنیا وال یا نهنگ است از بین 7 نهنگ دنیا معروف ترین آنها، نهنگ گوژپشت یا نهنگ کوهان دار است. یک وال گوژپشت بالغ تقریباً به اندازه یک اتوبوس مدرسه است. شکار مورد علاقه وال ها، کریل و گروه های ماهی کوچک است. جالب ترین نکته در مورد وال های گوژپشت روش خاص شکار آنها می باشد. این رفتار کاوش گرانه به نام روش تغذیه حباب تور (Bubble-net) شناخته می شود.
وال های گوژپشت ترجیح می دهند تا دسته ای از کریل ها و یا ماهی های کوچک را در نزدیک سطح آب شکار کنند. این نکته مشاهده شده است که این کاوش و شکار، با ایجاد حباب های شاخصی در امتداد یک دایره یا مسیر هایی به انجام می رسد. الگوریتم WOA یکی از الگوریتم های بهینه سازی الهام گرفته شده از طبیعت و مبتنی بر جمعیت است که در زمینه های مختلف می توان از آن استفاده کرد.
مراحل الگوریتم
الگوریتم وال WOA در سه مرحله یا سه فاز انجام می شود که بصورت زیر است:
- شکار محاصره ای
- فاز بهره برداری : روش حمله به حباب تور
- مرحله اکتشاف: جستجوی شکار
شکار محاصره ای
وال ها می توانند مکان شکار را شناسایی کرده و آنها را محاصره کنند. از آنجایی که مکان طراحی بهینه در فضای جستجو از راه مقایسه شناخته نمی شود، الگوریتم فرض می کند که بهترین راه حل کاندید حال حاضر، شکار هدف بوده و یا نزدیک به حالت مطلوب است. بعد از اینکه بهترین عامل جستجو شناسایی شد، عوامل دیگر جستجو سعی می کنند تا مکان خود را نسبت به بهترین عامل جستجو، به روزرسانی کنند.
فاز بهره برداری : روش حمله به حباب تور
جهت مدلسازی ریاضی رفتار حباب تور وال ها، ۲ روش طراحی شده است:
- مکانیزم محاصره ی انقباضی
- مکان در حال بروزرسانی مارپیچی
مرحله اکتشاف: جستجوی شکار
روشی مشابه بر مبنای واریاسیون بردار A را می توان جهت جستجوی شکار (اکتشاف) به کار گرفت. در حقیقت، نهنگ های گوژپشت، بر طبق مکان یکدیگر، به صورت تصادفی به جستجو می پردازند. بنابراین، بردار A را با مقادیر تصادفی بزرگتر از او یا کمتر از ۱- به کار گرفته شده تا عامل جستجو را مجبور به دور شدن از نهنگ مرجع کند. بر خلاف فاز استخراج، جهت بروزرسانی موقعیت عامل جستجو در فاز اکتشاف به جای استفاده از داده های بهترین عامل جستجو، از انتخاب تصادفی عامل بهره برده شده است.
این مکانیزم به همراه ۱<A بر اکتشاف تاکید دارند و به الگوریتم WOA اجازه می دهند تا جستجویی سراسری را به انجام رساند.
قسمت هایی از سورس کد الگوریتم وال در پایتون Python
import CostFun as fit import random import numpy import math import matplotlib.pyplot as plt lb=-10 ub=10 dim=30 SearchAgents_no=50 Max_iter=100 if not isinstance(lb, list): lb = [lb] * dim if not isinstance(ub, list): ub = [ub] * dim # initialize position vector and score for the leader Leader_pos=numpy.zeros(dim) Leader_score=float("inf") #change this to -inf for maximization problems #Initialize the positions of search agents Positions = numpy.zeros((SearchAgents_no, dim)) for i in range(dim): Positions[:, i] = numpy.random.uniform(0,1,SearchAgents_no) *(ub[i]-lb[i])+lb[i] #Initialize convergence convergence_curve=numpy.zeros(Max_iter)
ویدئوی نحوه اجرا
*** توجه ***
قبل از اجرای سورس کد الگوریتم در محیط پایتون حتماً از نصب پکیج های مورد استفاده در این سورس کد در Python خود مطمئن شوید پکیج های استفاده شده در این سورس کد numpy و matplotlib می باشد که اولی پکیج مربوط به استفاده از آرایه ها و ماتریس ها در پایتون و دومی مربوط به عملیات های نموداری و Plot گرفتن می باشد. پیشنهاد ما نصب اسپایدر (Spyder (Python 3.7 می باشد که هم پایتون و پکیج های مختلف و هم IDE های مختلفی را همراه با امکان آپدیتشان نصب می کند.
درباره سورس کد الگوریتم نهنگ در python
سورس کد الگوریتم وال یا الگوریتم نهنگ در python عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در پایتون و با IDE اسپایدر (Spyder (Python 3.7 نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
مباحث مرتبط در حوزه الگوریتم وال WOA
سورس کدهای آماده الگوریتم های فرا ابتکاری در پایتون
تاریخ انتشار: | 22 آبان 1398 |
---|---|
تاریخ بروزرسانی: | 19 اسفند 1398 |
حجم فایل: | 4.3 کیلوبایت |
فرمت فایل | py. در قالب پایتون |
نسخه: | 1.0 |
هماهنگی با: | (Spyder (Python 3.8 و بالاتر |
تاکنون 399 نفر این محصول را تهیه کرده اند و 3 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
تاریخ انتشار: | 22 آبان 1398 |
---|---|
تاریخ بروزرسانی: | 19 اسفند 1398 |
حجم فایل: | 4.3 کیلوبایت |
فرمت فایل | py. در قالب پایتون |
نسخه: | 1.0 |
هماهنگی با: | (Spyder (Python 3.8 و بالاتر |
3 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
فهمیه
سلام. ممنون بابت سورس کد ?
مریم محمدی
خیلی خوب هست که برای الگوریتم WOA انقدر فایل و آموزش دارید. خدا خیرتون بده
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.