% 下面举例说明遗传算法 %
% 求下列函数的最大值 %
% f(x)=10*sin(5x)+7*cos(4x) x∈[0,10] %
% 将 x 的值用一个 10 位的二值形式表示为二值问题,一个 10 位的二值数提供的分辨率是每为
(10-0)/(2^10-1)≈0.01 。 %
% 将变量域 [0,10] 离散化为二值域 [0,1023], x=0+10*b/1023, 其中 b 是 [0,1023] 中的一个二值数。
%
% %
%--------------------------------------------------------------------------------------------------------------%
%--------------------------------------------------------------------------------------------------------------%
% 编程
%-----------------------------------------------
% 2.1 初始化(编码)
% initpop.m 函数的功能是实现群体的初始化,popsize 表示群体的大小,chromlength 表示染色体的长度(二
值数的长度),
% 长度大小取决于变量的二进制编码的长度(在本例中取 10 位)。
%遗传算法子程序
%Name: initpop.m
%初始化
function pop=initpop(popsize,chromlength)
pop=round(rand(popsize,chromlength)); % rand 随机产生每个单元为 {0,1} 行数为 popsize,列数为
chromlength 的矩阵,
% roud 对矩阵的每个单元进行圆整。这样产生的初始种群。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !