码迷,mamicode.com
首页 > 其他好文 > 详细

双调旅行商问题 (Bitonic TSP)

时间:2017-04-11 13:35:08      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:关系   证明   动态规划   详细介绍   表示   介绍   img   min   思路   

问题描写叙述:技术分享

上述问题能够使用动态规划的方法来解决。

以下是解决思路的详细介绍:

1. 最优子结构:

如果d[i][j]表示从起点1出发到达i及j两个顶点的最短路程之和。

为此能够如果K为此段路程上与j相加的节点。则d[i][j] = d[i][k] + len[k][j]。

证明:若存在一个更短的路径d[i][k],则就应该存在更短的路径d[i][j]。这与如果矛盾,因此得证。

以下来寻找j相邻的节点,当中若i<j-1,则显然k=j-1,若i=j-1。则显然k属于(1,j-2)之间。为此得到例如以下的递推关系:
d[i][j] = d[i][j-1]+len(j,j-1) i<j-1;
d[i][j] = min(d[i][k] + len(k,j)),k属于(1,j-2)。
终于输出的d[n-1][n]就可以。

对于路径的输出,仅仅须要记录每次与j相邻的节点就可以,也即记录k的值。
详细实现稍后补充!!



双调旅行商问题 (Bitonic TSP)

标签:关系   证明   动态规划   详细介绍   表示   介绍   img   min   思路   

原文地址:http://www.cnblogs.com/blfbuaa/p/6692820.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!