的源程序(原创)
蚁群算法是新兴的仿生算法,最初是由意大利学者 于 年首次提出,由于具有较强
的鲁棒性,优良的分布式计算机制和易于与其它方法结合等优点,成为人工智能领域的一个研究热
点。本程序是实现简单的蚁群算法, 问题取的是 ,可从
!"#$%
获取,程序运行时间可能会比较长,在我
的这台 &'()*内存 +%( 的机器上运行时间大概是 , 分钟左右。我用的语言是 -"-$
.。此程序仅供学习所用,如有问题请反馈。谢谢。(注:程序没有计算最后一个城市回来起点
城市的距离)
!/012345-&
6
-7#4,886999999:最大循环次数
;&469999999999:城市个数
4<1=6:初始时刻各边上的信息最为
48+699999999:挥发系数
46
4+6
54886
4+8699999999:蚂蚁数量
486999999999:记录迭代次数
!4;&999999:计算各城市间的距离
999!>4;&
9999999<1>=4?<<<1+=<>1+==@+*<<1,=<>1,==@+=6
999
4A<1=69:用来记录最优路径
4!69999999:用来记录当前找到的最优路径长度
:!4 999999999:确定各蚂蚁初始的位置
:
!4-7#
999!B4 999999:考查第 C 只蚂蚁
99999994A<1=6:第 C 只蚂蚁移动前各边上的信息增量为零
9999999/B1B342<111=6
9999999!BD99:找到一条更好的路径
999999999994B6
999999999994B6
9999999
9999999!4;&99999:第 C 只蚂蚁在路径上释放的信息量
99999999999<B<=1B<*==4<B<=1B<*==*5B6
9999999
9999999<B<=1=4<B<=1=*5B6
999
999!4;&
9999999!>4*;&
99999999999!<1>=448
999999999999999<1>=4<>1=6
99999999999
9999999
999
9994<=E*6