• 大小: 2KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-01-03
  • 语言: Python
  • 标签: SA  TSP  python  

资源简介

使用模拟退火算法解决旅行商问题(TSP) 运行环境 - python2.7 - 默认是9个城市,城市由邻接矩阵表示,为了方便邻接矩阵由代码随机生成

资源截图

代码片段和文件信息


# coding: utf-8

# In[1]:


import numpy as np
import random
import matplotlib.pyplot as plt


# In[2]:


# 用邻接矩阵表示图 
# 随机生成一个无向图的邻接矩阵
# nodes代表城市的数量
nodes = 9
G = np.zeros([nodesnodes])
for i in range(nodes-1):
    G[ii+1:] = random.sample(range(1nodes+20)nodes-1-i)

for i in range(nodes-1):
    G[:i] = G[i:]
    
print(G)


# In[3]:


init_path = np.array(range(nodes))


# In[4]:

# 根据前一条路径产生新的路径
def generatePath(pre_path): 
    # 随机选择2个节点,将路径中这2个节点间的节点顺序逆转,生成新的路径
    index1index2 =random.sample(range(0nodes)2)
    new_path = pre_path.copy()
    temp = new_path[index2]
    new_path[index2] = new_path[index1]
    new_path[index1] = temp
    return new_path

#generatePath(init_path)


# In[5]:


print(‘init_path ‘init_path)


# In[6]:


def pathCost(path):
    nodeNum = len(p

评论

共有 条评论