温馨提示:本文翻译自stackoverflow.com,查看原文请点击:linear programming - How to interpret sub tour elimination constraint in travelling salesman problem in cplex?
cplex linear-programming mixed-integer-programming traveling-salesman

linear programming - 如何解释cplex中旅行商问题中的子游消除约束?

发布于 2020-07-06 03:48:01

我写了以下代码:

在此处输入图片说明

如何在以下公式中解释辅助约束和子行程消除约束?

在此处输入图片说明

查看更多

提问者
sudarsan vs
被浏览
26
Erwin Kalvelagen 2020-04-11 01:01

MTZ子行程消除方法的解释实际上非常简单。u(i)按访问顺序为每个节点分配编号约束

u(i) - u(j) + n x(i,j) <= n - 1

可以解释为

u(j) >= u(i) + 1 - M*(1-x(i,j))

要么

x(i,j) = 1 ==>   u(j) >= u(i) + 1

如果您有子路线,请说2-3-2,但不能成立:

2-3 means u(3) >= u(2)+1
3-2 means u(2) >= u(3)+1 

由于应该允许整个游览,因此我们只需要从此检查中删除第一个节点即可。