- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ch6 遗传算法的改进.doc
Ch6 遗传算法.1遗传算法的基本函数
[Chrom,Lind,BaseV]=crtbp(Nind,Lind,base)
objV=[1;2;3;4;5;10;9;8;7;6]; %十个个体的目标函数值
FintV=ranking(objV); %根据目标函数计算各个体的适应度
SelCh=select(sus,Chrom,FitV); %根据适应度FitV对现有群体Chrom进行复制
NewChrom=recombin(REC_F,Chrom,RecOpt,SUBPOP)
REC_F:值为recdis、xovsp,二种不同交叉方式
Chrom:待交叉的种群,即染色体的集合
RecOpt:交叉概率,缺省时或NAN,取默认值
NewChrom=mut(OldChrom,Pm,BaseV)
Pm:为变异概率,缺省为0.7/Lind(染色体的长度).
baseV:染色体个体元素的变异的基本字符,缺省时为二进制编码
Chrom=reins(Chrom,SelCh) % 重插入
采用以上算法产生群体,计算适应度,根据适应度进行选择、交叉、变异,再计算适应度等不断循环进化,最后得到需要的解,这是经典遗传算法,尽管可以解决TSP问题,可以解决求最小值或最大值问题,也可以改善BP神经网络的性能,但也存在系列问题。
6.2存在问题-早熟
早熟即非成熟收敛,没有迭代完指定的代数,所有个体都趋于同一个体丧失生物多样性,从而再迭代没有任何意义了,无法获取最优解,主要与以下方面相关。
(1)选择操作是根据当前群体中,个体适应度值所决定的概率进行的。当群体中存在个别超常个体时(即该个体的适应度远高于其他个体),该个体在选择算子作用下,将会多被选中,强者通吃,强者越强,弱者越弱,下一代很快被该个体控制,变成寡头政治。
(2)交叉和变异操作发生的概率Pc与Pe控制,这二个参数其实控制了算法的局部有哪些信誉好的足球投注网站能力,因此算法对这二个参数非常敏感。不同的参数值会有不同的结果。
(3)群体规模对遗传算法的优化性能也有较大影响,群体太小了,生物多样性体现不出来,杂交优势没有了,群体太大,计算时间可能太长了,计算效率会降低了。
(4)遗传算法的终止判据是,人为设定其迭代次数,可能也会造成未成熟就终止了即收敛了。
为了克服以上问题,对遗传算法参数的设置做了精心的校定,提出了自适应的交叉和变异,但多数情况下,要针对具体的问题进行分析、试探,寻找相应的控制参数。
6.3多种群遗传算法(multiple population GA MPGA)
(1)多个种群同时进行优化有哪些信誉好的足球投注网站,不同种群的控制参数不同,从而实现不同有哪些信誉好的足球投注网站目的。
(2)各种群之间通过移民算子进行联系,实现多种群的协同进化。最优解的获取是多个种群协同进化的综合结果。
(3)通过人工选择算子,保存各种群每个进化代中的最优个体,并作为判断算法收敛的依据。
交叉算子是产生新个体的主要算子,它决定遗传算法的全局有哪些信誉好的足球投注网站能力。
变异算子是产生新个体的辅助算子,它决定了遗传算法的局部有哪些信誉好的足球投注网站能力。
建议Pc的值大一点(0.7~0.9),如Pm的值小一点(0.001~0.05),为了避免参数的敏感性,多种群协同进化,兼顾全局与局部的平衡性。
移民算子将各种群在进化过程中出现的最优个体,定期地(每隔一定的进化代数)引入其他的群中,实现种群之间的信息交换,将目标种群中的最差个体,用源种群中的最优个体代替。
精华种群和其他种群有很大不同。在进化的每一代,通过人工选择算子选出其他种群的最优个体,放入到精华种群加以保存。精华种群不进行选择、交叉、变异等遗传操作,保证进化过程中各种群产生的最优个体不被破坏和丢失,同时精华种群也是判断算法终止的依据。
6.4实例
max f(x,y)=21.5+xsin(4(x)+ysin(204(y),-3.0(x(12.1,4.1(x(5.8,
x=-3.0:0.01:12.1;
len=length(x);
y1=(5.8-4.1)/len;
y=4.1:y1:5.8;
y=y(1:len);
[X,Y]=meshgrid(x,y);
Z=21.5+X.*sin(4*pi*X)+Y.*sin(20*pi*Y);
mesh(X,Y,Z)
有很多的局部极值,常见的寻优算法可能很容易陷入局部极值,或在局部值极值之间振荡。
移民算子
function [Chrom,ObjV]=immigrant(Chrom,ObjV)
%Chrom 是各种群的集合,应是3维数组,
%1维是哪个种群,2维是种群中某染色体,3维是某染色体的基因位
%OjbV 是各种群中各染色体的目标函数值
MP=length(Chrom); %种群的个数
for i=1:MP
[MaxO,maxI]=max(ObjV{i}); % 找出第i种群
文档评论(0)