% 2.8 主程序
%遗传算法主程序
%Name:genmain05.m
clear
clc
popsize=20; %群体大小
minNumber=0;
maxNumber=10;
chromlength=10; %字符串长度(个体长度)
pc=0.6; %交叉概率
pm=0.001; %变异概率
pop=round(rand(popsize,chromlength)); %随机产生初始群体
for i=1:20 %20为迭代次数
decNumber=BinToDec(pop,minNumber,maxNumber); % 转换到变量空间
[objvalue]=calobjvalue(decNumber); % 计算目标函数
fitvalue = objvalue; % 目标函数直接作为适应度值
y(i)=max(fitvalue); % 保留最大值
n(i)=decNumber(i); % 保留最大值的解
[newpop1]=selection(pop,fitvalue); %选择
[newpop2]=crossover(newpop1,pc); %交叉
[newpop3]=mutation(newpop2,pm); %变异
pop=newpop3;
end
[z index]=max(y); %计算最大值及其位置
x=decNumber(index)%计算最大值对应的x值
y=z
ga.rar_遗传算法 非线性
版权申诉
70 浏览量
2022-09-14
17:53:22
上传
评论
收藏 3KB RAR 举报
周楷雯
- 粉丝: 80
- 资源: 1万+