首页 > 其他 > 详细

双调旅行商问题 (Bitonic TSP)

时间:2015-07-06 12:16:40      阅读:483      评论:0      收藏:0      [点我收藏+]

问题描述:技术分享

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

下面是解决思路的具体介绍:

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)

原文:http://blog.csdn.net/shaya118/article/details/46772019

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!