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

資源簡介

蟻群算法連續(xù)函數(shù)優(yōu)化問題。包含F(xiàn)IT測試函數(shù),主函數(shù)。

資源截圖

代碼片段和文件信息

function?[BESTXBESTYALLXALLY]=ACOUCP(KNRhoQLambdaLBUB)
%%?Ant?Colony?Optimization?for?Unconstrained?Continuous?Problem
%%?ACOUCP.m
%%?無約束連續(xù)函數(shù)的蟻群優(yōu)化算法
%%?此函數(shù)實現(xiàn)蟻群算法,用于求解無約束連續(xù)函數(shù)最小化問題
%%?對于最大化問題,請先將其加負號轉化為最小化問題
%??GreenSim團隊原創(chuàng)作品,轉載請注明
%??Email:greensim@163.com
%??GreenSim團隊主頁:http://blog.sina.com.cn/greensim
%??[color=red]歡迎訪問GreenSim——算法仿真團隊→[url=http://blog.sina.com.cn/greensim]http://blog.sina.com.cn/greensim[/url][/color]
%%?輸入?yún)?shù)列表
%?K????????迭代次數(shù)
%?N????????蟻群規(guī)模
%?Rho??????信息素蒸發(fā)系數(shù),取值0~1之間,推薦取值0.7~0.95
%?Q????????信息素增加強度,大于0,推薦取值1左右
%?Lambda???螞蟻爬行速度,取值0~1之間,推薦取值0.1~0.5
%?LB???????決策變量的下界,M×1的向量
%?UB???????決策變量的上界,M×1的向量
%%?輸出參數(shù)列表
%?BESTX????K×1細胞結構,每一個元素是M×1向量,記錄每一代的最優(yōu)螞蟻
%?BESTY????K×1矩陣,記錄每一代的最優(yōu)螞蟻的評價函數(shù)值
%?ALLX?????K×1細胞結構,每一個元素是M×N矩陣,記錄每一代螞蟻的位置
%?ALLY?????K×N矩陣,記錄每一代螞蟻的評價函數(shù)值
%%?測試函數(shù)設置
%?測試函數(shù)用單獨的子函數(shù)編寫好,在子函數(shù)FIT.m中修改要調用的測試函數(shù)名即可
%?注意:決策變量的下界LB和上界UB,要與測試函數(shù)保持一致
%%?參考設置
%?[BESTXBESTYALLXALLY]=ACOUCP(50300.9510.5LBUB)
%%?第一步:初始化
M=length(LB);%決策變量的個數(shù)
%蟻群位置初始化
X=zeros(MN);
for?i=1:M
????x=unifrnd(LB(i)UB(i)1N);
????X(i:)=x;
end
%輸出變量初始化
ALLX=cell(K1);%細胞結構,每一個元素是M×N矩陣,記錄每一代的個體
ALLY=zeros(KN);%K×N矩陣,記錄每一代評價函數(shù)值
BESTX=cell(K1);%細胞結構,每一個元素是M×1向量,記錄每一代的最優(yōu)個體
BESTY=zeros(K1);%K×1矩陣,記錄每一代的最優(yōu)個體的評價函數(shù)值
k=1;%迭代計數(shù)器初始化
Tau=ones(1N);%信息素初始化
Y=zeros(1N);%適應值初始化
%%?第二步:迭代過程
while?k<=K
????YY=zeros(1N);
????for?n=1:N
????????x=X(:n);
????????YY(n)=FIT(x);
????end
????maxYY=max(YY);
????temppos=find(YY==maxYY);
????POS=temppos(1);
????%螞蟻隨機探路
????for?n=1:N
????????if?n~=POS
????????????x=X(:n);
????????????Fx=FIT(x);
????????????mx=GaussMutation(xLBUB);
????????????if?Fmx????????????????X(:n)=mx;
????????????????Y(n)=Fmx;
????????????elseif?rand>1-(1/(sqrt(k)))
????????????????X(:n)=mx;
????????????????Y(n)=Fmx;
????????????else
????????????????X(:n)=x;
????????????????Y(n)=Fx;
????????????end
????????end
????end
????for?n=1:N
????????if?n~=POS
????????????x=X(:n);
????????????Fx=FIT(x);
????????????mx=GaussMutation(xLBUB);
????????????Fmx=FIT(mx);
????????????if?Fmx????????????????Y(n)=Fmx;
????????????elseif?rand>1-(1/(sqrt(k)))
????????????????X(:n)=mx;
????????????????Y(n)=Fmx;
????????????else
????????????????X(:n)=x;
????????????????Y(n)=Fx;
????????????end
????????end
????end
????%朝信息素最大的地方移動
????for?n=1:N
????????if?n~=POS
????????????x=X(:n);
????????????r=(K+k)/(K+K);
????????????p=randperm(N);
????????????t=ceil(r*N);
????????????pos=p(1:t);
????????????TempTau=Tau(pos);
????????????maxTempTau=max(TempTau);
????????????pos3=pos(pos2(1));
????????????x2=X(:pos3(1));
????????????x3=(1-Lambda)*x+Lambda*x2;
????????????Fx=FIT(x);
????????????Fx3=FIT(mx);
????????????if?Fx3????????????????X(:n)=x3;
????????????????Y(n)=Fx3;
????????????elseif?rand>1-(1/(sqrt(k)))
????????????????X(:n)=x3;
????????????????Y(n)=Fx3;
????????????else
????????????????X(:n)=x;
????????????????Y(n)=Fx;
????????????end
?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????4167??2014-09-13?15:54??ACOUCP.m
?????文件??????????40??2014-09-13?16:02??FIT.m
?????文件?????????315??2014-09-13?16:18??GaussMutation.m

評論

共有 條評論