遗传算法与蚂蚁算法作业.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遗传算法与蚂蚁算法作业

题目1:z=2-exp[-(x2+y2)], x,y[-5,+5],求函数最小值(1)用遗传算法来做:第一步:确定决策变量及其约束条件s.t. -5=x=5第二步:建立优化模型第三步:确定编码方法,用长度为50位的二进制编码串来表示决策变量x第四步:确定解码方法第五步:确定个体评价方法个体的适应度取为每次迭代的最小值的绝对值加上目标函数值,即第六步:确定参数本题种群规模n=30,迭代次数ger=200,交叉概率pc=0.65,变异概率pm=0.05代码:clear all;close all;clc;tic;n=30;ger=200;pc=0.65;pm=0.05;% 生成初始种群v=init_population(n,50); [N,L]=size(v);disp(sprintf(Number of generations:%d,ger));disp(sprintf(Population size:%d,N));disp(sprintf(Crossover probability:%.3f,pc));disp(sprintf(Mutation probability:%.3f,pm));% 待优化问题xmin=-5;xmax=5;ymin=-5;ymax=5;f=-(2-exp(-(x.^2+y.^2)));[x,y]=meshgrid(xmin:0.1:xmax,ymin:0.1:ymax);vxp=x;vyp=y;vzp=eval(f);figure(1);mesh(vxp,vyp,-vzp);hold on;grid on;% 计算适应度,并画出初始种群图形x=decode(v(:,1:25),xmin,xmax);y=decode(v(:,26:50),ymin,ymax);fit=eval(f);plot3(x,y,-fit,k*);title((a)染色体的初始位置);xlabel(x);ylabel(y);zlabel(f(x,y));% 迭代前的初始化vmfit=[];vx=[];it=1; % 迭代计数器% 开始进化while it=ger % Reproduction(Bi-classist Selection) vtemp=roulette(v,fit); % Crossover v=crossover(vtemp,pc); % Mutation M=rand(N,L)=pm; %M(1,:)=zeros(1,L); v=v-2.*(v.*M)+M; % Results x=decode(v(:,1:25),xmin,xmax); y=decode(v(:,26:50),ymin,ymax); fit=eval(f); [sol,indb]=max(fit); % 每次迭代中最优目标函数值 v(1,:)=v(indb,:); fit_mean=mean(fit); % 每次迭代中目标函数值的平均值 vx=[vx sol]; vmfit=[vmfit fit_mean]; it=it+1;end%%%% 最后结果disp(sprintf(\n)); %空一行% 显示最优解及最优值disp(sprintf(Maximum found[x,f(x)]:[%.4f,%.4f,%.4f],x(indb),y(indb),-sol));% 图形显示最优结果figure(2);mesh(vxp,vyp,-vzp);hold on;grid on;plot3(x,y,-fit,r*);title(染色体的最终位置);xlabel(x);ylabel(y);zlabel(f(x,y));% 图形显示最优及平均函数值变化趋势figure(3);plot(-vx);%title(最优,平均函数值变化趋势);xlabel(Generations);ylabel(f(x));hold on;plot(-vmfit,r);hold off;runtime=toc运行结果:Maximum found[x,f(x)]:[0.0033,0.0017,1.0000](2)用蚁群算法来做代码:% Ant main programclear all;close all;clc;tic;Ant=100;Ger=50;xmin=-5;xmax=5;ymin=-5;ymax=5;tcl=0.05;f=-(2-exp(-(x.^2+y.^2))); % 待优化的目标函数[x,y]=meshgrid(xmin:tcl:xmax,ymin:tcl:ymax);vxp=x;vyp=y;vzp=eval(f);fi

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档