1. 简介
纯C语言编译,用于对称TSP问题求解。目前最大的应用案例为85900个城市。Concorde支持使用QSopt线性规划求解器获得bound。
1.1 求解算法简介
TSP问题模型如下,第二个约束条件是为了去除环,称为connect cut:

使用分枝定界法进行求解的原理如下:
首先将整数约束和去除环约束进行松弛,得到lp问题。

我们使用列生产方法来求解这个问题,令E‘是E的子集,比如说只允许最近的一些点参与组环。

获得的最优解x‘是原LP问题的可行解。我们通过对偶问题来寻找需要添加进来的变量:

对偶问题为:


同时我们还需要用行生成法添加防止子环的约束条件。举例如下,为如图的边添加comb约束:

其他常用的cuts包括:
*
- Blossom (Padberg and Rao 1982)
- Path inequalities (Naddef and Rinaldi 1998)
- 2-handled clique tree (Padberg and Rinaldi 1991)
- Star inequalities (Fleischmann 1988)


Concorde是一个用纯C编写的解决对称TSP问题的工具,最大处理过85900个城市。它利用线性规划求解器QSopt进行边界优化。文章介绍了分枝定界法的原理,列生成和行生成方法,以及如何在Julia环境中使用Concorde。此外,还提供了Mac应用的使用方法和编译、调试代码的步骤。
最低0.47元/天 解锁文章
5150

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



