Some 0/1 polytopes need exponential size extended formulations Thomas Rothvoß Department of Mathematics, M.I.T. 0/1 polytopes P = conv(X) with X ⊆ {0, 1}n (1, 1) b P b b (0, 0) (1, 0) 0/1 polytopes P = conv(X) with X ⊆ {0, 1}n → exponential! (1, 1) b P b b (0, 0) (1, 0) 0/1 polytopes P = = conv(X) with X ⊆ {0, 1}n → exponential! {x ∈ Rn | Ax ≤ b} (1, 1) b P b b (0, 0) (1, 0) 0/1 polytopes P = = conv(X) with X ⊆ {0, 1}n → exponential! {x ∈ Rn | Ax ≤ b} → exponential! (1, 1) b P b b (0, 0) (1, 0) 0/1 polytopes P = = conv(X) with X ⊆ {0, 1}n → exponential! {x ∈ Rn | Ax ≤ b} → exponential! b b (0, 0) P b (1, 0) (1, 1) 0/1 polytopes P ◮ ◮ = = = conv(X) with X ⊆ {0, 1}n → exponential! {x ∈ Rn | Ax ≤ b} → exponential! p(Q) → can be polynomial p : Rn+k → Rn linear projection Q = {(x, y) | Bx + Cy ≤ c} b b Q b b b b b b (0, 0) b P b (1, 0) (1, 1) Extension complexity Definition Extension complexity: Q polyhedron xc(P ) := min #facets of Q | p linear projection p(Q) = P b b Q b b p b b b b b P b Extension complexity Definition Extension complexity: Q polyhedron xc(P ) := min #facets of Q | p linear projection p(Q) = P If xc(P ) ≤ poly(n) ⇒ (Q, p) compact formulation of P . b b Q b b p b b b b b P b Example: Parity Polytope P = conv{x ∈ {0, 1}n | # ones in x is odd} (0, 1, 1) (0, 0, 1) b (1, 1, 1) b (1, 0, 1) (0, 1, 0) b (1, 1, 0) b (0, 0, 0) (1, 0, 0) Example: Parity Polytope P = = conv{x ∈ {0, 1}n | # ones in x is odd} {0 ≤ x ≤ 1 | x(A) − x([n]\A) ≤ |A| − 1 ∀A ⊆ [n] : |A| even} (0, 1, 1) (0, 0, 1) b (1, 1, 1) b (1, 0, 1) (0, 1, 0) b (1, 1, 0) b (0, 0, 0) (1, 0, 0) Example: Parity Polytope P = = conv{x ∈ {0, 1}n | # ones in x is odd} {0 ≤ x ≤ 1 | x(A) − x([n]\A) ≤ |A| − 1 ∀A ⊆ [n] : |A| even} (0, 1, 1) 1T z k = k 0 ≤ zk ≤ 1 (k odd) k(0,= 1 0, 1) b (1, 1, 1) b (1, 0, 1) (0, 1, 0) b (1, 1, 0) b (0, 0, 0) k=3 (1, 0, 0) Example: Parity Polytope P conv{x ∈ {0, 1}n | # ones in x is odd} = = {0 ≤ x ≤ 1 | x(A) − x([n]\A) ≤ |A| − 1 ∀A ⊆ [n] : |A| even} x = 1T z k = 0 ≤ zk ≤ X (0, 1, 1) zk k odd T k · λk 1 · λk 1 λ = 1 λ ≥ 0 (k odd) k(0,= 1 0, 1) b (1, 1, 1) b (1, 0, 1) (0, 1, 0) b (1, 1, 0) b (0, 0, 0) k=3 (1, 0, 0) What’s known? Compact formulations: ◮ Perfect Matching in planar graphs [Barahona ’93] ◮ Perfect Matching in bounded genus graphs [Gerards ’91] ◮ O(n log n)-size for Permutahedron [Goemans ’10] (→ tight) ◮ nO(1/ε) -size ε-apx for Knapsack Polytope [Bienstock ’08] ◮ ... What’s known? Compact formulations: ◮ Perfect Matching in planar graphs [Barahona ’93] ◮ Perfect Matching in bounded genus graphs [Gerards ’91] ◮ O(n log n)-size for Permutahedron [Goemans ’10] (→ tight) ◮ nO(1/ε) -size ε-apx for Knapsack Polytope [Bienstock ’08] ◮ ... Theorem (Yannakakis) No symmetric compact formulation for TSP Polytope and Perfect Matching Polytope. What’s known? Compact formulations: ◮ Perfect Matching in planar graphs [Barahona ’93] ◮ Perfect Matching in bounded genus graphs [Gerards ’91] ◮ O(n log n)-size for Permutahedron [Goemans ’10] (→ tight) ◮ nO(1/ε) -size ε-apx for Knapsack Polytope [Bienstock ’08] ◮ ... Theorem (Yannakakis) No symmetric compact formulation for TSP Polytope and Perfect Matching Polytope. Theorem (Kaibel, Pashkovich & Theis ’10) Compact formulation for log n size matchings, but no symmetric one. 1st Cargèse Workshop on Combinatorial Optim. 1st Cargèse Workshop on Combinatorial Optim. 1st Cargèse Workshop on Combinatorial Optim. 1st Cargèse Workshop on Combinatorial Optim. 1st Cargèse Workshop on Combinatorial Optim. Open problem I Does the matching polytope have a compact formulation? 1st Cargèse Workshop on Combinatorial Optim. ea ! Open problem I N o id Does the matching polytope have a compact formulation? 1st Cargèse Workshop on Combinatorial Optim. ea ! Open problem I N o id Does the matching polytope have a compact formulation? 1st Cargèse Workshop on Combinatorial Optim. ea ! Open problem I N o id Does the matching polytope have a compact formulation? Open problem II (V. Kaibel) Is there any 0/1 polytope without a compact formulation? 1st Cargèse Workshop on Combinatorial Optim. ea ! Open problem I N o id Does the matching polytope have a compact formulation? Open problem II (V. Kaibel) Ye s! Is there any 0/1 polytope without a compact formulation? Theorem For every n there exists X ⊆ {0, 1}n s.t. xc(conv(X)) ≥ 2n/2·(1−o(1)) . Proof strategy X ⊆ {0, 1}n Proof strategy X ⊆ {0, 1}n z x | ∃y : conv(X) }| A x+ B y≤ b { Proof strategy injective map X ⊆ {0, 1}n z x | ∃y : conv(X) }| A x+ B y≤ b { Proof strategy injective map X ⊆ {0, 1}n #0/1 polytopes z ≤ x | ∃y : conv(X) }| A x+ B y≤ # extended form. b { Proof strategy injective map X ⊆ {0, 1}n #0/1 polytopes = 22 n z ≤ x | ∃y : conv(X) }| A x+ B y≤ # extended form. b { Proof strategy irrational entries injective map X ⊆ {0, 1}n #0/1 polytopes = 22 n z ≤ x | ∃y : conv(X) }| A B x+ √ 2 y≤ # extended form. = ∞ b { Proof strategy irrational entries X ⊆ {0, 1}n n ≤ n’ es Do 22 x | ∃y : tw or k #0/1 polytopes = z conv(X) }| A ! injective map B x+ √ 2 y≤ # extended form. = ∞ b { Slack-matrix Write: P = conv({x1 , . . . , xv }) = {x ∈ Rn | Ax ≤ b} {z } | non-redundant # vertices Slack-matrix # facets S Sij Sij = bi − ATi xj Slack-matrix Write: P = conv({x1 , . . . , xv }) = {x ∈ Rn | Ax ≤ b} {z } | non-redundant # vertices vertex j # facets facet i S Slack-matrix Sij Sij = bi − ATi xj Slack-matrix Write: P = conv({x1 , . . . , xv }) = {x ∈ Rn | Ax ≤ b} {z } | non-redundant # vertices r r # facets U ≥ 0 V ≥0 S Slack-matrix Sij Sij = bi − ATi xj Non-negative rank: ×r r×v : S = UV } , V ∈ R≥0 rk+ (S) = min{r | ∃U ∈ Rf≥0 Example for slack-matrix (1, 1) x1 − x2 ≥ 0 (0, 0) P x2 ≥ 0 2x1 ≤ 2 (1, 0) 0 1 0 2 0 0 0 0 1 S Yannakakis’ Theorem Theorem (Yannakakis ’91) Let S be slackmatrix for P : ◮ xc(P ) = rk+ (S). ◮ For any non-neg. factorization S = U V : P = {x ∈ Rn | ∃y ≥ 0 : Ax + U y = b} Yannakakis’ Theorem Theorem (Yannakakis ’91) Let S be slackmatrix for P : ◮ xc(P ) = rk+ (S). ◮ For any non-neg. factorization S = U V : P = {x ∈ Rn | ∃y ≥ 0 : Ax + U y = b} ◮ For vertex xj : Ai xj + Ui V j = bi . Yannakakis’ Theorem Theorem (Yannakakis ’91) Let S be slackmatrix for P : ◮ xc(P ) = rk+ (S). ◮ For any non-neg. factorization S = U V : P = {x ∈ Rn | ∃y ≥ 0 : Ax + U y = b} ◮ ◮ For vertex xj : Ai xj + Ui V j = bi . Ai x > bi =⇒ Ai x + Ui y > bi . |{z} ≥0 Yannakakis’ Theorem Theorem (Yannakakis ’91) Let S be slackmatrix for P : ◮ xc(P ) = rk+ (S). ◮ For any non-neg. factorization S = U V : P = {x ∈ Rn | ∃y ≥ 0 : Ax + U y = b} ◮ ◮ For vertex xj : Ai xj + Ui V j = bi . Ai x > bi =⇒ Ai x + Ui y > bi . |{z} ≥0 ◮ “≥” follows from an application of duality. Controlling the coefficients Fix X ⊆ {0, 1}n , P := conv(X) = {x ∈ Rn | Ax ≤ b} and Slack-matrix S = U V Valid assumption: ◮ A, b integral with kAk∞ , kbk∞ ≤ 2n log(2n) ◮ Controlling the coefficients Fix X ⊆ {0, 1}n , P := conv(X) = {x ∈ Rn | Ax ≤ b} and Slack-matrix S = U V Valid assumption: ◮ A, b integral with kAk∞ , kbk∞ ≤ 2n log(2n) ◮ xc(P ) ≤ 2n . ◮ Controlling the coefficients Fix X ⊆ {0, 1}n , P := conv(X) = {x ∈ Rn | Ax ≤ b} and Slack-matrix S = U V Valid assumption: ◮ A, b integral with kAk∞ , kbk∞ ≤ 2n log(2n) ◮ xc(P ) ≤ 2n . 2 ◮ |Sij | = |bi − Ai xj | ≤ (n + 1) · 2n log(2n) ≤ 2n ◮ Controlling the coefficients Fix X ⊆ {0, 1}n , P := conv(X) = {x ∈ Rn | Ax ≤ b} and Slack-matrix S = U V Valid assumption: ◮ A, b integral with kAk∞ , kbk∞ ≤ 2n log(2n) ◮ xc(P ) ≤ 2n . 2 ◮ |Sij | = |bi − Ai xj | ≤ (n + 1) · 2n log(2n) ≤ 2n 2 ◮ kU k∞ , kV k∞ ≤ 2n ◮ V U S Slack-matrix Controlling the coefficients Fix X ⊆ {0, 1}n , P := conv(X) = {x ∈ Rn | Ax ≤ b} and Slack-matrix S = U V Valid assumption: ◮ A, b integral with kAk∞ , kbk∞ ≤ 2n log(2n) ◮ xc(P ) ≤ 2n . 2 ◮ |Sij | = |bi − Ai xj | ≤ (n + 1) · 2n log(2n) ≤ 2n 2 ◮ kU k∞ , kV k∞ ≤ 2n ◮ ◮ Scale s.t. kU ℓ k∞ = kVℓ k∞ . V U col ℓ row ℓ S Slack-matrix Controlling the coefficients Fix X ⊆ {0, 1}n , P := conv(X) = {x ∈ Rn | Ax ≤ b} and Slack-matrix S = U V Valid assumption: ◮ A, b integral with kAk∞ , kbk∞ ≤ 2n log(2n) ◮ xc(P ) ≤ 2n . 2 ◮ |Sij | = |bi − Ai xj | ≤ (n + 1) · 2n log(2n) ≤ 2n 2 ◮ kU k∞ , kV k∞ ≤ 2n ◮ ◮ ◮ Scale s.t. kU ℓ k∞ = kVℓ k∞ . But kSk∞ ≥ kU ℓ k∞ · kVℓ k∞ largest entry in row/col U col ℓ V row ℓ S Slack-matrix ≤ 2n 2 Rounding entries b b Q b b b b b X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ ∞ : A ·x+ b P U b ·y = b ) b Rounding entries b b Q b b b b b X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ b P U b ·y = b ) b Rounding entries b b Pick rows I max. | det([AI , UI ])| ◮ Q b b b b b X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ b P U b ·y = b ) b Rounding entries b b Pick rows I max. | det([AI , UI ])| ◮ Q b b b b b X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ b P U b ·y = √ 2 b ) b Rounding entries b b Q Pick rows I max. | det([AI , UI ])| ◮ Round Uij → Uij′ ∈ Z · ( 12 )n ◮ b 3 b b b b X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ b b P U b ·y = 1.41 b b ) b b Rounding entries b b Pick rows I max. | det([AI , UI ])| ◮ Round Uij → ◮ Uij′ ∈Z Q b 3 · ( 12 )n b b b b b b b X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ b P U b ·y = b ± b 1 2n2 ) Rounding entries b b Pick rows I max. | det([AI , UI ])| ◮ Round Uij → ◮ Uij′ ∈Z b 3 · ( 12 )n b b Consider vertex x ∈ X: rounding error 2 ≤ kU − U ′ k∞ · kyk1 ≤ . . . ≤ ( 12 )n ◮ b b X= x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ b b b ( Q b x P U b ·y = b ± b 1 2n2 ) Rounding entries b Consider x ∈ / X. ◮ b Q b b b xb b X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ b b b b b P U b ·y = b ± b 1 2n2 ) Rounding entries b Consider x ∈ / X. ◮ b Q ∃ violated constraint: Aℓ x ≥ bℓ + 1 ◮ b b b xb b b b b b b P b b Aℓ x ≤ bℓ ℓ X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ U b ·y = ± 1 2n2 ) Rounding entries b Consider x ∈ / X. ◮ b Q ∃ violated constraint: Aℓ x ≥ bℓ + 1 ◮ (Aℓ , Uℓ ) = ◮ P i∈I det det · b b (Ai , Ui ) b xb b b b b b b P b b Aℓ x ≤ bℓ ℓ X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ U b ·y = ± 1 2n2 ) Rounding entries b Consider x ∈ / X. ◮ b ∃ violated constraint: Aℓ x ≥ bℓ + 1 P (Aℓ , Uℓ ) = i∈I [−1, 1]· (Ai , Ui ) ◮ ◮ Q b b b xb b b b b b b P b b Aℓ x ≤ bℓ ℓ X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ U b ·y = ± 1 2n2 ) Rounding entries b Consider x ∈ / X. ◮ b ∃ violated constraint: Aℓ x ≥ bℓ + 1 P ◮ (Aℓ , Uℓ ) = i∈I [−1, 1]· (Ai , Ui ) P ◮ violation in ℓ ≤ i∈I violation in i : X |Ai x + Ui y − bi | 1 ≤ |Aℓ x + Uℓ y − b| ≤ Q ◮ b b b xb i∈I b b b b b b P b b Aℓ x ≤ bℓ ℓ X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ U b ·y = ± 1 2n2 ) Rounding entries b Consider x ∈ / X. ◮ b ∃ violated constraint: Aℓ x ≥ bℓ + 1 P ◮ (Aℓ , Uℓ ) = i∈I [−1, 1]· (Ai , Ui ) P ◮ violation in ℓ ≤ i∈I violation in i : X |Ai x + Ui y − bi | 1 ≤ |Aℓ x + Uℓ y − b| ≤ Q ◮ b b b xb i∈I One i ∈ I violated by 1 1 n2 ′ |I| − kU − U k∞ · kyk1 ≫ ( 2 ) ⇒ x not feasible! ◮ b b b b b b P b b Aℓ x ≤ bℓ ℓ X= ( x∈ {0, 1}n | ∃0 ≤ y ≤ 2 2n : A ·x+ U b ·y = ± 1 2n2 ) Conclusion ◮ Let R := max {xc(conv(X))}. X⊆{0,1}n Conclusion b b RR Q b b ◮ Let R := max {xc(conv(X))}. X⊆{0,1}n X ⊆ {0, 1}n b b b A U ′b b b P bb b b Rn Conclusion b b RR Q b b ◮ Let R := max {xc(conv(X))}. X⊆{0,1}n injective X ⊆ {0, 1}n b b b A U ′b b b P bb b b Rn Conclusion b b RR Q b b ◮ Let R := max {xc(conv(X))}. X⊆{0,1}n injective X ⊆ {0, 1}n 22 n ≤ b b b A U ′b b b P bb b b Rn Conclusion b b RR Q b b ◮ Let R := max {xc(conv(X))}. b X⊆{0,1}n b n injective X ⊆ {0, 1}n 22 n ≤ b b b P bb R A U ′b n+R b b Rn Conclusion b b RR Q b b ◮ Let R := max {xc(conv(X))}. b X⊆{0,1}n b n injective X ⊆ {0, 1}n b b b P bb R A U ′b n+R poly(n) bits 22 n ≤ b b Rn Conclusion b b RR Q b b ◮ Let R := max {xc(conv(X))}. b X⊆{0,1}n b n injective X ⊆ {0, 1}n b b b P bb R A U ′b n+R poly(n) bits 22 n ≤ 2poly(n)·R 2 b b Rn Conclusion b b RR Q b b ◮ Let R := max {xc(conv(X))}. b X⊆{0,1}n b n injective X ⊆ {0, 1}n b b b P bb R A U ′b n+R poly(n) bits 22 n ≤ ⇒ R ≥ 2n/2·(1−o(1)) 2poly(n)·R 2 b b Rn Conclusion b b RR Q b b ◮ Let R := max {xc(conv(X))}. b X⊆{0,1}n b n injective X ⊆ {0, 1}n b b b P bb R A U ′b n+R poly(n) bits 22 n ≤ 2poly(n)·R 2 ⇒ ∃X ⊆ {0, : xc(conv(X)) ⇒1} Rn ≥ 2n/2·(1−o(1)) ≥ 2n/2·(1−o(1)) b b Rn Consequences for matroids ◮ Fact: There are 22 [Duke ’03]. n /poly(n) many matroids on n elements Consequences for matroids ◮ Fact: There are 22 [Duke ’03]. n /poly(n) many matroids on n elements Theorem For every n there exists a matroid M = ([n], I) such that xc(conv(χ(I)) ≥ 2n/2·(1−o(1)) . Consequences for TSP Theorem (Folkore) NP 6⊆ P/poly ⇒ no compact formulation for PT SP = conv{χ(C) | C is Hamiltonian in complete graph} with polynomially encodable coefficients. Consequences for TSP Theorem NP 6⊆ P/poly ⇒ no compact formulation for PT SP = conv{χ(C) | C is Hamiltonian in complete graph} with polynomially encodable coefficients. Rxc(P ) P Rn Consequences for TSP Theorem NP 6⊆ P/poly ⇒ no compact formulation for PT SP = conv{χ(C) | C is Hamiltonian in complete graph} with polynomially encodable coefficients. b Given instance G = (V, E) for Hamiltonian Cycle. Optimize ( 1 e∈E ce := 0 otherwise b Rxc(P ) Q b b b b b over rounded polytope. b P b Rn b projx (Q) Consequences for TSP Theorem NP 6⊆ P/poly ⇒ no compact formulation for PT SP = conv{χ(C) | C is Hamiltonian in complete graph} with polynomially encodable coefficients. b Given instance G = (V, E) for Hamiltonian Cycle. Optimize ( 1 e∈E ce := 0 otherwise b b b b b ◮ ∃HC ⇒ OP T ≥ n NO HC ⇒ OP T ≤ n − 1 + εn ≤ n − Q b over rounded polytope. ◮ b Rxc(P ) 1 2 P b Rn b P + ε projx (Q) Open problems Open Problem Can one prove a super-polynomial lower bound for any explicit 0/1 polytope??? Open problems Open Problem Can one prove a super-polynomial lower bound for any explicit 0/1 polytope??? Thanks for your attention