資源簡介
matlab多目標遺傳算法優化實例,注釋詳盡。序安裝遺傳算法工具箱。
代碼片段和文件信息
NIND=100;??????????????????????????????%個體數目(Number?of?individuals)
MAXGEN=50;?????????????????????????????%最大遺傳代數(Maximum?number?of?generations)
NVAR=2;????????????????????????????????%變量個數
PRECI=20;??????????????????????????????%變量的二進制位數(Precision?of?variables)
GGAP=0.9;??????????????????????????????%代溝(Generation?gap)
trace1=[];trace2=[];trace3=[];?????????%性能跟蹤
%建立區域描述器(Build?field?descriptor)
FieldD=[rep(PRECI[1NVAR]);[11;42];rep([1;0;1;1][1NVAR])];
Chrom=crtbp(NINDNVAR*PRECI);??????????%初始種群
v=bs2rv(ChromFieldD);?????????????????%初始種群十進制轉換
gen=1;
while?gen ????[NIND?N]=size(Chrom);
????M=fix(NIND/2);
????ObjV1=f1(v(1:M:));????????????????%分組后第一目標函數值
????FitnV1=ranking(ObjV1);?????????????%分配適應度值(Assign?fitness?values)
????SelCh1=select(‘sus‘Chrom(1:M:)FitnV1GGAP);?????????????????%選擇
????ObjV2=f2(v(M+1:NIND:));???????????%分組后第二目標函數值
????FitnV2=ranking(ObjV2);
????SelCh2=select(‘sus‘Chrom((M+1):NIND:)FitnV2GGAP);??????????%選擇
????SelCh=[SelCh1;SelCh2];???
評論
共有 條評論