Can linear programs solve NP-hard problems? · Can we solve NP-hard problems by LP? Famous NP-hard...
Transcript of Can linear programs solve NP-hard problems? · Can we solve NP-hard problems by LP? Famous NP-hard...
Can linear programs solveNP-hard problems?
Ronald de Wolf
Can linear programs solve NP-hard problems? – p. 1/9
Linear programs
Can linear programs solve NP-hard problems? – p. 2/9
Linear programs
A factory produces 2 types of goods
Can linear programs solve NP-hard problems? – p. 2/9
Linear programs
A factory produces 2 types of goods- unit of type 1 gives profit e 1; type 2 gives profit e 4
Can linear programs solve NP-hard problems? – p. 2/9
Linear programs
A factory produces 2 types of goods- unit of type 1 gives profit e 1; type 2 gives profit e 4
It has 4 kinds of resources: 650 of R1, 100 of R2,. . .
Can linear programs solve NP-hard problems? – p. 2/9
Linear programs
A factory produces 2 types of goods- unit of type 1 gives profit e 1; type 2 gives profit e 4
It has 4 kinds of resources: 650 of R1, 100 of R2,. . .- type 1 uses 34 units of R1, type 2 uses 16 units of R1
Can linear programs solve NP-hard problems? – p. 2/9
Linear programs
A factory produces 2 types of goods- unit of type 1 gives profit e 1; type 2 gives profit e 4
It has 4 kinds of resources: 650 of R1, 100 of R2,. . .- type 1 uses 34 units of R1, type 2 uses 16 units of R1
Maximizing profit is linear program
Can linear programs solve NP-hard problems? – p. 2/9
Linear programs
A factory produces 2 types of goods- unit of type 1 gives profit e 1; type 2 gives profit e 4
It has 4 kinds of resources: 650 of R1, 100 of R2,. . .- type 1 uses 34 units of R1, type 2 uses 16 units of R1
Maximizing profit is linear program: max x1 + 4x2
s.t. 34x1 + 16x2 ≤ 650
. . . ≤ 100
. . .
x1, x2 ≥ 0
Can linear programs solve NP-hard problems? – p. 2/9
Linear programs
A factory produces 2 types of goods- unit of type 1 gives profit e 1; type 2 gives profit e 4
It has 4 kinds of resources: 650 of R1, 100 of R2,. . .- type 1 uses 34 units of R1, type 2 uses 16 units of R1
Maximizing profit is linear program: max x1 + 4x2
s.t. 34x1 + 16x2 ≤ 650
. . . ≤ 100
. . .
x1, x2 ≥ 0Feasible region is a polytope
Can linear programs solve NP-hard problems? – p. 2/9
A bit of history of LPs
Can linear programs solve NP-hard problems? – p. 3/9
A bit of history of LPs
Simplex algorithm: developed by Kantorovich andDantzig for use in WWII, published by Dantzig in 1947.
Can linear programs solve NP-hard problems? – p. 3/9
A bit of history of LPs
Simplex algorithm: developed by Kantorovich andDantzig for use in WWII, published by Dantzig in 1947.
Walks along vertices of polytope, optimizing objective
Can linear programs solve NP-hard problems? – p. 3/9
A bit of history of LPs
Simplex algorithm: developed by Kantorovich andDantzig for use in WWII, published by Dantzig in 1947.
Walks along vertices of polytope, optimizing objective
Usually efficient in practice, worst-case exponential time
Can linear programs solve NP-hard problems? – p. 3/9
A bit of history of LPs
Simplex algorithm: developed by Kantorovich andDantzig for use in WWII, published by Dantzig in 1947.
Walks along vertices of polytope, optimizing objective
Usually efficient in practice, worst-case exponential time
Ellipsoid method (Khachiyan’79): takes polynomial timein the worst case, but is not practical
Can linear programs solve NP-hard problems? – p. 3/9
A bit of history of LPs
Simplex algorithm: developed by Kantorovich andDantzig for use in WWII, published by Dantzig in 1947.
Walks along vertices of polytope, optimizing objective
Usually efficient in practice, worst-case exponential time
Ellipsoid method (Khachiyan’79): takes polynomial timein the worst case, but is not practical
Interior point method (Karmarkar’84): reasonablyefficient in practice
Can linear programs solve NP-hard problems? – p. 3/9
Can we solve NP-hard problems by LP?
Can linear programs solve NP-hard problems? – p. 4/9
Can we solve NP-hard problems by LP?
Famous NP-hard problem: traveling salesman problem
Find shortest cycle that goes through each of n citiesexactly once
Can linear programs solve NP-hard problems? – p. 4/9
Can we solve NP-hard problems by LP?
Famous NP-hard problem: traveling salesman problem
Find shortest cycle that goes through each of n citiesexactly once
A polynomial-size LP for TSP would show P = NP
Can linear programs solve NP-hard problems? – p. 4/9
Can we solve NP-hard problems by LP?
Famous NP-hard problem: traveling salesman problem
Find shortest cycle that goes through each of n citiesexactly once
A polynomial-size LP for TSP would show P = NP
Swart’86–87 claimed to have found such LPs
Can linear programs solve NP-hard problems? – p. 4/9
Can we solve NP-hard problems by LP?
Famous NP-hard problem: traveling salesman problem
Find shortest cycle that goes through each of n citiesexactly once
A polynomial-size LP for TSP would show P = NP
Swart’86–87 claimed to have found such LPs
Yannakakis’88: symmetric LPs for TSP are exponential
Can linear programs solve NP-hard problems? – p. 4/9
Can we solve NP-hard problems by LP?
Famous NP-hard problem: traveling salesman problem
Find shortest cycle that goes through each of n citiesexactly once
A polynomial-size LP for TSP would show P = NP
Swart’86–87 claimed to have found such LPs
Yannakakis’88: symmetric LPs for TSP are exponential
Swart’s LPs were symmetric, so they couldn’t work
Can linear programs solve NP-hard problems? – p. 4/9
Can we solve NP-hard problems by LP?
Famous NP-hard problem: traveling salesman problem
Find shortest cycle that goes through each of n citiesexactly once
A polynomial-size LP for TSP would show P = NP
Swart’86–87 claimed to have found such LPs
Yannakakis’88: symmetric LPs for TSP are exponential
Swart’s LPs were symmetric, so they couldn’t work
20-year open problem: what about non-symmetric LP?
Can linear programs solve NP-hard problems? – p. 4/9
Can we solve NP-hard problems by LP?
Famous NP-hard problem: traveling salesman problem
Find shortest cycle that goes through each of n citiesexactly once
A polynomial-size LP for TSP would show P = NP
Swart’86–87 claimed to have found such LPs
Yannakakis’88: symmetric LPs for TSP are exponential
Swart’s LPs were symmetric, so they couldn’t work
20-year open problem: what about non-symmetric LP?
Sometimes non-symmetry helps a lot! (Kaibel et al’10)
Can linear programs solve NP-hard problems? – p. 4/9
Can we solve NP-hard problems by LP?
Famous NP-hard problem: traveling salesman problem
Find shortest cycle that goes through each of n citiesexactly once
A polynomial-size LP for TSP would show P = NP
Swart’86–87 claimed to have found such LPs
Yannakakis’88: symmetric LPs for TSP are exponential
Swart’s LPs were symmetric, so they couldn’t work
20-year open problem: what about non-symmetric LP?
Sometimes non-symmetry helps a lot! (Kaibel et al’10)
Fiorini, Massar, Pokutta, Tiwary, dW (STOC’12):any LP for TSP needs exponential size
Can linear programs solve NP-hard problems? – p. 4/9
Polytopes and optimization problems
Can linear programs solve NP-hard problems? – p. 5/9
Polytopes and optimization problems
Polytope P : convex hull of
finite set of points in Rd
Can linear programs solve NP-hard problems? – p. 5/9
Polytopes and optimization problems
Polytope P : convex hull of
finite set of points in Rd
⇔ bounded intersection of finitely many halfspaces
Can linear programs solve NP-hard problems? – p. 5/9
Polytopes and optimization problems
Polytope P : convex hull of
finite set of points in Rd
⇔ bounded intersection of finitely many halfspaces
Can be written as system of linear inequalities:
P = x ∈ Rd | Ax ≤ b
Can linear programs solve NP-hard problems? – p. 5/9
Polytopes and optimization problems
Polytope P : convex hull of
finite set of points in Rd
⇔ bounded intersection of finitely many halfspaces
Can be written as system of linear inequalities:
P = x ∈ Rd | Ax ≤ b
Different systems “Ax ≤ b” can define the same P
Can linear programs solve NP-hard problems? – p. 5/9
Polytopes and optimization problems
Polytope P : convex hull of
finite set of points in Rd
⇔ bounded intersection of finitely many halfspaces
Can be written as system of linear inequalities:
P = x ∈ Rd | Ax ≤ b
Different systems “Ax ≤ b” can define the same P
The size of P is the minimal number of inequalities
Can linear programs solve NP-hard problems? – p. 5/9
Polytopes and optimization problems
Polytope P : convex hull of
finite set of points in Rd
⇔ bounded intersection of finitely many halfspaces
Can be written as system of linear inequalities:
P = x ∈ Rd | Ax ≤ b
Different systems “Ax ≤ b” can define the same P
The size of P is the minimal number of inequalities
TSP polytope: each cycle in Kn is vector ∈ 0, 1(n
2)
Can linear programs solve NP-hard problems? – p. 5/9
Polytopes and optimization problems
Polytope P : convex hull of
finite set of points in Rd
⇔ bounded intersection of finitely many halfspaces
Can be written as system of linear inequalities:
P = x ∈ Rd | Ax ≤ b
Different systems “Ax ≤ b” can define the same P
The size of P is the minimal number of inequalities
TSP polytope: each cycle in Kn is vector ∈ 0, 1(n
2).
TSP(n) is the convex hull of all those vectors
Can linear programs solve NP-hard problems? – p. 5/9
Polytopes and optimization problems
Polytope P : convex hull of
finite set of points in Rd
⇔ bounded intersection of finitely many halfspaces
Can be written as system of linear inequalities:
P = x ∈ Rd | Ax ≤ b
Different systems “Ax ≤ b” can define the same P
The size of P is the minimal number of inequalities
TSP polytope: each cycle in Kn is vector ∈ 0, 1(n
2).
TSP(n) is the convex hull of all those vectors
Solving TSP w.r.t. weight function wij:
minimize the linear function∑
i,j wijxij over x ∈ TSP(n)
Can linear programs solve NP-hard problems? – p. 5/9
Polytopes and optimization problems
Polytope P : convex hull of
finite set of points in Rd
⇔ bounded intersection of finitely many halfspaces
Can be written as system of linear inequalities:
P = x ∈ Rd | Ax ≤ b
Different systems “Ax ≤ b” can define the same P
The size of P is the minimal number of inequalities
TSP polytope: each cycle in Kn is vector ∈ 0, 1(n
2).
TSP(n) is the convex hull of all those vectors
Solving TSP w.r.t. weight function wij:
minimize the linear function∑
i,j wijxij over x ∈ TSP(n)
TSP(n) has exponential size
Can linear programs solve NP-hard problems? – p. 5/9
Extended formulations of polytopes
Can linear programs solve NP-hard problems? – p. 6/9
Extended formulations of polytopes
Sometimes extra variables/dimensionscan reduce size very much.
Can linear programs solve NP-hard problems? – p. 6/9
Extended formulations of polytopes
Sometimes extra variables/dimensionscan reduce size very much.
Regular n-gon in R2 has size n,
but is the projection of polytope Q
in higher dimension, of size O(logn)
Can linear programs solve NP-hard problems? – p. 6/9
Extended formulations of polytopes
Sometimes extra variables/dimensionscan reduce size very much.
Regular n-gon in R2 has size n,
but is the projection of polytope Q
in higher dimension, of size O(logn)
Optimizing over P reduces to optimizing over Q.If Q has small size, this can be done efficiently!
Can linear programs solve NP-hard problems? – p. 6/9
Extended formulations of polytopes
Sometimes extra variables/dimensionscan reduce size very much.
Regular n-gon in R2 has size n,
but is the projection of polytope Q
in higher dimension, of size O(logn)
Optimizing over P reduces to optimizing over Q.If Q has small size, this can be done efficiently!
How small can size(Q) be?
Can linear programs solve NP-hard problems? – p. 6/9
Extended formulations of polytopes
Sometimes extra variables/dimensionscan reduce size very much.
Regular n-gon in R2 has size n,
but is the projection of polytope Q
in higher dimension, of size O(logn)
Optimizing over P reduces to optimizing over Q.If Q has small size, this can be done efficiently!
How small can size(Q) be?
Extension complexity:
xc(P ) = minsize(Q) | Q projects to P
Can linear programs solve NP-hard problems? – p. 6/9
Extended formulations of polytopes
Sometimes extra variables/dimensionscan reduce size very much.
Regular n-gon in R2 has size n,
but is the projection of polytope Q
in higher dimension, of size O(logn)
Optimizing over P reduces to optimizing over Q.If Q has small size, this can be done efficiently!
How small can size(Q) be?
Extension complexity:
xc(P ) = minsize(Q) | Q projects to P
Our goal: strong lower bounds on xc(P ) for interesting P
Can linear programs solve NP-hard problems? – p. 6/9
How to bound extension complexity?
Can linear programs solve NP-hard problems? – p. 7/9
How to bound extension complexity?
Slack matrix S of a polytope P = conv(V )with inequalities Aix ≤ bi and points V = vj:
Sij = bi − Aivj
Can linear programs solve NP-hard problems? – p. 7/9
How to bound extension complexity?
Slack matrix S of a polytope P = conv(V )with inequalities Aix ≤ bi and points V = vj:
Sij = bi − Aivj
NB: every entry is nonnegative; S is not unique
Can linear programs solve NP-hard problems? – p. 7/9
How to bound extension complexity?
Slack matrix S of a polytope P = conv(V )with inequalities Aix ≤ bi and points V = vj:
Sij = bi − Aivj
NB: every entry is nonnegative; S is not unique
Yannakakis’88: xc(P ) = positive rank of S
Can linear programs solve NP-hard problems? – p. 7/9
How to bound extension complexity?
Slack matrix S of a polytope P = conv(V )with inequalities Aix ≤ bi and points V = vj:
Sij = bi − Aivj
NB: every entry is nonnegative; S is not unique
Yannakakis’88: xc(P ) = positive rank of S
Instead of considering all Q, can focus on slack matrix!
Can linear programs solve NP-hard problems? – p. 7/9
How to bound extension complexity?
Slack matrix S of a polytope P = conv(V )with inequalities Aix ≤ bi and points V = vj:
Sij = bi − Aivj
NB: every entry is nonnegative; S is not unique
Yannakakis’88: xc(P ) = positive rank of S
Instead of considering all Q, can focus on slack matrix!
We can use nondeterministic communicationcomplexity to lower bound rank+(S)
Can linear programs solve NP-hard problems? – p. 7/9
How to bound extension complexity?
Slack matrix S of a polytope P = conv(V )with inequalities Aix ≤ bi and points V = vj:
Sij = bi − Aivj
NB: every entry is nonnegative; S is not unique
Yannakakis’88: xc(P ) = positive rank of S
Instead of considering all Q, can focus on slack matrix!
We can use nondeterministic communicationcomplexity to lower bound rank+(S)
Big problem until now: which polytope to analyze,and how to analyze its slack matrix?
Can linear programs solve NP-hard problems? – p. 7/9
Lower bound for correlation polytope
Can linear programs solve NP-hard problems? – p. 8/9
Lower bound for correlation polytope
Correlation polytope: COR(n) = convbbT | b ∈ 0, 1n
Can linear programs solve NP-hard problems? – p. 8/9
Lower bound for correlation polytope
Correlation polytope: COR(n) = convbbT | b ∈ 0, 1n
Occurs naturally in NP-hard problems, e.g. MaxClique
Can linear programs solve NP-hard problems? – p. 8/9
Lower bound for correlation polytope
Correlation polytope: COR(n) = convbbT | b ∈ 0, 1n
Occurs naturally in NP-hard problems, e.g. MaxClique
We can find 2n valid constraints (indexed by a ∈ 0, 1n)
whose slacks w.r.t. vertex bbT are Mab = (1− aT b)2
Can linear programs solve NP-hard problems? – p. 8/9
Lower bound for correlation polytope
Correlation polytope: COR(n) = convbbT | b ∈ 0, 1n
Occurs naturally in NP-hard problems, e.g. MaxClique
We can find 2n valid constraints (indexed by a ∈ 0, 1n)
whose slacks w.r.t. vertex bbT are Mab = (1− aT b)2
Nondeterministic communication complexity of M wasalready analyzed in the quantum computing! (dW’00)
Can linear programs solve NP-hard problems? – p. 8/9
Lower bound for correlation polytope
Correlation polytope: COR(n) = convbbT | b ∈ 0, 1n
Occurs naturally in NP-hard problems, e.g. MaxClique
We can find 2n valid constraints (indexed by a ∈ 0, 1n)
whose slacks w.r.t. vertex bbT are Mab = (1− aT b)2
Nondeterministic communication complexity of M wasalready analyzed in the quantum computing! (dW’00)
Take slack matrix S for COR(n),
with 2n vertices bbT for columns,2n a-constraints for first 2n rows,remaining facets for other rows
S =
...
· · · Mab · · ·
...
...
Can linear programs solve NP-hard problems? – p. 8/9
Lower bound for correlation polytope
Correlation polytope: COR(n) = convbbT | b ∈ 0, 1n
Occurs naturally in NP-hard problems, e.g. MaxClique
We can find 2n valid constraints (indexed by a ∈ 0, 1n)
whose slacks w.r.t. vertex bbT are Mab = (1− aT b)2
Nondeterministic communication complexity of M wasalready analyzed in the quantum computing! (dW’00)
Take slack matrix S for COR(n),
with 2n vertices bbT for columns,2n a-constraints for first 2n rows,remaining facets for other rows
S =
...
· · · Mab · · ·
...
...
xc(COR(n))
Can linear programs solve NP-hard problems? – p. 8/9
Lower bound for correlation polytope
Correlation polytope: COR(n) = convbbT | b ∈ 0, 1n
Occurs naturally in NP-hard problems, e.g. MaxClique
We can find 2n valid constraints (indexed by a ∈ 0, 1n)
whose slacks w.r.t. vertex bbT are Mab = (1− aT b)2
Nondeterministic communication complexity of M wasalready analyzed in the quantum computing! (dW’00)
Take slack matrix S for COR(n),
with 2n vertices bbT for columns,2n a-constraints for first 2n rows,remaining facets for other rows
S =
...
· · · Mab · · ·
...
...
xc(COR(n)) = rank+(S)
Can linear programs solve NP-hard problems? – p. 8/9
Lower bound for correlation polytope
Correlation polytope: COR(n) = convbbT | b ∈ 0, 1n
Occurs naturally in NP-hard problems, e.g. MaxClique
We can find 2n valid constraints (indexed by a ∈ 0, 1n)
whose slacks w.r.t. vertex bbT are Mab = (1− aT b)2
Nondeterministic communication complexity of M wasalready analyzed in the quantum computing! (dW’00)
Take slack matrix S for COR(n),
with 2n vertices bbT for columns,2n a-constraints for first 2n rows,remaining facets for other rows
S =
...
· · · Mab · · ·
...
...
xc(COR(n)) = rank+(S) ≥ rank+(M)
Can linear programs solve NP-hard problems? – p. 8/9
Lower bound for correlation polytope
Correlation polytope: COR(n) = convbbT | b ∈ 0, 1n
Occurs naturally in NP-hard problems, e.g. MaxClique
We can find 2n valid constraints (indexed by a ∈ 0, 1n)
whose slacks w.r.t. vertex bbT are Mab = (1− aT b)2
Nondeterministic communication complexity of M wasalready analyzed in the quantum computing! (dW’00)
Take slack matrix S for COR(n),
with 2n vertices bbT for columns,2n a-constraints for first 2n rows,remaining facets for other rows
S =
...
· · · Mab · · ·
...
...
xc(COR(n)) = rank+(S) ≥ rank+(M) ≥ 2Ω(n)
Can linear programs solve NP-hard problems? – p. 8/9
Consequences for other polytopes
Can linear programs solve NP-hard problems? – p. 9/9
Consequences for other polytopes
Via reduction from the correlation polytope:
Can linear programs solve NP-hard problems? – p. 9/9
Consequences for other polytopes
Via reduction from the correlation polytope:
TSP-polytope has extension complexity ≥ 2√n
Can linear programs solve NP-hard problems? – p. 9/9
Consequences for other polytopes
Via reduction from the correlation polytope:
TSP-polytope has extension complexity ≥ 2√n
Recently improved to ≥ 2n by Rothvoss
Can linear programs solve NP-hard problems? – p. 9/9
Consequences for other polytopes
Via reduction from the correlation polytope:
TSP-polytope has extension complexity ≥ 2√n
Recently improved to ≥ 2n by Rothvoss
CUT-polytope has extension complexity ≥ 2n
Can linear programs solve NP-hard problems? – p. 9/9
Consequences for other polytopes
Via reduction from the correlation polytope:
TSP-polytope has extension complexity ≥ 2√n
Recently improved to ≥ 2n by Rothvoss
CUT-polytope has extension complexity ≥ 2n
For specific graphs, the stable-set polytope hasextension complexity ≥ 2n
Can linear programs solve NP-hard problems? – p. 9/9
Consequences for other polytopes
Via reduction from the correlation polytope:
TSP-polytope has extension complexity ≥ 2√n
Recently improved to ≥ 2n by Rothvoss
CUT-polytope has extension complexity ≥ 2n
For specific graphs, the stable-set polytope hasextension complexity ≥ 2n
So every linear program based on extendedformulations needs exponentially many constraints
Can linear programs solve NP-hard problems? – p. 9/9
Consequences for other polytopes
Via reduction from the correlation polytope:
TSP-polytope has extension complexity ≥ 2√n
Recently improved to ≥ 2n by Rothvoss
CUT-polytope has extension complexity ≥ 2n
For specific graphs, the stable-set polytope hasextension complexity ≥ 2n
So every linear program based on extendedformulations needs exponentially many constraints
This rules out many efficient algorithms for NP-hardproblems, and refutes all P=NP “proofs” à la Swart
Can linear programs solve NP-hard problems? – p. 9/9