资源简介

遗传算法、禁忌搜索、模拟退火、蚁群算法 解决三十个城市的旅行商问题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

评论

共有 条评论