蚁群算法matlab源代码_第1页
蚁群算法matlab源代码_第2页
蚁群算法matlab源代码_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上function Shortest_Route,Shortest_Length=ACATSP(D,NC_max,m,Alpha,Beta,Rho,Q)%=% ACATSP.m% Ant Colony Algorithm for Traveling Salesman Problem% ChengAihua,PLA Information Engineering University,ZhengZhou,China% Email:aihuacheng% All rights reserved%-% 主要符号说明% C n个城市的坐标,n×2的矩阵% NC_max

2、 最大迭代次数% m 蚂蚁个数% Alpha 表征信息素重要程度的参数% Beta 表征启发式因子重要程度的参数% Rho 信息素蒸发系数% Q 信息素增加强度系数% R_best 各代最佳路线% L_best 各代最佳路线的长度% L_ave 各代路线的平均长度%=%第一步:变量初始化n=size(D,1);for i=1:n D(i,i)=eps;endEta=1./D;%Eta为启发因子,这里设为距离的倒数Tau=ones(n,n);%Tau为信息素矩阵Tabu=zeros(m,n);%存储并记录路径的生成NC=1;%迭代计数器R_best=zeros(NC_max,n);%各代最佳路线

3、L_best=inf.*ones(NC_max,1);%各代最佳路线的长度L_ave=zeros(NC_max,1);%各代路线的平均长度while NC<=NC_max%停止条件之一:达到最大迭代次数%第二步:将m只蚂蚁放到n个城市上 Randpos=; for i=1:(ceil(m/n) Randpos=Randpos,randperm(n); end Tabu(:,1)=(Randpos(1,1:m)' %第三步:m只蚂蚁按概率函数选择下一座城市,完成各自的周游 for j=2:n for i=1:m visited=Tabu(i,1:(j-1);%已访问的城市 J=ze

4、ros(1,(n-j+1);%待访问的城市 P=J;%待访问城市的选择概率分布 Jc=1; for k=1:n if length(find(visited=k)=0 J(Jc)=k; Jc=Jc+1; end end %下面计算待选城市的概率分布 for k=1:length(J) P(k)=(Tau(visited(end),J(k)Alpha)*(Eta(visited(end),J(k)Beta);%(信息素信息素系数)*(启发因子启发因子系数) end P=P/(sum(P); %按概率原则选取下一个城市 Pcum=cumsum(P); Select=find(Pcum>=ra

5、nd); to_visit=J(Select(1); Tabu(i,j)=to_visit; end end if NC>=2 Tabu(1,:)=R_best(NC-1,:); end%第四步:记录本次迭代最佳路线 L=zeros(m,1); for i=1:m R=Tabu(i,:); for j=1:(n-1) L(i)=L(i)+D(R(j),R(j+1); end L(i)=L(i)+D(R(1),R(n); end L_best(NC)=min(L); pos=find(L=L_best(NC); R_best(NC,:)=Tabu(pos(1),:); L_ave(NC)=mean(L); NC=NC+1%第五步:更新信息素 Delta_Tau=zeros(n,n); for i=1:m for j=1:(n-1) Delta_Tau(Tabu(i,j),Tabu(i,j+1)=Delta_Tau(Tabu(i,j),Tabu(i,j+1)+Q/L(i); end Delta_Tau(Tabu(i,n),Tabu(i,1)=Delta_Tau(Tabu(i,n),Tabu(i,1)+Q/L(i); end Tau=(1-Rho).*Tau+Delta_Tau;%第六步:禁忌表清零 Tabu=zeros(m,n);end%第七步:输出结果Po

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论