作者 | 年份 | 近似比 |
---|---|---|
Hoogeveen | 1991 | 5 3 \frac{5}{3} 35 |
An, Kleinberg, Shmoys | 2012 | 1 + 5 2 \frac{1+\sqrt{5}}{2} 21+5 |
Sebo | 2013 | 8 5 \frac{8}{5} 58 |
Rico Zenklusen | 2019 | 1.5 |
Title: Improving Christofides’s Algorithm for the s-t path TSP
Alpha: 1 + 5 2 \frac{1+\sqrt{5}}{2} 21+5
Theorem1: Hoogeveen算法的解不超过 5 3 O P T L P \frac{5}{3}OPT_{LP} 35OPTLP
定义1: Path-TSP的HK松弛
m i n ∑ e ∈ E c e x e s . t . x ( δ ( v ) ) = { 1 , v = s , t 2 , v ≠ s , t x ( δ ( S ) ) ≥ { 1 , ∣ S ∩ { s , t } ∣ = 1 , 2 , ∣ S ∩ { s , t } ∣ ≠ 1 , 0 ≤ x e ≤ 1 , ∀ e ∈ E min \sum_{e\in E} c_ex_e\\ \begin{aligned} & s.t.\\ & x(\delta(v))=\begin{cases} 1, & v=s,t\\ 2, & v\neq s,t \end{cases}\\ & x(\delta(S)) \geq \begin{cases} 1, & |S \cap \{s,t\}|=1,\\ 2, & |S \cap \{s,t\}|\neq 1,\\ \end{cases}\\ & 0 \leq x_e \leq 1, \forall e \in E \end{aligned} mine∈E∑cexes.t.x(δ(v))={ 1,2,v=s,tv=s,tx(δ(S))≥{ 1,2,∣S∩{ s,t}∣=1,∣S∩{ s,t}∣=1,0≤xe≤1,∀e∈E
其中 δ ( S ) \delta(S) δ(S)是仅有一个端点落在S中的边的边集, 同时 X ( E ′ ) = ∑ e ∈ E ′ x e X(E')=\sum_{e \in E'} x_e X(E′)=∑e∈E′xe, 所谓的松弛就是最后一个0-1向量变成了实数.
定义2: 生成树凸集
生成树凸集由下面的不等式定义:
x ( E ) = ∣ V ∣ − 1 , x ( E ( S ) ) ≤ ∣ S ∣ − 1 , ∀ ∣ S ∣ ⊆ V , ∣ S ∣ ≥ 2 , x e ≥ 0 , ∀ e ∈ E \begin{aligned} & x(E)=|V|-1,\\ & x(E(S)) \leq |S|-1, \quad \forall |S| \subseteq V, |S| \geq 2,\\ & x_e \geq 0, \quad \forall e \in E \end{aligned} x(E)=∣V∣−1,x(E(S))≤∣S∣−1,∀∣S∣⊆V,∣S∣≥2,xe≥0,∀e∈E
其中E(S)是所有两个端点都在S中的边的边集.
Lemma1: LP-relaxation的任意可行解x都在生成树凸集中.
proof: LP-relaxation的约束满足生成树凸集的定义
X ( E ) ≡ ∑ e ∈ E x e = 1 2 ∑ v ∈ V x ( δ ( v ) ) = 1 2 ( ∣ v ∣ − 2 ) ⋅ 2 + 2 ) = ∣ v ∣ − 1 X(E) \equiv \sum_{e\in E} x_e = \frac{1}{2}\sum_{v\in V}x(\delta(v))\\ = \frac{1}{2}(|v|-2)\cdot 2 + 2)=|v|-1 X(E)≡e∈E∑xe=21v∈V∑x(δ(v))=21(∣v∣−2)⋅2+2)=∣v∣−1
同时,
X ( E ( S ) ) = 1 2 ( ∑ v ∈ S x ( δ ( v ) ) − x ( δ ( S ) ) ) X(E(S))=\frac{1}{2}(\sum_{v \in S}x(\delta(v))-x(\delta(S))) X(E(S))=21(v∈S∑x(δ(v))−x(δ(S)))
如果 ∣ S ∩ { s , t } = 1 |S\cap \{s,t\}=1 ∣S∩{ s,t}=1, 有 X ( E ( S ) ) ≤ 1 2 ( 1 + 2 ( ∣ S ∣ − 1 ) − 1 ) = ∣ S ∣ − 1 X(E(S))\leq \frac{1}{2}(1+2(|S|-1)-1)=|S|-1 X(E(S))≤21(1+2(∣S∣−1)−1)=∣S∣−1,
如果 ∣ S ∩ { s , t } = ∅ |S\cap \{s,t\}=\empty ∣S∩{ s,t}=∅, S-1,
如果 ∣ S ∩ { s , t } = 2 |S\cap \{s,t\}=2 ∣S∩{ s,t}=2,S-2
定义3: 奇数集S, 如果 ∣ S ∩ T ∣ |S\cap T| ∣S∩T∣含有奇数个, 则S是个奇数集
Lemma2: S是一个奇数集, 如果 ∣ S ∩ { s , t } ∣ = 1 |S\cap \{s,t\}|=1 ∣S∩{ s,t}∣=1, 则 ∣ F ∩ δ ( S ) ∣ |F\cap \delta(S)| ∣F∩δ(S)∣为偶数, 如果 ∣ S ∩ { s , t } ∣ ≠ 1 |S\cap \{s,t\}|\neq1 ∣S∩{ s,t}∣=1, 则 ∣ F ∩ δ ( S ) ∣ |F\cap \delta(S)| ∣F∩δ(S)∣为奇数.
例如,
Proof: s,t 如果在S中, 它们有偶数度, 其他点有奇数度.
定义 ∑ v ∈ S d e g F ( v ) = 2 ∣ E ( S ) ∩ F ∣ + ∣ δ ( S ) ∩ F ∣ \sum_{v\in S}deg_F(v)=2|E(S)\cap F|+|\delta(S)\cap F| ∑v∈SdegF(v)=2∣E(S)∩F∣+∣δ(S)∩F∣
证明如下:
1.如果 ∣ S ∩ { s , t } = 1 |S\cap \{s,t\}=1 ∣S∩{ s,t}=1, 假设 s ∈ S s\in S s∈S, s ∈ T s\in T s∈T当且仅当 d e g F ( s ) deg_F(s) degF(s)even.
则 S o d d → e v e n S_{odd}\rightarrow even Sodd→even # 个奇数度的节点在S中( ∣ S ∩ T ∣ o d d |S\cap T| odd ∣S∩T∣odd)
∑ v ∈ S d e g F ( v ) − 2 ∣ E ( s ) ∩ F ∣ = ∣ δ ( s ) ∩ F ∣ \sum_{v\in S}deg_F(v)-2|E(s)\cap F|=|\delta(s)\cap F| v∈S∑degF(v)−2∣E(s)∩F∣=∣δ(s)∩F∣
第一个子式为偶数度, 第二个子式肯定是偶数, 则右边也是偶数.
2. 如果 ∣ S