运筹系列72:TSP问题精确求解基础

Posted IE06

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运筹系列72:TSP问题精确求解基础相关的知识,希望对你有一定的参考价值。

1. TSP控制区域,LP设置lower bound

每个点的半径为r的圆称为control zone:
在这里插入图片描述
lower bound可以通过control zone来获得:

在这里插入图片描述
最优化问题可以写成:
在这里插入图片描述
这是一个线性规划问题。
这种方法并不能保证达到最优解,下面就是个例子:
在这里插入图片描述

2. subtour去除,对偶问题

将x进行松弛,得到fractional 2-matching线性规划问题
在这里插入图片描述
这个问题的最佳结果是使用control zone得到的最优值,容易看出这就是一个对偶问题。
在这里插入图片描述

再加入两类限制,得到fractional 2-factor问题:
在这里插入图片描述

3. 割平面法

使用cutting plane方法不断添加subtour elimination约束,直观上的效果如下,外面的蓝色称为moats
在这里插入图片描述
在这里插入图片描述
所谓割平面,通过如下方式定义:
原问题为:
在这里插入图片描述
松弛问题为:
在这里插入图片描述
使用松弛问题的解构造属于S的新的约束。例如在一个42city的问题中,松弛问题的一个环为(1,2,41,42),因此添加约束条件:
在这里插入图片描述
其中S=(1,2,41,42)

以上是关于运筹系列72:TSP问题精确求解基础的主要内容,如果未能解决你的问题,请参考以下文章

运筹系列65:TSP问题的精确求解法概述

运筹系列68:julia启发式求解tsp问题

运筹系列66:tsp问题求解器concorde介绍

运筹系列67:大规模TSP问题的EAX遗传算法

运筹系列68:TSP问题Held-Karp下界的julia实现

MATLAB实战系列(二十九)-头脑风暴优化(BSO)算法求解旅行商问题(TSP)-交叉算子