
در این پست سورس کد الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی یا Biogeography Based Optimization به اختصار BBO در متلب قرار داده شده است. الگوریتم BBO یک الگوریتم مبتنی بر جمعیت است و جزو الگوریتم های بهینه سازی و فرا ابتکاری که از چگونگی انتشار گونه های جانداران در زیست گاه های متعدد الهام گرفته شده است.
با ارائه مدلی احتمالی برای چگونگی مهاجرت گونه های مختلف در زیستگاه ها، مدل ریاضی استخراج شده است که نهایتا منجر به ایجاد مدل بهینه سازی جدیدی می شود که در الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی استفاده شده است. در ادامه توضیحاتی درباره الگوریتم داده می شود.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی
الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی یا همان الگوریتم BBO در سال 2008 توسط Dan Simon در ژورنال IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 12, NO. 6, DECEMBER 2008 مطرح شد. در این الگوریتم، از چگونگی انتشار گونه های جانداران در زیستگاه های متعدد الهام گرفته شده است.
با ارائه مدلی احتمالی برای چگونگی مهاجرت گونه در زیستگاه ها، مدل ریاضی استخراج شده است که نهایتاً منجر به ایجاد مدل بهینه سازی جدیدی شده است که در BBO استفاده شده است. مقاله اصلی این الگوریتم را می توانید بصورت PDF از این لینک (اینجا+) دانلود کنید.
الگوریتم جغرافیای زیستی یک روش تکاملی مبتنی بر جمعیت یا population based می باشد که از پدیده مهاجرت حیوانات و پرندگان بین مکان های مختلف الهام گرفته شده است. در حقیقت، جغرافیای زیستی مطالعه نحوه توزیع جغرافیایی گونه های مختلف جانوری می باشد. در این روش جزایری که مکان مناسبی برای زیست باشند دارای شایستگی بالا برای اسکان هستند که از ویژگی های بارندگی، تنوع گیاهی، خاک منطقه، دما و … تبعیت می کنند.
در این روش هر زیستگاه دارای نرخ مهاجرت به داخل و نرخ مهاجرت به خارج متفاوت می باشند که فرایند جستجو برای جواب بهینه را کنترل می کنند.
کد الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی در متلب
سورس کد الگوریتم BBO در متلب شامل توابعی است که اسکریپت main در واقع کد اصلی برنامه می باشد و بقیه فراخوانی ها از آنجا انجام می شود. همچنین این برنامه داری 7 تابع تست می باشد که در زیر مشاهده می کنید.
- تابع SPHERE
- تابع ACKLEY
- تابع SUM SQUARES
- تابع ROSENBROCK
- تابع SUM OF DIFFERENT POWERS
- تابع ZAKHAROV
- تابع Rastrigin
توابع تست برای ارزیابی الگوریتم های بهینه سازی بکار می روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم های بهینه سازی مقاله ای آماده کردیم. توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 7 تابع اکتفا کرده ایم و همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی می ماند بنابراین برای اجرای الگوریتم BBO در متلب برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید.
قسمتی از سورس کد الگوریتم BBO در متلب
clc; clear; close all; %% Problem Definition CostFunction = @(x) Sphere(x); %CostFunction = @(x) Ackley(x); %CostFunction = @(x) Sum_Of_Different(x); %CostFunction = @(x) Sum_Squares(x); %CostFunction = @(x) Zakharov(x); %CostFunction = @(x) Rosenbrock(x); nVar=5; % Number of Decision Variables VarSize=[1 nVar]; % Decision Variables Matrix Size VarMin=-10; % Decision Variables Lower Bound VarMax= 10; % Decision Variables Upper Bound %% BBO Parameters MaxIt=1000; % Maximum Number of Iterations nPop=50; % Number of Habitats (Population Size) KeepRate=0.2; % Keep Rate nKeep=round(KeepRate*nPop); % Number of Kept Habitats nNew=nPop-nKeep; % Number of New Habitats % Migration Rates mu=linspace(1,0,nPop); % Emmigration Rates lambda=1-mu; % Immigration Rates alpha=0.9; pMutation=0.1; sigma=0.02*(VarMax-VarMin); %% Initialization % Empty Habitat habitat.Position=[]; habitat.Cost=[]; % Create Habitats Array pop=repmat(habitat,nPop,1); % Initialize Habitats for i=1:nPop pop(i).Position=unifrnd(VarMin,VarMax,VarSize); pop(i).Cost=CostFunction(pop(i).Position); end % Sort Population [~, SortOrder]=sort([pop.Cost]); pop=pop(SortOrder); % Best Solution Ever Found BestSol=pop(1); % Array to Hold Best Costs BestCost=zeros(MaxIt,1);
برای دانلود سورس کامل محصول را خریداری فرمایید.
تصویر خروجی محصول
درباره محصول
سورس کد الگوریتم بهینه سازی Biogeography Based Optimization به اختصار BBO در محیط Matlab 2017b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
مباحث مرتبط با الگوریتم BBO
مباحث مرتبط با دیگر الگوریتم های بهینه سازی
تاریخ انتشار: | 5 فروردین 1399 |
---|---|
تاریخ بروزرسانی: | 24 دی 1399 |
حجم فایل: | 3 کیلوبایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
تاکنون 277 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
تاریخ انتشار: | 5 فروردین 1399 |
---|---|
تاریخ بروزرسانی: | 24 دی 1399 |
حجم فایل: | 3 کیلوبایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
1 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.