多种群遗传算法的函数优化算法

多种群遗传算法的函数优化算法

ID:33204670

大小:84.50 KB

页数:5页

时间:2019-02-22

多种群遗传算法的函数优化算法_第1页
多种群遗传算法的函数优化算法_第2页
多种群遗传算法的函数优化算法_第3页
多种群遗传算法的函数优化算法_第4页
多种群遗传算法的函数优化算法_第5页
资源描述:

《多种群遗传算法的函数优化算法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、多种群遗传算法的函数优化算法1、案例背景  针对遗传算法所存在的问题,一种多种群遗传算法结构模型(MultiplePopulationGA,简称MPGA)可以用来取代常规的标准计算模型(SGA)。MPGA在SGA的基础上主要引入了以下几个概念:(1)突破SGA仅靠单个群体进行遗传进化的框架,引入多个种群同时进行优化搜索;不同的种群赋以不同的控制参数,实现不同的搜索目的。(2)各个种群之间通过移民算子进行联系,实现多种群的协同进化;最优解的获取是多个种群协同进化的综合结果。(3)通过人工选择算子保存各种群每个进化代中的最优个体,并作为判断算法收敛的依据。 图

2、 7-1MPGA的算法结构示意图复杂二元函数求最值: 图 7-2 二元函数图像2、案例目录:第7章多种群遗传算法的函数优化算法7.1 理论基础  7.1.1遗传算法早熟问题  7.1.2多种群遗传算法概述7.2案例背景  7.2.1问题描述  7.2.2解决思路及步骤7.3MATLAB程序实现  7.3.1移民算子  7.3.2人工选择算子  7.3.3目标函数  7.3.4标准遗传算法主函数  7.3.5多种群遗传算法主函数  7.3.6结果分析7.4延伸阅读7.5 参考文献3、主程序:%%多种群遗传算法clear;clccloseallNIND=40;

3、%个体数目NVAR=2;%变量的维数PRECI=20;%变量的二进制位数GGAP=0.9;%代沟MP=10;%种群数目FieldD=[rep(PRECI,[1,NVAR]);[-3,4.1;12.1,5.8];rep([1;0;1;1],[1,NVAR])];%译码矩阵fori=1:MPChrom{i}=crtbp(NIND,NVAR*PRECI);%创建初始种群endpc=0.7+(0.9-0.7)*rand(MP,1);%在【0.7,0.9】范围i内随机产生交叉概率pm=0.001+(0.05-0.001)*rand(MP,1);%在【0.001,0.

4、05】范围内随机产生变异概率gen=0;%初始遗传代数gen0=0;%初始保持代数MAXGEN=10;%最优个体最少保持代数maxY=0;%最优值fori=1:MPObjV{i}=ObjectFunction(bs2rv(Chrom{i},FieldD));%计算各初始种群个体的目标函数值endMaxObjV=zeros(MP,1);%记录精华种群MaxChrom=zeros(MP,PRECI*NVAR);%记录精华种群的编码whilegen0<=MAXGENgen=gen+1;%遗传代数加1fori=1:MPFitnV{i}=ranking(-ObjV{

5、i});%各种群的适应度SelCh{i}=select('sus',Chrom{i},FitnV{i},GGAP);%选择操作SelCh{i}=recombin('xovsp',SelCh{i},pc(i));%交叉操作SelCh{i}=mut(SelCh{i},pm(i));%变异操作ObjVSel=ObjectFunction(bs2rv(SelCh{i},FieldD));%计算子代目标函数值[Chrom{i},ObjV{i}]=reins(Chrom{i},SelCh{i},1,1,ObjV{i},ObjVSel);%重插入操作end[Chrom,

6、ObjV]=immigrant(Chrom,ObjV);%移民操作[MaxObjV,MaxChrom]=EliteInduvidual(Chrom,ObjV,MaxObjV,MaxChrom);%人工选择精华种群YY(gen)=max(MaxObjV);%找出精华种群中最优的个体ifYY(gen)>maxY%判断当前优化值是否与前一次优化值相同maxY=YY(gen);%更新最优值gen0=0;elsegen0=gen0+1;%最优值保持次数加1endend%%进化过程图plot(1:gen,YY)xlabel('进化代数')ylabel('最优解变化')

7、title('进化过程')xlim([1,gen])%%输出最优解[Y,I]=max(MaxObjV);%找出精华种群中最优的个体X=(bs2rv(MaxChrom(I,:),FieldD));%最优个体的解码解disp(['最优值为:',num2str(Y)])disp(['对应的自变量取值:',num2str(X)])4、运行结果:  标准遗传算法运行5次得到的结果图:多种群遗传算法运行5次得到的结果图:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。