资源描述:
《蚁群算法源代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、viewplaincopytoclipboardprint?/**********************************作者:陈杰*单位:四川大学计算机学院*邮件地址:scucj@126.com*完成时间:2008年3月*********************************/#include#include#includeusingnamespacestd;//该程序是以蚁群系统为模型写的蚁群算法程序(强调:非蚂蚁周模型),以
2、三个著名的TSP问题为测试对象//通过微调参数,都可以获得较好的解/*//----------(1)问题一:Oliver30城市TSP问题best_length=423.7406;------------------------//该程序最好的结果是423.741,可运行多次获得//城市节点数目#defineN30//城市坐标doubleC[N][2]={{2,99},{4,50},{7,64},{13,40},{18,54},{18,40},{22,60},{24,42},{25,62},{25,
3、38},{37,84},{41,94},{41,26},{44,35},{45,21},{54,67},{54,62},{58,35},{58,69},{62,32},{64,60},{68,58},{71,44},{71,71},{74,78},{82,7},{83,46},{83,69},{87,76},{91,38}};//----------上面参数是固定的,下面的参数是可变的-----------//蚂蚁数量#defineM30//最大循环次数NcMaxintNcMax=500;//信息启
4、发因子,期望启发式因子,全局信息素挥发参数,局部信息素挥发参数,状态转移公式中的q0doublealpha=2,beta=3,rou=0.1,alpha1=0.1,qzero=0.01;//-----------问题一结束------------------------------------------------------------------------*//*//----------(2)问题二:Elion50城市TSP问题best_length=427.96;-------------
5、---------------//该程序最好的结果是428.468,可运行多次获得//城市节点数目#defineN50//城市坐标doubleC[N][2]={{5,64},{5,25},{5,6},{7,38},{8,52},{10,17},{12,42},{13,13},{16,57},{17,33},{17,63},{20,26},{21,47},{21,10},{25,32},{25,55},{27,68},{27,23},{30,48},{30,15},{31,62},{31,32},{3
6、2,22},{32,39},{36,16},{37,69},{37,52},{38,46},{39,10},{40,30},{42,57},{42,41},{43,67},{45,35},{46,10},{48,28},{49,49},{51,21},{52,33},{52,41},{52,64},{56,37},{57,58},{58,27},{58,48},{59,15},{61,33},{62,42},{62,63},{63,69}};//----------上面参数是固定的,下面的参数是可变
7、的-----------//蚂蚁数量#defineM50//最大循环次数NcMaxintNcMax=1000;//信息启发因子,期望启发式因子,全局信息素挥发参数,局部信息素挥发参数,状态转移公式中的q0doublealpha=2,beta=4,rou=0.1,alpha1=0.1,qzero=0.01;//-----------问题二结束------------------------------------------------------------------------*///-----
8、-----(3)问题三:Elion75城市TSP问题best_length=542.31;//该程序最好的结果是542.309,可运行多次获得//城市节点数目#defineN75//城市坐标doubleC[N][2]={{6,25},{7,43},{9,56},{10,70},{11,28},{12,17},{12,38},{15,5},{15,14},{15,56},{16,19},{17,64},{20,30},{21,48},{21,45},{21,36},{2