1 / 8
文档名称:

遗传算法 最值.doc

格式:doc   大小:149KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

遗传算法 最值.doc

上传人:cjc201601 2018/1/13 文件大小:149 KB

下载得到文件列表

遗传算法 最值.doc

文档介绍

文档介绍:遗传算法最值
遗传算法(ic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,,并出版了颇有影响的专著《Adaptation in Natural and Artificial Systems》,GA这个名称才逐渐为人所知,(SGA)。
图 1. 遗传算法的流程图
所求函数为y=x+10*sin(5*x)+7*cos(4*x)
%主函数
function main()
global chrom lchrom oldpop newpop varible fitness popsize sumfitness %定义全局变量
global pcross pmutation temp bestfit maxfit gen bestgen
global maxgen po pp mp np
%
lchrom=12; %染色体长度
popsize=30; %种群大小
pcross=; %交叉概率
pmutation=; %变异概率,取到了最大,
maxgen=100; %最大代数
po=; %淘汰概率
pp=; %保护概率
%
mp=floor(pp*popsize); %保护的个数
np=floor(po*popsize); %淘汰的个数
%
initpop; % 初始种群
%
for gen=1:maxgen
generation;
end
%
best;
bestfit % 最佳个体适应度值输出
bestgen % 最佳个体所在代数输出
gen=1:maxgen;
plot(gen,maxfit(1,gen)); % 进化曲线
%
%*******************产生初始种群************************************
%
function initpop()
global lchrom oldpop popsize chrom
for i=1:popsize
chrom=rand(1,lchrom); % lchrom=12 染色体长度
for j=1:lchrom
if chrom(1,j)<
chrom(1,j)=0;
else
chrom(1,j)=1;
end
end
oldpop(i,1:lchrom)=chrom;
end
%
%***产生新一代个体**********************************
%
function generation()
objfun; %计算适应度值
pp_po; %保护淘汰操作
select; %选择操作
crossover;
mutation;
%
%********************计算适应度值********************************
%
function objfun()
global lchrom old