子环路首先是一个封闭的环;其次,这个环中被访问的节点集合(假设为S)是所有节点集合V的一个真子集,也就是S \subseteq V。或者说S \subset V, \,\text{and}\,\, |V| < N。如果上述模型的解出现了子环路,那么为了满足模型的约束1和约束2,解中必然至少存一个其他环路。这就导致与TSP想要得到的单环解矛盾,如下图
subject to outdeg {i in V}: sum {j in V} x[i,j] = 1; # 每个结点都被离开一次 subject to indeg {j in V}: sum {i in V} x[i,j] = 1; # 每个结点都被到达一次 选择消除子环路的方法之一 方法一:subtour-elimination约束 subject to subtour {S in V: card(S) >= 2...