遺傳算法matlab代碼

遺傳算法matlab代碼

ID:25452270

大?。?44.05 KB

頁數(shù):20頁

時間:2018-11-20

遺傳算法matlab代碼_第1頁
遺傳算法matlab代碼_第2頁
遺傳算法matlab代碼_第3頁
遺傳算法matlab代碼_第4頁
遺傳算法matlab代碼_第5頁
資源描述:

《遺傳算法matlab代碼》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、functionyouhuafunD=code;N=50;????????%Tunablemaxgen=50;????%Tunablecrossrate=0.5;%Tunablemuterate=0.08;%Tunablegeneration=1;??num=length(D);fatherrand=randint(num,N,3);score=zeros(maxgen,N);whilegeneration<=maxgen??ind=randperm(N-2)+2;%隨機配對交叉??A=fatherrand(:,ind(1:(N-2)/2));

2、??B=fatherrand(:,ind((N-2)/2+1:end));%????多點交叉??rnd=rand(num,(N-2)/2);??ind=rnd??tmp=A(ind);??A(ind)=B(ind);??B(ind)=tmp;%%兩點交叉%????forkk=1:(N-2)/2%????????rndtmp=randint(1,1,num)+1;%????????tmp=A(1:rndtmp,kk);%????????A(1:rndtmp,kk)=B(1:rndtmp,kk);%????????B(1:rndtmp,kk)=tm

3、p;%????end??fatherrand=[fatherrand(:,1:2),A,B];?????%變異??rnd=rand(num,N);??ind=rnd??[m,n]=size(ind);??tmp=randint(m,n,2)+1;??tmp(:,1:2)=0;??fatherrand=tmp+fatherrand;??fatherrand=mod(fatherrand,3);%????fatherrand(ind)=tmp;?????%評價、選擇??scoreN=scorefun(fatherrand,D);%求得N個個體的評價

4、函數(shù)??score(generation,:)=scoreN;??[scoreSort,scoreind]=sort(scoreN);??sumscore=cumsum(scoreSort);??sumscore=sumscore./sumscore(end);??childind(1:2)=scoreind(end-1:end);??fork=3:N??????tmprnd=rand;??????tmpind=tmprnd??????difind=[0,diff(tmpind)];??????if~any(difind)??????????d

5、ifind(1)=1;??????end??????childind(k)=scoreind(logical(difind));??end??fatherrand=fatherrand(:,childind);??????generation=generation+1;end%scoremaxV=max(score,[],2);minV=11*300-maxV;plot(minV,'*');title('各代的目標函數(shù)值');F4=D(:,4);FF4=F4-fatherrand(:,1);FF4=max(FF4,1);D(:,5)=FF4;s

6、aveDDataDfunctionD=codeloadyouhua.mat%propertiesF2andF3F1=A(:,1);F2=A(:,2);F3=A(:,3);if(max(F2)>1450)

7、

8、(min(F2)<=900)??error('DATApropertyF2exceedit''srange(900,1450]')end%getgrouppropertyF1ofdata,accordingtoF2valueF4=zeros(size(F1));forite=11:-1:1??index=find(F2<=900+ite*50

9、);??F4(index)=ite;endD=[F1,F2,F3,F4];functionScoreN=scorefun(fatherrand,D)F3=D(:,3);F4=D(:,4);N=size(fatherrand,2);FF4=F4*ones(1,N);FF4rnd=FF4-fatherrand;FF4rnd=max(FF4rnd,1);ScoreN=ones(1,N)*300*11;%這里有待優(yōu)化fork=1:N??FF4k=FF4rnd(:,k);??forite=1:11??????F0index=find(FF4k==ite)

10、;??????if~isempty(F0index)??????????tmpMat=F3(F0index);??????????tmpSco=sum

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

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

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