?? yj8.m
字號:
%定義遺傳算法參數(shù)
Dim=20; %變量維數(shù)
NIND=20; %個體數(shù)目(Number of individuals)
Preci=20; %變量的二進制位數(shù)(Precision of variables)
MAXGEN=100; %最大遺傳代數(shù)(Maximum number of generations)
GGAP=0.8; %代溝(Generation gap)
SEL_F='sus'; %選擇函數(shù)名
XOV_F='xovsp'; %重組函數(shù)名
MUT_F='mut'; %變異函數(shù)名
OBJ_F='objdopi'; %目標函數(shù)名
FieldDR=feval(OBJ_F,[],1); %計算目標函數(shù)值
%建立區(qū)域描述器(Build field descriptor)
FieldDD=[rep([Preci],[1,Dim]);FieldDR;rep([1;0;1;1],[1,Dim])];
Chrom=crtbp(NIND, Dim*Preci); %創(chuàng)建初始種群
gen=0;
Best=NaN*ones(MAXGEN,1); %最優(yōu)解初值
while gen<MAXGEN %最大循環(huán)次數(shù)
ObjV=feval(OBJ_F,bs2rv(Chrom,FieldDD)); %計算目標函數(shù)值
Best(gen+1)=min(ObjV); %最優(yōu)解
plot(log10(Best),'bo');
FitnV=ranking(ObjV); %分配適應(yīng)度值(Assign fitness values)
SelCh=select(SEL_F,Chrom,FitnV,GGAP); %選擇
SelCh=recombin(XOV_F,SelCh); %重組
SelCh=mutate(MUT_F,SelCh); %變異
Chrom=reins(Chrom,SelCh); %重插入
gen=gen+1;
end
grid;
xlabel('迭代次數(shù)');ylabel('目標函數(shù)值(取對數(shù))');
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -