xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 2KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-02
  • 語言: Matlab
  • 標(biāo)簽: BBO??matlab??

資源簡介

生物地理學(xué)優(yōu)化算法(BBO)是一種進(jìn)化算法和元啟發(fā)式方法,其靈感來自生物地理概念:物種形成(新物種的進(jìn)化),島嶼之間的物種遷移以及物種的滅絕。該算法最初由Dan Simon在2008年提出。在本文中,我們將與您分享MATLAB中基于生物地理的優(yōu)化(BBO)的結(jié)構(gòu)開源實現(xiàn)。

資源截圖

代碼片段和文件信息

clc;
clear;
close?all;

%%?Problem?Definition

CostFunction=@(x)?Sphere(x);????????%?Cost?Function

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(10nPop);??????????%?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(habitatnPop1);

%?Initialize?Habitats
for?i=1:nPop
????pop(i).Position=unifrnd(VarMinVarMaxVarSize);
????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(MaxIt1);

%%?BBO?Main?Loop

for?it=1:MaxIt
????
????newpop=pop;
????for?i=1:nPop
????????for?k=1:nVar
????????????%?Migration
????????????if?rand<=lambda(i)
????????????????%?Emmigration?Probabilities
????????????????EP=mu;
????????????????EP(i)=0;
????????????????EP=EP/sum(EP);
????????????????
????????????????%?Select?Source?Habitat
????????????????j=RouletteWheelSelection(EP);
????????????????
????????????????%?Migration
????????????????newpop(i).Position(k)=pop(i).Position(k)?...
????????????????????+alpha*(pop(j).Position(k)-pop(i).Position(k));
????????????????
????????????end
????????????
????????????%?Mutation
????????????if?rand<=pMutation
????????????????newpop(i).Position(k)=newpop(i).Position(k)+sigma*randn;
????????????end
????????end
????????
????????%?Apply?Lower?and?Upper?Bound?Limits
????????newpop(i).Position?=?max(newpop(i).Position?VarMin);
????????newpop(i).Position?=?min(newpop(i).Position?VarMax);
????????
????????%?Evaluation
????????newpop(i).Cost=CostFunction(newpop(i).Position);
????end
????
????%?Sort?New?Population
????[~?SortOrder]=sort([newpop.Cost]);
????newpop=newpop(SortOrder);
????
????%?Select?Next?Iteration?Population
????pop=[pop(1:nKeep)
?????????newpop(1:nNew)];
?????
????%?Sort?Population
????[~?SortOrder]=sort([pop.Cost]);
????pop=pop(SortOrder);
????
????%?Update?Best?Solution?Ever?Found
????BestSol=pop(1);
????
????%?Store?Best?Cost?Ever?Found
????BestCost(it)=BestSol.Cost;
????
????%?Show?Iteration?Information
????disp([‘Iteration?‘?num2str(it)?‘:?Best?Cost?=?‘?num2str(BestCost(it))]);
????
end

%%?Results

figure;
%plot(BestCost‘LineWidth‘2);
semilogy(BestCost‘LineWidth‘2);
xlabel(‘

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3050??2019-12-24?19:52??生物地理學(xué)優(yōu)化BBO\bbo.m

?????文件?????????10??2019-12-24?19:52??生物地理學(xué)優(yōu)化BBO\main.m

?????文件????????109??2019-12-24?19:52??生物地理學(xué)優(yōu)化BBO\RouletteWheelSelection.m

?????文件?????????51??2019-12-24?19:53??生物地理學(xué)優(yōu)化BBO\Sphere.m

?????目錄??????????0??2019-12-24?19:51??生物地理學(xué)優(yōu)化BBO

-----------?---------??----------?-----??----

?????????????????3220????????????????????5


評論

共有 條評論