⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a7.m

📁 matlab遗传算法源码,英国社菲尔德工具箱
💻 M
字号:
NIND = 40; % Number of individuals
MAXGEN =50; % Maximum no. of generations
GGAP = 0.9; % Generation gap
trace=zeros(MAXGEN,2);%遗传算法性能跟踪初始值
% Build field descriptor
Chrom=crtbp(NIND,crtbase(15,8))+ones(NIND,15);% Initialise population
gen = 0;% Counter
ObjV = tarall(Chrom);% Evaluate initial population
while gen < MAXGEN,% Generational loop
FitnV = ranking(-ObjV);% Assign fitness values to entire population
SelCh = select('sus', Chrom,FitnV, GGAP);% Select individuals for breeding
SelCh = recombin('xovsp',SelCh,0.7);% Recombine individuals (crossover)
f=rep([1; 8],[1,15]);
SelCh = mutbga(SelCh,f);SelCh=fix(SelCh);% Apply mutation
ObjVSel = tarall(SelCh);% Evaluate offspring, call objective function
[Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);% Reinsert offspring into population
gen = gen+1;% Increment counter
trace(gen,1)=max(ObjV);trace(gen,2)=sum(ObjV)/length(ObjV);%遗传算法性能跟踪
end
[Y,I]=max(ObjV);Chrom(I,:),Y  %最优解及其目标函数值
plot(trace(:,1));hold on; plot(trace(:,2),'-.');grid
legend('解的变化','种群均值的变化')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -