为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

蚁群算法求函数最大值程序

2017-10-06 4页 doc 16KB 82阅读

用户头像

is_477730

暂无简介

举报
蚁群算法求函数最大值程序蚁群算法求函数最大值程序 function [maxx,maxy,maxvalue]=antcolony % 蚁群算法求函数最大值的程序 %%%%%%%%%%%%%%%%%%%%%%%%%%% 初始化 ant=200; % 蚂蚁数量 times=50; % 蚂蚁移动次数 rou=0.8; % 信息素挥发系数 p0=0.2; % 转移概率常数 lower_1=-1; % 设置搜索范围 upper_1=1; % lower_2=-1; % upper_2=1; % %%%%%%%%%%%%%%%%%%%%%%...
蚁群算法求函数最大值程序
蚁群算法求函数最大值程序 function [maxx,maxy,maxvalue]=antcolony % 蚁群算法求函数最大值的程序 %%%%%%%%%%%%%%%%%%%%%%%%%%% 初始化 ant=200; % 蚂蚁数量 times=50; % 蚂蚁移动次数 rou=0.8; % 信息素挥发系数 p0=0.2; % 转移概率常数 lower_1=-1; % 设置搜索范围 upper_1=1; % lower_2=-1; % upper_2=1; % %%%%%%%%%%%%%%%%%%%%%%%%%%%% for i=1 : ant X(i,1)=(lower_1+(upper_1-lower_1)*rand); %随机设置蚂蚁的初值位置 X(i,2)=(lower_2+(upper_2-lower_2)*rand); tau(i)=F(X(i,1),X(i,2)); end step=0.05; f='-(x.^2+2*y.^2-0.3*cos(3*pi*x)-0.4*cos(4*pi*y)+0.7)'; [x,y]=meshgrid(lower_1:step:upper_1,lower_2:step:upper_2); z=eval(f); figure(1); mesh(x,y,z); hold on; plot3(X(:,1),X(:,2),tau,'k*') hold on; text(0.1,0.8,-0.1,'蚂蚁的初始分部位置') xlabel('x');ylabel('y');zlabel('f(x,y)'); for t=1:times lamda=1/t; [tau_best(t),bestindex]=max(tau); for i=1:ant p(t,i)=(tau(bestindex)-tau(i))/tau(bestindex); % 计算状态转移概率 end for i=1:ant if p(t,i)upper_1 temp1=upper_1; end if temp2upper_2 temp2=upper_2; end %%%%%%%%%%%%%%%%%%%%%%% if F(temp1,temp2)>F(X(i,1),X(i,2)) % 判断蚂蚁是否移动 X(i,1)=temp1; X(i,2)=temp2; end end for i=1:ant tau(i)=(1-rou)*tau(i)+F(X(i,1),X(i,2)); % 更新信息量 end end figure(2); mesh(x,y,z); hold on; x=X(:,1);y=X(:,2); plot3(x,y,eval(f),'k*') hold on; text(0.1,0.8,-0.1,'蚂蚁的最终分布位置') xlabel('x');ylabel('y'),zlabel('f(x,y)'); [max_value,max_index]=max(tau); maxx=X(max_index,1); maxy=X(max_index,2); maxvalue=F(X(max_index,1),X(max_index,2)); function [F]=F(x1,x2) %目标函数 F=-(x1.^2+2*x2.^2-0.3*cos(3*pi*x1)-0.4*cos(4*pi*x2)+0.7);
/
本文档为【蚁群算法求函数最大值程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索