分支限界求解TSP问题
来源:互联网 发布:网站数据迁移什么意思 编辑:程序博客网 时间:2024/05/01 03:16
TSP问题中,任意一条完整路径上的每个城市都有两条边,一条进入城市,一条离开城市.
所以对于任意一个路径的费用矩阵而言,每一行(列)中的最小值(不包括由A到A的点对角线上的).
是必须要用到的费用.
左支的生成可直接去掉所展开的0元素所在的行和列(依据引理选取要展开的结点:
选取要展开的矩阵.矩阵的选取是选取当前下界值最小的矩阵.
展开结点的选取.每个归约后的矩阵将会有至少n(n为该节点的矩阵维数)个0元素.选取哪个来展开?
由于任何一个结点的展开都是分为两支,左支为选择了当前元素(城市),右支则是在当前位置不选该元素.
对于待选择的0元素而言,如果将其展开,其右支的归约值较大,则说明选择该点为最优路径的可能性较高.因为最优路径的值是固定的,如果选取的展开元素比其它的0元素的右支的值更大,则其左支就相对更小的概率就会更大.
注:当然这个只是有更大的概率而并不是说肯定是最优路径上的点.
左支的生成可直接去掉所展开的0元素所在的行和列(依据引理1并对已生成路径(一条/多条)进行避免回路操作,防止再次选中该城市,这里采用将回路元素设置为+∞将来实现.右支则直接将该元素设置为+∞,防止发生二次展开.
对生成的两个结点进行归约操作,并更新归约值h,将结点放入结点表中,选择当前归约值最小的矩阵作为要展开的结点,再选择0元素,然后继续生成左支和右支.
当所选矩阵为二维矩阵的时候,直接连接两个0元素所在城市即可获得最优的路径.
- 分支限界求解TSP问题
- TSP问题之分支限界法
- 分支限界求解货郎担/旅行商问题
- 分支限界求解货郎担/旅行商问题
- (C++)分支限界法求解背包问题
- 滑雪问题的分支限界法求解
- 分支限界法求解旅行商问题
- 算法设计--电路布线问题(分支限界法求解)
- 爬山法、分支限界法求解哈密顿环问题
- 利用分支限界法求解单源最短路(Dijkstra)问题
- (C语言)分支界限法求解旅行商(TSP)问题
- 分支限界法求tsp问题,根据原博文修改后的代码
- 基于分支限界法的旅行商问题(TSP)一
- 基于分支限界法的旅行商问题(TSP)二
- 分支限界---->装载问题
- 一个分支限界的旅行商求解
- DP求解TSP问题
- 贪心求解TSP问题
- 互联网虚拟大脑的结构全景图
- MySQL 1366 错误解决办法
- b/s指纹系统开发总结
- J2EE
- Polycom® HDX 9000
- 分支限界求解TSP问题
- DataGrid翻页后删除记录出错的解决方案[转帖]
- 长寿食疗歌
- 两个字母搞定J2EE通用分页标签(二)
- sql导入/导出
- 搞定VS2005丢失的即时窗口
- SqlHelper详解和原码
- 我家附近的烂尾楼
- poj-1028