![蚁群算法路径优化算法_第1页](http://file4.renrendoc.com/view/3b9d5d88c79011241a929c7b44ce13e8/3b9d5d88c79011241a929c7b44ce13e81.gif)
![蚁群算法路径优化算法_第2页](http://file4.renrendoc.com/view/3b9d5d88c79011241a929c7b44ce13e8/3b9d5d88c79011241a929c7b44ce13e82.gif)
![蚁群算法路径优化算法_第3页](http://file4.renrendoc.com/view/3b9d5d88c79011241a929c7b44ce13e8/3b9d5d88c79011241a929c7b44ce13e83.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、以TSP为例,基本蚁群算法的具体实现步骤如下:(1)参数初始化二令时间十二0和循环複数T二山设置最大循环次数肥=0;将DL只蚂蚁置于II个元素(城市)上,令有自图上每条边(2)循环次数N十乂+1,蚂蚁的禁忌表索引号41,(4)蚂蚁数目上1女+,%】(5)蚂蚁个体根据状态转移概率公式计算的概率选择元素(城市)、i并前逬,;C-tabukDV仏仇厂*3CiXlOTAl,E否则其中,表示在t时刻蚂蚁k由元素(城市)i转移到元素(城市)j的状态转移概率。allowedk=Ctabuk表示蚂蚁k下一步允许选择的城市。a为启发式因子,表示轨迹的相对重要性,反映了蚂蚁在运动过程中所积累的信息在蚂蚁运动时所起
2、的作用,其值越大,则该蚂蚁越倾向于选择其他蚂蚁经过的路径,蚂蚁之间的协作性越强。B为期望启发式因子,表示能见度的相对重要性,反映了蚂蚁在运动过程中启发信息在蚂蚁选择路径中的受重视程度,其值越曲)=总大,则该状态转移概率越接近于贪心规则;nij(t)为启发函数,表达式为o式中,dij表示相邻两个城市之间的距离。(6)修改禁忌表指针,即选择好之后将蚂蚁移动到新的元素(城市),并把该元素(城市)移动到该蚂蚁个体的禁忌表中。(7)若集合C中元素(城市)未遍历完,即km,则跳转到第(4)步,否则执行第(8)步。(8)根据公式冲=工乂更新每条路径上的信息量:ij(tn)=(1)ij(t),J(9)若满足结
3、束条件,即如果循环次数,则循环结束并输出程序计算结果,否则清空禁忌表并跳转到第(2)步。蚁群算法的matlab源程序1.蚁群算法主程序:main.m%functionbestroute,routelength=AntClccleartic%读入城市间距离矩阵数据文件CooCity=load(CooCity.txt);%城市网络图坐标数据文件,txt形式给出NC=length(CooCity);%城市个数fori=1:NC%计算各城市间的距离forj=1:NCdistance(i,j)=sqrt(CooCity(i,2)-CooCity(j,2)A2+(CooCity(i,3)-CooCity(
4、j,3)A2);endendMAXIT=10;%最大循环次数Citystart=;%起点城市编号tau=ones(NC,NC);%初始时刻各边上的信息痕迹为1rho=0.5;%挥发系数alpha=1;%残留信息相对重要度beta=5;%预见值的相对重要度Q=10;%蚁环常数NumAnt=20;%蚂蚁数量routelength=inf;%用来记录当前找到的最优路径长度forn=1:MAXITfork=1:NumAnt%考查第K只蚂蚁deltatau=zeros(NC,NC);%第K只蚂蚁移动前各边上的信息增量为零%routek,lengthk=path(distance,tau,alpha,be
5、ta,);%不靠率起始点routek,lengthk=path(distance,tau,alpha,beta,Citystart);%指定起始点iflengthkroutelength%找到一条更好的路径:routelength=lengthk;:bestroute=routek;endfori=1:NC-1%第K只蚂蚁在路径上释放的信息量deltatau(routek(i),routek(i+1)=deltatau(routek(i),routek(i+1)+Q/lengthk;%信息素更新end%deltatau(routek(NC),1)=deltatau(routek(NC),1)+
6、Q/lengthk;%endlength_n(n)=routelength;%记录路径收敛tau=(1-rho).*tau;%信息素挥发end%costtime=toc;subplot(1,2,1),plot(CooCity(bestroute,2),CooCity(bestroute,3),-*)subplot(1,2,2),plot(1:MAXIT,length_n,-*)routelength,costtime2.蚁群算法寻找路径程序:path.m%某只蚂蚁找到的某条路径routek,lengthkfunctionroutek,lengthk=path(distance,tau,alph
7、a,beta,Citystart)m,n=size(distance);ifisempty(Citystart)%如果不确定起点p=fix(m*rand)+1;%随机方式初始化起点,均匀概率elsep=Citystart;%外部给定确定起点endlengthk=0;%初始路径长度设为0routek=p;%蚂蚁路径点序列,即该蚂蚁已经过的城市集合,路径初始起点fori=1:m-1np=routek(end);%蚂蚁路径城市序号,依次经过的城市编号np_sum=0;%路由长度初始为0forj=1:mifinroute(j,routek)%判断城市节点j是否属于tabuk,即是否已经过continu
8、e;else%j为还未经过的点ada=1/distance(np,j);%预见度np_sum=np_sum+tau(np,j)Aalpha*adaAbeta;%路由表:信息痕迹、预见度endendcp=zeros(1,m);%转移概率,基于路径长度及路由表forj=1:mifinroute(j,routek)continue;elseada=1/distance(np,j);%预见度cp(j)=tau(np,j)Aalpha*adaAbeta/np_sum;%np到j的转移概率endendNextCity=nextcitychoose2(cp);%根据转移概率确定下一个城市,%直观地,取转移概率最大值方向方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业生产安全技术方案
- 大数据风控系统开发合同
- 代理委托消防合同
- 两个孩子一人一个离婚协议书
- 劳务班组施工合同
- 网络文学版权授权合作协议
- 青岛版(2024)小学信息技术第二册《第8课 智能互联更高效》教学设计
- 闽教版(2020)信息技术三年级上册《第8课 输入法要选择》教学设计
- 宠物医院异味处理协议
- 第三方债权转让协议6篇
- 第59讲-热重曲线分析(课件)
- 陪诊服务项目计划书
- 心内科康复护理个案
- 招聘会会展服务投标方案(技术方案)
- 补钙科学知识讲座
- 物业园区污渍清洁工作规程培训
- 2023高考语文文言文复习:《说苑》练习题(含答案解析)
- 《炼油化工基本知识》课件
- 关于高中语文教学中“微课”的运用分析获奖科研报告论文
- 社会化工会工作者考试试卷及答案
- 设备本质安全课件
评论
0/150
提交评论