差分演化算法matlab程序.doc

差分演化算法matlab程序.doc

ID:52698238

大小:21.00 KB

頁數(shù):2頁

時間:2020-03-29

差分演化算法matlab程序.doc_第1頁
差分演化算法matlab程序.doc_第2頁
資源描述:

《差分演化算法matlab程序.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、functionDE(Gm,F0)%差分進化算法程序基本程序%F是變異率F0=0.6Gm=1000;%最大迭代次數(shù)Np=100;%種群規(guī)模CR=0.9;%雜交參數(shù)G=1;%初始化代數(shù)D=0;%所求問題的維數(shù)eps=1e-9;%精度ge=zeros(1,Np);%各代的最優(yōu)值bestx=zeros(Np,D);%各代的最優(yōu)解%產(chǎn)生初始種群%xmin=-10;xmax=100;%帶負數(shù)的下界xmin=-5.12;xmax=5.12;%-----函數(shù)值計算-----------functionresult=DEMB(XX);sol=XX;result=0;

2、fori=1:Dresult=result+sol(i)^2;%y=sum(XX.^2-10.*cos(2.*pi.*XX)+10);endend%---------------------------X0=(xmax-xmin)*rand(Np,D)+xmin;X=X0;%%%%%%%%%%變異操作X1new=zeros(Np,D);%初始化X1_new=zeros(Np,D);%初始化X1=zeros(Np,D);%初始化value=zeros(1,Np);whileG<=Gmfori=1:Np%產(chǎn)生j,k,p三個不同的數(shù)a=1;b=Np;dx=

3、randperm(b-a+1)+a-1;j=dx(1);k=dx(2);p=dx(3);ifj==ij=dx(4);elseifk=ik=dx(4);elseifp==ip=dx(4);end%變異算子F=0.5;bon=X(p,:)+F*(X(j,:)-X(k,:));if(bon>xmin)&(bonCR%利用二項分布來交叉X1_

4、new(i,:)=X(i,:);elseX1_new(i,:)=X1new(i,:);endend%%%%%%%%%%%%%%%競爭操作fori=1:NpifDEMB(X1_new(i,:))

5、,Np,Np);%plot(ii,ge)[gmin,n]=min(ge);value=gminsolution=bestx(n,:)%目標函數(shù)的倒數(shù)End

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。