这组数据,刚开始只运行到2879m,于450m差的比较远,后来发现是路径距离算错了,再后来变成了1789m,发现是初始化点没选择,改了下,最后运行结果是440m。python有点慢,需要运行一段时间。
import random
import copy
import time
import sys
( ALPHA, BETA, RHO, Q ) = ( 1.0, 2.0, 0.5, 100.0 )
( city_num, ant_num, iter_max ) = ( 51, 34, 1000 )
distance_x = [
37,49,52,20,40,21,17,31,52,51,42,31,5,12,36,52,27,17,13,57,
62,42,16,8,7,27,30,43,58,58,37,38,46,61,62,63,32,45,59,5,
10,21,5,30,39,32,25,25,48,56,30 ]
distance_y = [
52,49,64,26,30,47,63,62,33,21,41,32,25,42,16,41,23,33,13,58,
42,57,57,52,38,68,48,67,48,27,69,46,10,33,63,69,22,35,15,6,
17,10,64,15,10,39,32,55,28,37,40 ]
distance_graph = [ [ 0.0 for col in xrange( city_num ) ] for raw in xrange( city_num ) ]
pheromone_graph = [ [ 1.0 for col in xrange( city_num ) ] for