问题
旅行商要从起点城市经过所有的城市并且回到起点城市,求总路程最小的方案。
建模
变量
二值变量 x i j x_{ij} xij表示旅行商是否从城市 i i i到城市 j j j。
目标
M i n ∑ i = 1 n ∑ j = 1 , j ≠ i n x i j c i j Min \sum_{i=1}^n \sum_{j=1,j \ne i}^nx_{ij}c_{ij} Mini=1∑nj=1,j=i∑nxijcij
约束
∑
k
∈
V
,
k
≠
i
x
i
k
=
1
,
∀
i
∈
V
\sum_{k \in V,k \ne i}x_{ik}=1, \forall i \in V
k∈V,k=i∑xik=1,∀i∈V
∑
k
∈
V
,
k
≠
i
x
i
k
=
∑
k
∈
V
,
k
≠
i
x
k
i
,
∀
i
∈
V
\sum_{k \in V,k \ne i}x_{ik}=\sum_{k \in V,k \ne i}x_{ki}, \forall i \in V
k∈V,k=i∑xik=k∈V,k=i∑xki,∀i∈V
d
i
≤
d
j
+
1
+
M
(
1
−
x
i
j
)
,
∀
i
∈
V
,
j
∈
V
,
i
<
j
,
M
可取最大城市数
n
d_i \le d_j+1+M(1-x_{ij}), \forall i \in V, j \in V, i \lt j,M可取最大城市数n
di≤dj+1+M(1−xij),∀i∈V,j∈V,i<j,M可取最大城市数n