📄 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 + -