资源简介
遗传算法、禁忌搜索、模拟退火、蚁群算法 解决三十个城市的旅行商问题python实现
代码片段和文件信息
import random
import numpy as np
import math
num_city=30#城市总数0-29
num_total=100#随机生成的初始解的总数
copy_num=70#保留的解的个数
cross_num=20#交叉解的个数
var_num=10#变异解的个数
location=np.loadtxt(‘city_location.txt‘)
#print(location)
#随机生成初始解[[][][]...]
def generate_initial():
initial=[]
city=list(range(num_city))
for i in range(num_total):
random.shuffle(city)
p=city.copy()
while (p in initial):
#print(‘2333‘)#随机了一个重复的解
random.shuffle(city)
p=city.copy()
initial.append(p)
return initial
#对称矩阵,两个城市之间的距离
def distance_p2p_mat():
dis_mat=[]
for i in range(30):
dis_mat_each=[]
for j in range(30):
dis=math.sqrt(pow(location[i][0]-location[j][0]2)+pow(location[i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-31 15:47 TSP-master\
文件 4815 2018-01-31 15:47 TSP-master\GA.py
文件 1065 2018-01-31 15:47 TSP-master\LICENSE
文件 386 2018-01-31 15:47 TSP-master\README.md
文件 2392 2018-01-31 15:47 TSP-master\SA.py
文件 3709 2018-01-31 15:47 TSP-master\SI.py
文件 3050 2018-01-31 15:47 TSP-master\TS.py
评论
共有 条评论