📄 mainprog.asv
字号:
%遗传算法主程序
% 遗传算法实现特征选择,对初始特征进行选择
%Name:mainprog.m
clear;
%矩阵准备,准备各类成分基于各种特征下的值的矩阵形式
% M_red;
% M_white;
% M_shangpi;
% M_cast;
%矩阵准备结束%%%%%%%%%%%%%%%%%%%%%%%%%%%
tic; %用于记录运行时间
%参数设置
popsize=20; %设置初始参数,群体大小
chromlength=5; %字符串长度(个体长度),染色体长度
pc=0.6; %设置交叉概率
pm=0.6; %设置变异概率
%参数设置结束
pop=initpop(popsize,chromlength); %运行初始化函数,随机产生初始群体
dai=200;
%给最佳染色体及其适应度值赋初值%
% [xx,yy]=size(M1);
pop_best=zeros(1,chromlength);
value_best=0;
%结束
aaa=zeros(1,200); %存放每一代中最好的种群所对应的适应度值
for i=1:dai%200为迭代次数
fitvalue=calfitvalue(pop); %计算群体中每个个体的适应度
[newpop]=selection(pop,fitvalue); %复制
[newpop]=crossover(newpop,pc); %交叉
[newpop]=mutation(newpop,pm);%变异
[bestindividual,bestfit]=best(pop,fitvalue);%求出群体中适应值最大的个体及其适应值
if bestfit>value_best %保存数代遗传之后最好的种群
value_best=bestfit;
pop_best=bestindividual;
end
pop_temp=bestindividual;
value_temp=bestfit;
pop=newpop;
end
pop_best
value_best
%用于记录运行时间
toc;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -