?? mygen.m
字號:
function [sz_var,weizhi,z_fitness,z_indiv,endfitness,endsz_var]=Mygen(max_var,min_var,pc,pm,scale_var,popsize,N)
[bin_gen,bits]=encoding(min_var,max_var,scale_var,popsize); %隨機生成種群
sz_var=zeros(N,size(bits,2)); %最高適應值對應的實值
z_fitness=zeros(1,N);%最高適應值
z_indiv=zeros(N,sum(bits));%最優個體
for i=1:N
[var_gen,fitness]=decoding2(bin_gen,bits,min_var,max_var);
[evo_gen,best_indiv,max_fitness,weizhi]=selection(bin_gen,fitness);
[new_gencross]=crossover(evo_gen,pc);
[new_genmut]=mutation(new_gencross,pm);
gedai_gen=[new_genmut;best_indiv;best_indiv];%經選擇、交叉、變異操作后得到的子代
bin_gen=gedai_gen;
z_indiv(i,:)=best_indiv; %保存每代最優個體
sz_var(i,:)=var_gen(weizhi,:);%保存每代的實值
z_fitness(1,i)=max_fitness;%保存每代最大的適應值
end
%輸出最后的最大適應值、個體對應的實值
[endfitness,maxweizhi]=max(z_fitness);
endsz_var(1,:)=sz_var(maxweizhi,:);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -