91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 328KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-12
  • 語言: Matlab
  • 標簽: matlab??ACOR??

資源簡介

將變量為離散型的蟻群算法擴展到連續型變量,根據Socha, Krzysztof 和Dorigo, Marco在2008年發表的文章Ant colony optimization for continuous domains制作,內附原文及代碼。

資源截圖

代碼片段和文件信息

clc;
clear;
close?all;

%%?Problem?Definition

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

nVar=10;?????????????%?Number?of?Decision?Variables

VarSize=[1?nVar];???%?Variables?Matrix?Size

VarMin=-10;?????????%?Decision?Variables?Lower?Bound
VarMax=?10;?????????%?Decision?Variables?Upper?Bound

%%?ACOR?Parameters

MaxIt=1000;??????????%?Maximum?Number?of?Iterations

nPop=10;????????????%?Population?Size?(Archive?Size)

nSample=40;?????????%?Sample?Size

q=0.5;??????????????%?Intensification?Factor?(Selection?Pressure)

zeta=1;?????????????%?Deviation-Distance?Ratio

%%?Initialization

%?Create?Empty?Individual?Structure
empty_individual.Position=[];
empty_individual.Cost=[];

%?Create?Population?Matrix
pop=repmat(empty_individualnPop1);

%?Initialize?Population?Members
for?i=1:nPop
????
????%?Create?Random?Solution
????pop(i).Position=unifrnd(VarMinVarMaxVarSize);
????
????%?Evaluation
????pop(i).Cost=CostFunction(pop(i).Position);
????
end

%?Sort?Population
[~?SortOrder]=sort([pop.Cost]);
pop=pop(SortOrder);

%?Update?Best?Solution?Ever?Found
BestSol=pop(1);

%?Array?to?Hold?Best?Cost?Values
BestCost=zeros(MaxIt1);

%?Solution?Weights
w=1/(sqrt(2*pi)*q*nPop)*exp(-0.5*(((1:nPop)-1)/(q*nPop)).^2);

%?Selection?Probabilities
p=w/sum(w);


%%?ACOR?Main?Loop

for?it=1:MaxIt
????
????%?Means
????s=zeros(nPopnVar);
????for?l=1:nPop
????????s(l:)=pop(l).Position;
????end
????
????%?Standard?Deviations
????sigma=zeros(nPopnVar);
????for?l=1:nPop
????????D=0;
????????for?r=1:nPop
????????????D=D+abs(s(l:)-s(r:));
????????end
????????sigma(l:)=zeta*D/(nPop-1);
????end
????
????%?Create?New?Population?Array
????newpop=repmat(empty_individualnSample1);
????for?t=1:nSample
????????
????????%?Initialize?Position?Matrix
????????newpop(t).Position=zeros(VarSize);
????????
????????%?Solution?Construction
????????for?i=1:nVar
????????????
????????????%?Select?Gaussian?Kernel
????????????l=RouletteWheelSelection(p);
????????????
????????????%?Generate?Gaussian?Random?Variable
????????????newpop(t).Position(i)=s(li)+sigma(li)*randn;
????????????
????????end
????????
????????%?Evaluation
????????newpop(t).Cost=CostFunction(newpop(t).Position);
????????
????end
????
????%?Merge?Main?Population?(Archive)?and?New?Population?(Samples)
????pop=[pop
?????????newpop];?%#ok
?????
????%?Sort?Population
????[~?SortOrder]=sort([pop.Cost]);
????pop=pop(SortOrder);
????
????%?Delete?Extra?Members
????pop=pop(1:nPop);
????
????%?Update?Best?Solution?Ever?Found
????BestSol=pop(1);
????
????%?Store?Best?Cost
????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(‘Iteration‘);
ylabel(‘Best?Cost‘);
grid?on;

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

?????文件????????105??2019-02-02?04:23??RouletteWheelSelection.m

?????文件?????396529??2018-11-21?17:37??Socha-Ant?colony?optimization?for?continuous?d.pdf

?????文件?????????51??2015-07-15?18:50??Sphere.m

?????文件???????2973??2019-01-30?22:25??acor.m

?????文件??????????7??2019-02-02?04:23??main.m

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

???????????????399665????????????????????5


評論

共有 條評論