遺傳算法實(shí)驗(yàn)六演示文稿_第1頁
遺傳算法實(shí)驗(yàn)六演示文稿_第2頁
遺傳算法實(shí)驗(yàn)六演示文稿_第3頁
遺傳算法實(shí)驗(yàn)六演示文稿_第4頁
遺傳算法實(shí)驗(yàn)六演示文稿_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

遺傳算法實(shí)驗(yàn)六演示文稿第一頁,共七十三頁。遺傳算法實(shí)驗(yàn)六第二頁,共七十三頁?!?.1簡單一元函數(shù)優(yōu)化實(shí)例第三頁,共七十三頁。程序簡化代碼如下:NIND=40;%定義個(gè)體數(shù)目MAXGEN=25;%定義最大遺傳代數(shù)PRECI=20;%編碼長度GGAP=0.9;%代溝FieldD=[20;-1;2;1;0;1;1];%區(qū)域描述器Chrom=crtbp(NIND,PRECI);%產(chǎn)生初始種群gen=0;%代計(jì)數(shù)器variable=bs2rv(Chrom,FieldD);%初始種群的十進(jìn)制轉(zhuǎn)換ObjV=variable.*sin(10*pi*variable)+2.0;%計(jì)算初始種群目標(biāo)函數(shù)值whilegen<MAXGEN+1FitnV=ranking(-ObjV);%分配適應(yīng)度值SelCh=select('sus',Chrom,FitnV,GGAP);%選擇SelCh=recombin('xovsp',SelCh,0.7);%重組SelCh=mut(SelCh); %變異variable=bs2rv(SelCh,FieldD);%子代個(gè)體的十進(jìn)制轉(zhuǎn)換ObjVSel=variable.*sin(10*pi*variable)+2.0;%計(jì)算子代的目標(biāo)函數(shù)值

[ChromObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);%重插入子代到種群Y=max(ObjV)%當(dāng)前種群最優(yōu)解gen=gen+1;%代計(jì)數(shù)器增加end第四頁,共七十三頁。figure(1);%畫出函數(shù)曲線fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]);%定義遺傳算法參數(shù)NIND=40;%群體中個(gè)體數(shù)目MAXGEN=25;%最大遺傳代數(shù)PRECI=20;%變量的二進(jìn)制位數(shù)具有性能跟蹤和圖像輸出功能的程序代碼第五頁,共七十三頁。%代溝GGAP=0.9;%尋優(yōu)結(jié)果的初始值trace=zeros(2,MAXGEN);%建立區(qū)域描述器FieldD=[20;-1;2;1;0;1;1];%生成初始種群Chrom=crtbp(NIND,PRECI);具有性能跟蹤和圖像輸出功能的程序代碼第六頁,共七十三頁。%代計(jì)數(shù)器gen=0;%計(jì)算初始種群的十進(jìn)制轉(zhuǎn)換variable=bs2rv(Chrom,FieldD);%計(jì)算目標(biāo)函數(shù)值 ObjV=variable.*sin(10*pi*variable)+2.0;具有性能跟蹤和圖像輸出功能的程序代碼第七頁,共七十三頁。whilegen<MAXGEN%分配適應(yīng)度值FitnV=ranking(-ObjV);%選擇SelCh=select('sus',Chrom,FitnV,GGAP);%重組 SelCh=recombin('xovsp',SelCh,0.7);%變異SelCh=mut(SelCh);具有性能跟蹤和圖像輸出功能的程序代碼第八頁,共七十三頁。%子代個(gè)體的十進(jìn)制轉(zhuǎn)換variable=bs2rv(SelCh,FieldD);%計(jì)算子代的目標(biāo)函數(shù)值ObjVSel=variable.*sin(10*pi*variable)+2.0;%重插入子代的新種群[ChromObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); variable=bs2rv(Chrom,FieldD);具有性能跟蹤和圖像輸出功能的程序代碼第九頁,共七十三頁。%代計(jì)數(shù)器增加gen=gen+1;%輸出最優(yōu)解及其序號(hào),并在目標(biāo)函數(shù)圖像%中標(biāo)出,Y為最優(yōu)解,I為種群的序號(hào)[Y,I]=max(ObjV);holdon;plot(variable(I),Y,'bo'); %遺傳算法性能跟蹤trace(1,gen)=max(ObjV);%每一代最優(yōu)解trace(2,gen)=sum(ObjV)/length(ObjV);end具有性能跟蹤和圖像輸出功能的程序代碼第十頁,共七十三頁。%最優(yōu)個(gè)體的十進(jìn)制轉(zhuǎn)換variable=bs2rv(Chrom,FieldD);holdon,gridon;plot(variable,ObjV,'b*');figure(2);plot(trace(1,:));holdon;plot(trace(2,:),'-.');gridofflegend('解的變化','種群均值的變化')具有性能跟蹤和圖像輸出功能的程序代碼第十一頁,共七十三頁。程序運(yùn)行追蹤結(jié)果:代序?qū)?yōu)結(jié)果自變量函數(shù)值12.02923.842322.21043.781932.35773.806342.48813.81552.64013.8072第十二頁,共七十三頁。程序運(yùn)行追蹤結(jié)果62.61333.755572.86583.807382.94003.804392.91203.8321102.86773.8321112.69733.8320122.79633.8326132.73173.8318第十三頁,共七十三頁。程序運(yùn)行追蹤結(jié)果142.77393.8318152.65213.8274162.78443.8274172.51583.8274182.77683.8285192.79073.8277202.80803.8379第十四頁,共七十三頁。程序運(yùn)行追蹤結(jié)果213.09473.8489223.15253.8496232.91473.8496242.91443.8493253.02593.8493經(jīng)過25次迭代后最優(yōu)解及種群均值的變化如下圖:

第十五頁,共七十三頁。第十六頁,共七十三頁。第十七頁,共七十三頁。例題中用到的一些繪圖函數(shù)說明1、繪制函數(shù)圖像函數(shù)—fplot調(diào)用格式:FPLOT(FUN,LIMS)FPLOT(FUN,LIMS,TOL)FPLOT(FUN,LIMS,N)FPLOT(FUN,LIMS,'LineSpec')參數(shù)說明:LIMS=[XMINXMAX]或LIMS=[XMINXMAXYMINYMAX]——給出變量范圍第十八頁,共七十三頁。TOL—可接受的相對(duì)誤差,默認(rèn)值為2e-3,即0.2%N—限定繪制的函數(shù)至少有N+1個(gè)點(diǎn),默認(rèn)值為1.最大步長限定為(1/N)*(XMAX-XMIN).LineSpec—指定線型FUN—要繪制圖像的函數(shù)例如:fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]);第十九頁,共七十三頁。2、定義零矩陣—ZEROSZEROS(N)—產(chǎn)生N階零矩陣ZEROS(M,N)或ZEROS([M,N]))—產(chǎn)生M×N階零矩陣;ZEROS(M,N,P,...)orZEROS([MNP...]))—產(chǎn)生M×N×P×...階零矩陣;ZEROS(SIZE(A)))—產(chǎn)生與矩陣A一樣大小的零矩陣。3、求最大值函數(shù)—MAXMAX(X)—X為向量時(shí),返回向量X的最大元素;X為矩陣時(shí),返回一個(gè)行向量,包含矩陣X的每列的最大元素.第二十頁,共七十三頁。4、繪圖函數(shù)——PLOTPLOT(X,Y)—繪制以向量X為橫坐標(biāo),向量Y為縱坐標(biāo)的線圖.如果X或Y是一個(gè)矩陣,則繪制多線圖;如果X是一個(gè)標(biāo)量,而Y是一個(gè)向量,則繪聲繪色制的是length(Y)個(gè)不連續(xù)點(diǎn)。PLOT(Y)—以矩陣Y的行標(biāo)為橫坐標(biāo),每一列為縱坐標(biāo)繪制圖形。如果Y是一個(gè)復(fù)矩陣,PLOT(Y)相當(dāng)于PLOT(real(Y),imag(Y)).PLOT(X,Y,S)—指定線型繪圖,S為一字符串,指定繪圖方式第二十一頁,共七十三頁。代表字符顏色代表符號(hào)線型C青色-實(shí)線M洋紅--虛線Y黃色:點(diǎn)連線R紅色-.點(diǎn)劃線G綠色none無線B蘭色W白色k黑色線型和顏色第二十二頁,共七十三頁。標(biāo)記符繪圖方式標(biāo)記符繪圖方式+十字號(hào)^反勾號(hào)o小圓圈v勾號(hào)*星號(hào)>大于號(hào).小黑點(diǎn)<小于號(hào)X叉號(hào)pentagram五角星Square小正方形Hexagram六角星diamond菱形符號(hào)none無標(biāo)記數(shù)據(jù)點(diǎn)標(biāo)記字符第二十三頁,共七十三頁。5、建立圖形窗口函數(shù)—FIGUREFIGURE(H)—使句柄為H的圖形窗口為當(dāng)前圖形;如果圖形窗口不存在,則建立一個(gè)句柄為H的圖形窗口。GCF—返回當(dāng)前圖形窗口的句柄。6、設(shè)置網(wǎng)格線—GRIDGRIDON—給坐標(biāo)系添加網(wǎng)格線GRIDOFF—去除坐標(biāo)系中的網(wǎng)格線第二十四頁,共七十三頁。§5.2多元單峰函數(shù)優(yōu)化實(shí)例第二十五頁,共七十三頁。簡化程序代碼如下:NIND=40; %個(gè)體數(shù)目MAXGEN=500; %最大遺傳代數(shù)NVAR=20; %變量的維數(shù)PRECI=20; %編碼長度GGAP=0.9; %代溝FieldD=[rep([PRECI],[1,NVAR]);rep([-512;512],…[1,NVAR]);rep([1;0;1;1],[1,NVAR])];%建立區(qū)域描述器Chrom=crtbp(NIND,NVAR*PRECI);%創(chuàng)建初始種群gen=0; %代計(jì)數(shù)器ObjV=objfun1(bs2rv(Chrom,FieldD));%計(jì)算初始種群個(gè)體的目標(biāo)函數(shù)值whilegen<MAXGEN %迭代FitnV=ranking(ObjV); %分配適應(yīng)度值SelCh=select('sus',Chrom,FitnV,GGAP);%選擇SelCh=recombin('xovsp',SelCh,0.7); %重組SelCh=mut(SelCh); %變異ObjVSel=objfun1(bs2rv(SelCh,FieldD)); %計(jì)算子代目標(biāo)函數(shù)值[ChromObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); %重插入gen=gen+1; %代計(jì)數(shù)器增加trace(gen,1)=min(ObjV); %遺傳算法性能跟蹤trace(gen,2)=sum(ObjV)/length(ObjV);end[Y,I]=min(ObjV)X=bs2rv(Chrom,FieldD);X(I,:)第二十六頁,共七十三頁。前5個(gè)語句進(jìn)行的初始化工作,包括確定群體中個(gè)體數(shù)目,最大進(jìn)化代數(shù),編碼長度,代溝,建立區(qū)域描述器等。第二十七頁,共七十三頁。1、矩陣復(fù)制函數(shù)REP功能用來復(fù)制一個(gè)矩陣調(diào)用格式:MatOut=rep(MatIn,REPN);參數(shù)說明MatIn—輸入矩陣MatOut—輸出矩陣REPN—一個(gè)二維向量,其中REPN(1)指定垂直方向復(fù)制次數(shù);REPN(2)指定水平方向復(fù)制次數(shù)程序中的函數(shù)說明第二十八頁,共七十三頁。例如:>>MatIn=[123]MatIn=123>>REPN=[12]REPN=12>>MatOut=rep(MatIn,REPN)MatOut=123123程序中的函數(shù)說明第二十九頁,共七十三頁。例如:>>MatIn=[123]MatIn=123>>REPN=[21]REPN=21>>MatOut=rep(MatIn,REPN)MatOut=123123程序中的函數(shù)說明第三十頁,共七十三頁。例如:>>MatIn=[123]MatIn=123>>REPN=[32]REPN=32>>MatOut=rep(MatIn,REPN)MatOut=123123123123123123程序中的函數(shù)說明第三十一頁,共七十三頁。具有性能跟的程序代碼如下:%定義遺傳算法參數(shù)NIND=40; %個(gè)體數(shù)目MAXGEN=500;%最大遺傳代數(shù)NVAR=20;%變量的維數(shù)PRECI=20; %編碼長度GGAP=0.9;%代溝trace=zeros(MAXGEN,2);%建立區(qū)域描述器FieldD=[rep([PRECI],[1,NVAR]);rep([-512;512],…[1,NVAR]);rep([1;0;1;1],[1,NVAR])];%創(chuàng)建初始種群Chrom=crtbp(NIND,NVAR*PRECI);%代計(jì)數(shù)器gen=0; %計(jì)算初始種群個(gè)體的目標(biāo)函數(shù)值ObjV=objfun1(bs2rv(Chrom,FieldD));第三十二頁,共七十三頁。whilegen<MAXGEN %迭代FitnV=ranking(ObjV); %分配適應(yīng)度值SelCh=select('sus',Chrom,FitnV,GGAP); %選擇SelCh=recombin('xovsp',SelCh,0.7); %重組SelCh=mut(SelCh); %變異

%計(jì)算子代目標(biāo)函數(shù)值ObjVSel=objfun1(bs2rv(SelCh,FieldD));%重插入[ChromObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);%代計(jì)數(shù)器增加 gen=gen+1;%遺傳算法性能跟蹤 trace(gen,1)=min(ObjV);trace(gen,2)=sum(ObjV)/length(ObjV);end第三十三頁,共七十三頁。plot(trace(:,1));holdon;plot(trace(:,2),'-.');grid;legend('種群均值的變化','解的變化')%輸出最優(yōu)解及其對(duì)應(yīng)的20個(gè)自變量的十進(jìn)制值,Y為最優(yōu)解,%

I為種群的序號(hào)[Y,I]=min(ObjV)X=bs2rv(Chrom,FieldD);X(I,:)第三十四頁,共七十三頁。functionObjVal=objfun1(Chrom,switch1);%目標(biāo)函數(shù)OBJFUN1.M%調(diào)用格式:ObjVal=objfun1(Chrom,switch1)%輸入?yún)?shù):%Chrom-當(dāng)前種群%switch1-如果Chrom==[]則switch1==1%并返回邊界;如果switch1==2則返回標(biāo)題;%如果switch1==3則返回全局最小值%輸出變量:%ObjVal-各個(gè)體的目標(biāo)函數(shù)值目標(biāo)函數(shù)第三十五頁,共七十三頁。ifNind==0ifswitch1==2ObjVal=['DEJONGfunction1-'int2str(Dim)];elseifswitch1==3ObjVal=0;elseObjVal=100*[-5.12;5.12];ObjVal=ObjVal(1:2,ones(Dim,1));endelseifNvar==DimObjVal=sum((Chrom.*Chrom)')';elseerror('sizeofmatrixChromisnotcorrectforfunctionevaluation');end第三十六頁,共七十三頁。第三十七頁,共七十三頁。程序運(yùn)行所求得的最優(yōu)解為:y=1.0320第三十八頁,共七十三頁?!?.3多元多峰函數(shù)優(yōu)化實(shí)例第三十九頁,共七十三頁。Shubert函數(shù)的圖像為第四十頁,共七十三頁。目標(biāo)函數(shù)functionz=shubert(x,y)z=((1*cos((1+1)*x+1))+(2*cos((2+1)*x+2))+…(3*cos((3+1)*x+3))+(4*cos((4+1)*x+4))+…(5*cos((5+1)*x+5))).*((1*cos((1+1)*y+1))+…(2*cos((2+1)*y+2))+(3*cos((3+1)*y+3))+…(4*cos((4+1)*y+4))+(5*cos((5+1)*y+5)));第四十一頁,共七十三頁。1、將繪圖區(qū)域劃分為矩形網(wǎng)格—MESHGRID功能:將向量x,y指定的區(qū)域轉(zhuǎn)化為矩形X,Y調(diào)用格式:[X,Y]=MESHGRID(x,y)2、3維圖形輸出函數(shù)SURF(X,Y,Z)—著色表面圖MESH(X,Y,Z)—網(wǎng)線圖例如:[X,Y]=meshgrid(-2:.2:2,-2:.2:2);Z=X.*exp(-X.^2-Y.^2);surf(X,Y,Z);MESH(X,Y,Z);程序中的函數(shù)說明第四十二頁,共七十三頁。第四十三頁,共七十三頁。第四十四頁,共七十三頁。程序代碼如下:[x1,x2]=meshgrid(-10:.1:10);%畫出Shubert函數(shù)圖像figure(1);mesh(x1,x2,shubert(x1,x2));%定義遺傳算法參數(shù)NIND=40; %個(gè)體數(shù)目MAXGEN=50;%最大遺傳代數(shù)NVAR=2; %變量數(shù)目PRECI=25; %變量的二進(jìn)制位數(shù)GGAP=0.9; %代溝第四十五頁,共七十三頁。%建立區(qū)域描述器FieldD=[rep([PRECI],[1,NVAR]);…rep([-10;10],[1,NVAR]);rep([1;0;1;1],[1,NVAR])];%創(chuàng)建初始種群Chrom=crtbp(NIND,NVAR*PRECI);gen=0;%遺傳算法性能跟蹤初始值trace=zeros(MAXGEN,2);%初始種群十進(jìn)制轉(zhuǎn)換x=bs2rv(Chrom,FieldD); %初始種群的目標(biāo)函數(shù)值ObjV=Shubert(x(:,1),x(:,2)); 第四十六頁,共七十三頁。whilegen<MAXGENFitnV=ranking(ObjV);%分配適應(yīng)度值SelCh=select('sus',Chrom,FitnV,GGAP);SelCh=recombin('xovsp',SelCh,0.7);SelCh=mut(SelCh);x=bs2rv(SelCh,FieldD);ObjVSel=Shubert(x(:,1),x(:,2));[ChromObjV]=reins(Chrom,SelCh,1,1,…ObjV,ObjVSel);gen=gen+1;第四十七頁,共七十三頁。[Y,I]=min(ObjV);%輸出每一次的最優(yōu)解及其對(duì)應(yīng)的自變量值Y,bs2rv(Chrom(I,:),FieldD)%遺傳算法性能跟蹤trace(gen,1)=min(ObjV);trace(gen,2)=sum(ObjV)/length(ObjV);%迭代數(shù)為50時(shí)畫出目標(biāo)函數(shù)值分布圖if(gen==50)figure(2);plot(ObjV);holdon;plot(ObjV,'b*');grid;endend第四十八頁,共七十三頁。figure(3);clf;plot(trace(:,1));holdon;plot(trace(:,2),'-.');gridlegend('解的變化','種群均值的變化')第四十九頁,共七十三頁。第五十頁,共七十三頁。第五十一頁,共七十三頁?!?.4在多目標(biāo)優(yōu)化中的應(yīng)用第五十二頁,共七十三頁。5.4.1多目標(biāo)優(yōu)化的概念第五十三頁,共七十三頁。5.4.1多目標(biāo)優(yōu)化的概念第五十四頁,共七十三頁。5.4.1多目標(biāo)優(yōu)化的概念第五十五頁,共七十三頁。5.4.1多目標(biāo)優(yōu)化的概念第五十六頁,共七十三頁。5.4.2多目標(biāo)優(yōu)化問題的遺傳算法第五十七頁,共七十三頁。5.4.2多目標(biāo)優(yōu)化問題的遺傳算法第五十八頁,共七十三頁。5.4.2多目標(biāo)優(yōu)化問題的遺傳算法第五十九頁,共七十三頁。5.4.2多目標(biāo)優(yōu)化問題的遺傳算法第六十頁,共七十三頁。5.4.2多目標(biāo)優(yōu)化問題的遺傳算法第六十一頁,共七十三頁。5.4.2多目標(biāo)優(yōu)化問題的遺傳算法第六十二頁,共七十三頁。5.4.2多目標(biāo)優(yōu)化問題的遺傳算法第六十三頁,共七十三頁。5.4.3應(yīng)用舉例第六十四頁,共七十三頁。5.4.2多目標(biāo)優(yōu)化問題的遺傳算法NIND=100;%個(gè)體數(shù)目MAXGEN=50;%最大遺傳代數(shù)NVAR=2;%變量個(gè)數(shù)PRECI=20;%變量的二進(jìn)制位數(shù)GGAP=0.9;%代溝trace1=[];trace2=[];trace3=[];%性能跟蹤%建立區(qū)域描述器FieldD=[rep([PRECI],[1,NVAR]);[1,1;4,2];…rep([1;0;1;1],[1,NVAR])];第六十五頁,共七十三頁。5.4.2多目標(biāo)優(yōu)化問題的遺傳算法Chrom=crtbp(NIND,NVAR*PRECI);%初始種群v=bs2rv(Chrom,FieldD);%初始種群十進(jìn)制轉(zhuǎn)換gen=1;whilegen<MAXGEN[NIND,N]=size(Chrom);M=fix(NIND/2);ObjV1=f1(v(1:M,:));%分組后第一目標(biāo)函數(shù)值FitnV1=ranking(ObjV1);%分配適應(yīng)度值第六十六頁,共七十三頁。5.4.2多目標(biāo)優(yōu)化問題的遺傳算法SelCh1=select('sus',Chrom(1:M,:),FitnV1,GGAP);ObjV2=f2(v(M+1:NIND,:));%分組后第二目標(biāo)函數(shù)值FitnV2=ranking(ObjV2);SelCh2=select('sus',Chr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論