旅行商问题与几何算法的优化探索
1. 旅行商问题的模拟退火优化
旅行商问题(TSP)是一个经典的优化问题,旨在找到一条遍历所有城市且每个城市仅访问一次,最后回到起始城市的最短路径。模拟退火算法是解决该问题的一种有效方法,它允许在一定条件下接受更差的解,以跳出局部最优,从而有可能找到全局最优解。
1.1 扰动函数的改进
最初的扰动函数 perturb() 可以对旅行路线进行多种随机更改,使其更加复杂和灵活。然而,灵活性和复杂性并不总是值得追求的,需要通过测试来判断这些改进是否能提高性能。
neighborids3 = math.floor(np.random.rand() * (len(itinerary)))
for j in range(0,len(tempitin)):
itinerary2.insert(neighborids3 + j,tempitin[j])
else:
itinerary2[neighborids1] = itinerary[neighborids2]
itinerary2[neighborids2] = itinerary[neighborids1]
distance1 = howfar(genlines(cities,itinerary))
distance2 = howfar(genlines(cities,itinerary2))
itinerarytoreturn = itinerary.copy()
randomdraw = np.random.rand()
temperature = 1/((t
超级会员免费看
订阅专栏 解锁全文
766

被折叠的 条评论
为什么被折叠?



