ga工具箱的经典编写程序示例_yalmip工具箱使用范例

2020-02-27 其他范文 下载本文

ga工具箱的经典编写程序示例由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“yalmip工具箱使用范例”。

nvar=20;%变量个数 nind=100;%种群大小 subpop=10;%子种群数量 maxgen=500;%最大遗传代数 miggen=20;%每隔20代发生迁移 range=[0;200];%变量范围 ggap=0.8;%代沟率 xovr=1;%交叉率

mutr=1/xovr;%变异率 insr=0.9;%插入率 migr=0.2;%迁移率 selfun='sus';%选择函数 xovfun='recdis';%重组函数 mutfun='mutbga';%变异函数 gen=0;trace=zeros(maxgen,2);%遗传算法性能跟踪 fieldDD=rep(range,[1,nvar]);%译码矩阵 chorm=crtrp(nind,fieldDD);%创建初始种群 objv=objfun(chorm);%计算目标函数

while gen

fitv=ranking(objv,[2,1],subpop);%分配适度值

selch=selet(selfun,chorn,fitv,ggap,subpop);%选择

recch=recombin(xovfun,selch,xovr,subpop);%重组

mutch=mutate(mutfun,recch,fieldDD,mutr,subpop);%变异

objvoff=objfun(mutch);%计算目标函数值

[chorm,objv]=reins(chorm,mutch,subpop,[1 indr],objv,objvoff);%替代

gen=gen+1;

trace(gen,1)=min(objv);

trace(gen,2)=mean(objv);

%在子种群中迁移个体

if(rem(gen,miggen)==0)

[chorm,objv]=migrate(chor,subpop,[migr,1,1],objv);

end end

[yy,ii]=min(objv);%输出最有解及序号 figure(1)plot(chorm(ii,:),’-ro’);

figure(2);%遗传算法性能跟踪图 plot(trace(:,1));hold on plot(trace(:,2),’-.r’);

legend('解的变化','种群均值的变化');xlabel('迭代次数');

《ga工具箱的经典编写程序示例.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
ga工具箱的经典编写程序示例
点击下载文档
相关专题 yalmip工具箱使用范例 示例 工具箱 程序 yalmip工具箱使用范例 示例 工具箱 程序
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文