时间:2018-10-04
概述:蚁群算法
这是一个由李劭明编写的Python蚁群算法,使用工具:Pycharm ,Python版本为3.6.3。为了更好的理解代码,代码中添加了丰富的注释,帮助你了解Python的蚁群算法会有所帮助。
"""
作者:李劭明
创建时间:2017.12.8
"""
import numpy as np #数据处理包
import matplotlib.pyplot as plt#绘图包
#40座城市坐标
coordinates = np.array([[880.0,660.0],[25.0,230.0],[525.0,1000.0],[580.0,1175.0],[650.0,1130.0],
[1605.0,620.0],[1220.0,580.0],[1465.0,200.0],[1530.0,5.0],[845.0,680.0],
[725.0,370.0],[145.0,665.0],[415.0,635.0],[510.0,875.0],[560.0,365.0],
[300.0,465.0],[520.0,585.0],[480.0,415.0],[835.0,625.0],[975.0,580.0],
[420.0,555.0],[575.0,665.0],[1150.0,1160.0],[700.0,580.0],[685.0,595.0],
[685.0,610.0],[770.0,610.0],[795.0,645.0],[720.0,635.0],[760.0,650.0],
[475.0,960.0],[95.0,260.0],[875.0,920.0],[700.0,500.0],[555.0,815.0],
[830.0,485.0],[1170.0, 65.0],[830.0,610.0],[605.0,625.0],[595.0,360.0],
])
"""
得到各个城市间的距离
由于距离是两点之间的,因此,会返回一个对称矩阵
"""
def getdistmat(coordinates):
num = coordinates.shape[0] # 城市数量40
distmat = np.