?? example5_38.m
字號:
%每個種群中的個體數目
NIND = 20;
%最大代數
MAXGEN = 100;
GGAP = .8;
SEL_F = 'sus'; % 選擇函數
XOV_F = 'xovsp'; % 交叉函數
MUT_F = 'mut'; % 變異函數
OBJ_F = 'objfun1'; % 目標函數
% 目標函數的邊界
FieldDR = feval(OBJ_F,[],1);
% 目標函數變量的數目
NVAR = size(FieldDR,2);
% 描述矩陣
PRECI = 20;
FieldDD = [rep([PRECI],[1, NVAR]);...
FieldDR;...
rep([1; 0; 1 ;1], [1, NVAR])];
%生成種群
Chrom = crtbp(NIND, NVAR*PRECI);
gen = 0;
Best = NaN*ones(MAXGEN,1);
% 遺傳迭代
while gen < MAXGEN,
% 計算目標函數
ObjV = feval(OBJ_F,bs2rv(Chrom, FieldDD));
Best(gen+1) = min(ObjV);
plot(log10(Best),'bo');
xlabel('generation');
ylabel('log10(Best)');
% 適度分配
FitnV = ranking(ObjV);
% 選擇個體
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
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -