Integer Linear Programming and Bin Packing in fixed Dimension
Thomas Rothvoss
10th Carg` ese Workshop on Combinatorial Optimization (2019)
Integer Linear Programming and Bin Packing in fixed Dimension - - PowerPoint PPT Presentation
Integer Linear Programming and Bin Packing in fixed Dimension Thomas Rothvoss 10th Carg` ese Workshop on Combinatorial Optimization (2019) b b b b b b b b b b b b b b b b b b b b Motivation and Outline Integer Linear
10th Carg` ese Workshop on Combinatorial Optimization (2019)
Integer Linear Programming max{cTx | Ax ≤ b, x ∈ Zn} P = {x | Ax ≤ b}
b b b b b b b b b b b b b b b b b b b b
Integer Linear Programming max{cTx | Ax ≤ b, x ∈ Zn} P = {x | Ax ≤ b}
b b b b b b b b b b b b b b b b b b b b
c
Integer Linear Programming max{cTx | Ax ≤ b, x ∈ Zn} P = {x | Ax ≤ b}
b b b b b b b b b b b b b b b b b b b b
c ◮ Part I: Solve ILPs in time f(n) · poly(input length) [Lenstra ’83], [Lenstra, Lenstra, Lov´ asz ’82]
Integer Linear Programming max{cTx | Ax ≤ b, x ∈ Zn} P = {x | Ax ≤ b}
b b b b b b b b b b b b b b b b b b b b
c ◮ Part I: Solve ILPs in time f(n) · poly(input length) [Lenstra ’83], [Lenstra, Lenstra, Lov´ asz ’82] ◮ Part II: Solve Bin Packing with O(1) different item types in poly-time [Goemans, R.’ 14]
P
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
◮ Idea 1: Take coordinate i ∈ [n] and recurse on P ∩ {xi = k} for k ∈ Z P
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
◮ Idea 1: Take coordinate i ∈ [n] and recurse on P ∩ {xi = k} for k ∈ Z But: no bound on number of (n − 1)-dim. slices! P
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
◮ Idea 1: Take coordinate i ∈ [n] and recurse on P ∩ {xi = k} for k ∈ Z But: no bound on number of (n − 1)-dim. slices! ◮ Idea 2: Branch on general direction c ∈ Zn P c
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
For polytope P ⊆ Rn in polynomial time one can find ◮ either a point x ∈ P ◮ a direction c ∈ Zn with max{c, x − y | x, y ∈ P} ≤ 2O(n2)
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
P
For polytope P ⊆ Rn in polynomial time one can find ◮ either a point x ∈ P ◮ a direction c ∈ Zn with max{c, x − y | x, y ∈ P} ≤ 2O(n2)
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
P ≤ 2O(n2) hyperplanes c
For polytope P ⊆ Rn in polynomial time one can find ◮ either a point x ∈ P ◮ a direction c ∈ Zn with max{c, x − y | x, y ∈ P} ≤ 2O(n2)
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
P ≤ 2O(n2) hyperplanes c ◮ Best current non-algo bounds: Ω(n) ≤ .. ≤ ˜ O(n4/3)
A lattice is Λ = {n
i=1 λi · bi | λi ∈ Z} where b1, . . . , bn ∈ Rn
are linearly independent vectors
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
b1 b2
A lattice is Λ = {n
i=1 λi · bi | λi ∈ Z} where b1, . . . , bn ∈ Rn
are linearly independent vectors
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
b2 b1
A lattice is Λ = {n
i=1 λi · bi | λi ∈ Z} where b1, . . . , bn ∈ Rn
are linearly independent vectors
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
b1 b2
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
0 b1 = b∗
1
b2 b∗
2
In poly-time one can find a basis b1, . . . , bn so that the
n
i=1 bi2
n
i=1 b∗ i 2
≤ 2n2/2 ◮ Here b∗
1, . . . , b∗ n is the Gram-Schmidt
P
b b b b b b b b b b b b b b b b b b b b
P
b b b b b b b b b b b b b b b b b b b b
◮ Rescale P so that B(a, 1) ⊆ P ⊆ B(a, n) and Zn → Λ
P a 1 n
b b b b b b b b b b b b b b b b b b b b
◮ Rescale P so that B(a, 1) ⊆ P ⊆ B(a, n) and Zn → Λ
a 1
b b b b b b b b b b b b b b b b b b b b
◮ Rescale P so that B(a, 1) ⊆ P ⊆ B(a, n) and Zn → Λ
a 1
b b b b b b b b b b b b b b b b b b b b
◮ Rescale P so that B(a, 1) ⊆ P ⊆ B(a, n) and Zn → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2n2/2; sort vectors s.t. b12 ≤ . . . ≤ bn2
a 1
b b b b b b b b b b b b b b b b b b b b
◮ Rescale P so that B(a, 1) ⊆ P ⊆ B(a, n) and Zn → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2n2/2; sort vectors s.t. b12 ≤ . . . ≤ bn2 Case bn2 ≤ 1
n:
a 1
b b b b b b b b b b b b b b b b b b b b
◮ Rescale P so that B(a, 1) ⊆ P ⊆ B(a, n) and Zn → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2n2/2; sort vectors s.t. b12 ≤ . . . ≤ bn2 Case bn2 ≤ 1
n:
◮ Then bi2 ≤ 1
n for i = 1, . . . , n
a 1
b b b b b b b b b b b b b b b b b b b b
◮ Rescale P so that B(a, 1) ⊆ P ⊆ B(a, n) and Zn → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2n2/2; sort vectors s.t. b12 ≤ . . . ≤ bn2 Case bn2 ≤ 1
n:
◮ Then bi2 ≤ 1
n for i = 1, . . . , n
◮ Write a = n
i=1 λibi for λi ∈ R.
a 1
b b b b b b b b b b b b b b b b b b b b
◮ Rescale P so that B(a, 1) ⊆ P ⊆ B(a, n) and Zn → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2n2/2; sort vectors s.t. b12 ≤ . . . ≤ bn2 Case bn2 ≤ 1
n:
◮ Then bi2 ≤ 1
n for i = 1, . . . , n
◮ Write a = n
i=1 λibi for λi ∈ R.
◮ Return n
i=1⌈λi⌋ · bi ∈ P
a 1
b b b b b b b b b b b b b b b b b b b b
◮ Rescale P so that B(a, 1) ⊆ P ⊆ B(a, n) and Zn → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2n2/2; sort vectors s.t. b12 ≤ . . . ≤ bn2 Case bn2 > 1
n.
a 1
b b b b b b b b b b b b b b b b b b b b
bn b∗
n
◮ Rescale P so that B(a, 1) ⊆ P ⊆ B(a, n) and Zn → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2n2/2; sort vectors s.t. b12 ≤ . . . ≤ bn2 Case bn2 > 1
n.
◮ Then b∗
n2 ≥ 2−n2/2bn2 ≥ 2−Θ(n2)
a 1
b b b b b b b b b b b b b b b b b b b b
bn b∗
n
◮ Rescale P so that B(a, 1) ⊆ P ⊆ B(a, n) and Zn → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2n2/2; sort vectors s.t. b12 ≤ . . . ≤ bn2 Case bn2 > 1
n.
◮ Then b∗
n2 ≥ 2−n2/2bn2 ≥ 2−Θ(n2)
◮ Use c :=
b∗
n
b∗
n2
2O(n2) times
Input: item 1 . . . item d
Input: ◮ Item sizes s1, . . . , sd ∈ [0, 1] Input: item 1 . . . item d s1
Input: ◮ Item sizes s1, . . . , sd ∈ [0, 1] ◮ Multiplicities a1, . . . , ad ∈ N Input: item 1 . . . item d a1 many s1
Input: ◮ Item sizes s1, . . . , sd ∈ [0, 1] ◮ Multiplicities a1, . . . , ad ∈ N Goal: Pack items into minimum number of bins of size 1. Input: Solution: item 1 . . . item d a1 many s1 1 bin 1 . . .
Input: ◮ Item sizes s1, . . . , sd ∈ [0, 1] ◮ Multiplicities a1, . . . , ad ∈ N Goal: Pack items into minimum number of bins of size 1. Input: Solution: item 1 . . . item d a1 many s1 1 bin 1 . . .
Input: ◮ Item sizes s1, . . . , sd ∈ [0, 1] ◮ Multiplicities a1, . . . , ad ∈ N Goal: Pack items into minimum number of bins of size 1. Input: Solution: item 1 . . . item d a1 many s1 1 bin 1 . . .
Input: ◮ Item sizes s1, . . . , sd ∈ [0, 1] ◮ Multiplicities a1, . . . , ad ∈ N Goal: Pack items into minimum number of bins of size 1. Input: Solution: item 1 . . . item d a1 many s1 1 bin 1 . . .
For general d: ◮ NP-hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79]
For general d: ◮ NP-hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O(log2 d) [Karmarkar & Karp ’82] OPT + O(log d) [Hoberg & R. ’15] (running time poly(d
i=1 ai))
For general d: ◮ NP-hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O(log2 d) [Karmarkar & Karp ’82] OPT + O(log d) [Hoberg & R. ’15] (running time poly(d
i=1 ai))
◮ ∈ NP [Eisenbrand & Shmonin ’06]
For general d: ◮ NP-hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O(log2 d) [Karmarkar & Karp ’82] OPT + O(log d) [Hoberg & R. ’15] (running time poly(d
i=1 ai))
◮ ∈ NP [Eisenbrand & Shmonin ’06] For constant d:
For general d: ◮ NP-hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O(log2 d) [Karmarkar & Karp ’82] OPT + O(log d) [Hoberg & R. ’15] (running time poly(d
i=1 ai))
◮ ∈ NP [Eisenbrand & Shmonin ’06] For constant d: ◮ Polytime for d = 2 [McCormick, Smallwood, Spieksma ’97]
For general d: ◮ NP-hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O(log2 d) [Karmarkar & Karp ’82] OPT + O(log d) [Hoberg & R. ’15] (running time poly(d
i=1 ai))
◮ ∈ NP [Eisenbrand & Shmonin ’06] For constant d: ◮ Polytime for d = 2 [McCormick, Smallwood, Spieksma ’97] ◮ OPT + 1 in time 22O(d) · poly [Jansen & Solis-Oba ’10]
For general d: ◮ NP-hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O(log2 d) [Karmarkar & Karp ’82] OPT + O(log d) [Hoberg & R. ’15] (running time poly(d
i=1 ai))
◮ ∈ NP [Eisenbrand & Shmonin ’06] For constant d: ◮ Polytime for d = 2 [McCormick, Smallwood, Spieksma ’97] ◮ OPT + 1 in time 22O(d) · poly [Jansen & Solis-Oba ’10]
Solvable in poly-time for d = 3?
◮ Define P = {x ∈ Rd
≥0 | sTx ≤ 1}
P
b b b b b b b b b b b b b b b b b b b b b b b b b
Rd sTx ≤ 1 a
◮ Define P = {x ∈ Rd
≥0 | sTx ≤ 1}
P
b b b b b b b b b b b b b b b b b b b b b b b b b
Rd sTx ≤ 1 2 1 a
◮ Define P = {x ∈ Rd
≥0 | sTx ≤ 1}
P
b b b b b b b b b b b b b b b b b b b b b b b b b
Rd sTx ≤ 1 2 1 a
◮ Define P = {x ∈ Rd
≥0 | sTx ≤ 1}
P
b b b b b b b b b b b b b b b b b b b b b b b b b
Rd sTx ≤ 1 2 1 a
◮ Define P = {x ∈ Rd
≥0 | sTx ≤ 1}
P
b b b b b b b b b b b b b b b b b b b b b b b b b
Rd sTx ≤ 1 2 1 a Problems: ◮ Points in P exponentially many
◮ Define P = {x ∈ Rd
≥0 | sTx ≤ 1}
P
b b b b b b b b b b b b b b b b b b b b b b b b b
Rd sTx ≤ 1 2 1 a Problems: ◮ Points in P exponentially many ◮ Weights can be exponential
Bin Packing with d = O(1) item sizes can be solved in poly-time. Solves question by ◮ [McCormick, Smallwood, Spieksma ’97]: “might be NP-hard for d = 3” ◮ [Eisenbrand & Shmonin ’06] ◮ [Filippi ’07]: “hard open problem for general d”
◮ Def.: int.cone(X) := {
x∈X λx · x | λx ∈ Z≥0}
◮ Def.: int.cone(X) := {
x∈X λx · x | λx ∈ Z≥0}
For fixed-dim. polytopes P, Q ⊆ Rd, testing int.cone(P ∩ Zd) ∩ Q = ∅ is doable in poly-time (actually inputlength2O(d)). P
b b b b b
Q
b b b b b b
◮ Def.: int.cone(X) := {
x∈X λx · x | λx ∈ Z≥0}
For fixed-dim. polytopes P, Q ⊆ Rd, testing int.cone(P ∩ Zd) ∩ Q = ∅ is doable in poly-time (actually inputlength2O(d)). P
b b b b b
Q
b b b b b b
2 1
◮ Def.: int.cone(X) := {
x∈X λx · x | λx ∈ Z≥0}
For fixed-dim. polytopes P, Q ⊆ Rd, testing int.cone(P ∩ Zd) ∩ Q = ∅ is doable in poly-time (actually inputlength2O(d)). P
b b b b b
Q
b b b b b b
2 1
◮ Def.: int.cone(X) := {
x∈X λx · x | λx ∈ Z≥0}
For fixed-dim. polytopes P, Q ⊆ Rd, testing int.cone(P ∩ Zd) ∩ Q = ∅ is doable in poly-time (actually inputlength2O(d)). P
b b b b b
Q
b b b b b b
2 1
◮ Def.: int.cone(X) := {
x∈X λx · x | λx ∈ Z≥0}
For fixed-dim. polytopes P, Q ⊆ Rd, testing int.cone(P ∩ Zd) ∩ Q = ∅ is doable in poly-time (actually inputlength2O(d)). P
b b b b b
Q
b b b b b b
2 1 ◮ For Bin Packing: P := { x
1
OPT
If P ⊆ Rd convex, then any integer conic combination a =
λx · x needs at most 2d points. P
b b b b b b b b b b b b b b
If P ⊆ Rd convex, then any integer conic combination a =
λx · x needs at most 2d points. ◮ Suppose |supp(λ)| > 2d P
b b b b b b b b b b b b b b
If P ⊆ Rd convex, then any integer conic combination a =
λx · x needs at most 2d points. ◮ Suppose |supp(λ)| > 2d ◮ Take points x, y ∈ supp(λ) of same parity P
b b b b b b b b b b b b b b
x y
If P ⊆ Rd convex, then any integer conic combination a =
λx · x needs at most 2d points. ◮ Suppose |supp(λ)| > 2d ◮ Take points x, y ∈ supp(λ) of same parity ◮ Midpoint z = 1
2(x + y) ∈ P ∩ Zd
P
b b b b b b b b b b b b b b
x y z
If P ⊆ Rd convex, then any integer conic combination a =
λx · x needs at most 2d points. ◮ Suppose |supp(λ)| > 2d ◮ Take points x, y ∈ supp(λ) of same parity ◮ Midpoint z = 1
2(x + y) ∈ P ∩ Zd
◮ Move weight from x, y to z P
b b b b b b b b b b b b b b
x y z −1 +2 −1
If P ⊆ Rd convex, then any integer conic combination a =
λx · x needs at most 2d points. ◮ Suppose |supp(λ)| > 2d ◮ Take points x, y ∈ supp(λ) of same parity ◮ Midpoint z = 1
2(x + y) ∈ P ∩ Zd
◮ Move weight from x, y to z ◮ Potential function
x λxf(x)
decreases (f strictly convex) P
b b b b b b b b b b b b b b
x y z −1 +2 −1
If P ⊆ Rd convex, then any integer conic combination a =
λx · x needs at most 2d points. ◮ Suppose |supp(λ)| > 2d ◮ Take points x, y ∈ supp(λ) of same parity ◮ Midpoint z = 1
2(x + y) ∈ P ∩ Zd
◮ Move weight from x, y to z ◮ Potential function
x λxf(x)
decreases (f strictly convex) P
b b b b b b b b b b b b b b
x y z −1 +2 −1 ◮ Problem: Still don’t know which points to take!
P
P x
◮ Consider parallelepiped Π ∋ x with integral vertices P
x
◮ Consider parallelepiped Π ∋ x with integral vertices ◮ Let y vertex of Π, in quadrant of x P
x y
◮ Consider parallelepiped Π ∋ x with integral vertices ◮ Let y vertex of Π, in quadrant of x ◮ Let z ∈ Π ∩ Zd be mirrored point P
x y z
◮ Consider parallelepiped Π ∋ x with integral vertices ◮ Let y vertex of Π, in quadrant of x ◮ Let z ∈ Π ∩ Zd be mirrored point ◮ If λx ≥ 2 ⇒ redistribute weight P
x y z +1 −2 +1
◮ Consider parallelepiped Π ∋ x with integral vertices ◮ Let y vertex of Π, in quadrant of x ◮ Let z ∈ Π ∩ Zd be mirrored point ◮ If λx ≥ 2 ⇒ redistribute weight ◮ At most 2d points left inside Π P
1 1 1
For x in parallelepiped Π and λx ∈ N, one can write λxx = int.cone(vertices of Π) +
◮ Consider parallelepiped Π ∋ x with integral vertices ◮ Let y vertex of Π, in quadrant of x ◮ Let z ∈ Π ∩ Zd be mirrored point ◮ If λx ≥ 2 ⇒ redistribute weight ◮ At most 2d points left inside Π P
1 1 1
For fixed-dim P ⊆ Rd, we can cover P ∩ Zd with poly-many parallelepipeds (with int. vertices and ⊆ P). P
b b b b b b b b b b b b b b b b b b b b b b b b b
For fixed-dim P ⊆ Rd, we can cover P ∩ Zd with poly-many parallelepipeds (with int. vertices and ⊆ P). P
b b b b b b b b b b b b b b b b b b b b b b b b b
P
◮ Split P = {x | Ax ≤ b} into poly many cells C = {x | αj(i) ≤ Aix ≤ αj(i)+1} bi − Aix = 0 bi − Aix = (1 + 1
d)Z
P
◮ Split P = {x | Ax ≤ b} into poly many cells C = {x | αj(i) ≤ Aix ≤ αj(i)+1} P cell C
◮ Split P = {x | Ax ≤ b} into poly many cells C = {x | αj(i) ≤ Aix ≤ αj(i)+1} ◮ Consider int.hull CI (poly many vertices)
b b b b b b b
CI P cell C
◮ Split P = {x | Ax ≤ b} into poly many cells C = {x | αj(i) ≤ Aix ≤ αj(i)+1} ◮ Consider int.hull CI (poly many vertices) ◮ Extend any d + 1 vertices
b b b b b b b
CI x0 x1 x2 P cell C
◮ Split P = {x | Ax ≤ b} into poly many cells C = {x | αj(i) ≤ Aix ≤ αj(i)+1} ◮ Consider int.hull CI (poly many vertices) ◮ Extend any d + 1 vertices
b b b b b b b
CI x0 x1 x2 P cell C
◮ Input: polytopes P, Q in ineq. description ◮ Output: Coefficients for int.cone(P ∩ Zd) ∩ Q = ∅
◮ Input: polytopes P, Q in ineq. description ◮ Output: Coefficients for int.cone(P ∩ Zd) ∩ Q = ∅ Algorithm: (1) Compute poly many parallelepipeds covering P P
b b b b b b b b b b b b b b b b b b b b b b b b b
◮ Input: polytopes P, Q in ineq. description ◮ Output: Coefficients for int.cone(P ∩ Zd) ∩ Q = ∅ Algorithm: (1) Compute poly many parallelepipeds covering P P
b b b b b b b b b b b b b b b b b b b b b b b b b
◮ Input: polytopes P, Q in ineq. description ◮ Output: Coefficients for int.cone(P ∩ Zd) ∩ Q = ∅ Algorithm: (1) Compute poly many parallelepipeds covering P (2) Guess the 2d parallelepipeds containing solution P
b b b b b b b b b b b b b b b b b b b b b b b b b
◮ Input: polytopes P, Q in ineq. description ◮ Output: Coefficients for int.cone(P ∩ Zd) ∩ Q = ∅ Algorithm: (1) Compute poly many parallelepipeds covering P (2) Guess the 2d parallelepipeds containing solution P
b b b b b b b b b b b b b b b b b b b b b b b b b
◮ Input: polytopes P, Q in ineq. description ◮ Output: Coefficients for int.cone(P ∩ Zd) ∩ Q = ∅ Algorithm: (1) Compute poly many parallelepipeds covering P (2) Guess the 2d parallelepipeds containing solution → X := vertices P
b b b b b b b b b b b b b b b b b b b b b b b b b
b b b b b b b
◮ Input: polytopes P, Q in ineq. description ◮ Output: Coefficients for int.cone(P ∩ Zd) ∩ Q = ∅ Algorithm: (1) Compute poly many parallelepipeds covering P (2) Guess the 2d parallelepipeds containing solution → X := vertices (3) Solve ILP with 2O(d) variables
λx · x +
1 · x ∈ Q P
b b b b b b b b b b b b b b b b b b b b b b b b b
b b b b b b b
◮ Input: polytopes P, Q in ineq. description ◮ Output: Coefficients for int.cone(P ∩ Zd) ∩ Q = ∅ Algorithm: (1) Compute poly many parallelepipeds covering P (2) Guess the 2d parallelepipeds containing solution → X := vertices (3) Solve ILP with 2O(d) variables
λx · x +
1 · x ∈ Q variables P
b b b b b b b b b b b b b b b b b b b b b b b b b
b b b b b b b
For polytope P P
b b b b b b b b b b b b b b b b b b b b b b b b b
For polytope P P
b b b b b b b b b b b b b b b b b b b b b b b b b
For polytope P, ∃ poly-time comp. set X ⊆ P ∩ Zd P
b b b b b b b b b b b b b b b b b b b b b b b b b
b b b b b b b b b b b
For polytope P, ∃ poly-time comp. set X ⊆ P ∩ Zd P
b b b b b b b b b b b b b b b b b b b b b b b b b
b b b b b b b b b b b
For polytope P, ∃ poly-time comp. set X ⊆ P ∩ Zd s.t. for all a ∈ int.cone(P ∩ Zd) one can express a = int.cone(22d points in X) +
P
b b b b b b b b b b b b b b b b b b b b b b b b b
b b b b b b b b b b b
a
For polytope P, ∃ poly-time comp. set X ⊆ P ∩ Zd s.t. for all a ∈ int.cone(P ∩ Zd) one can express a = int.cone(22d points in X) +
P
b b b b b b b b b b b b b b b b b b b b b b b b b
a
b b b b b
◮ More recent: a = int.cone(vert(PI)) + of 2O(d) points with weights ≤ 22O(d) [Jansen, Klein ’16]
◮ Is there a 2O(n) · poly(input) algorithm for Integer Linear Programming? ◮ Is there a poly(n)-factor approximation algorithm for Shortest Vector Problem in a Lattice? (distinguishing ≥ Θ(√n) · L from ≤ L is in NP ∩ coNP) ◮ Can one find a lattice basis with orthogonality defect at most nO(n) in poly-time? ◮ Can Bin Packing be solved in (input length)poly(d) time? maybe even in f(d) · poly(input length)?
◮ Is there a 2O(n) · poly(input) algorithm for Integer Linear Programming? ◮ Is there a poly(n)-factor approximation algorithm for Shortest Vector Problem in a Lattice? (distinguishing ≥ Θ(√n) · L from ≤ L is in NP ∩ coNP) ◮ Can one find a lattice basis with orthogonality defect at most nO(n) in poly-time? ◮ Can Bin Packing be solved in (input length)poly(d) time? maybe even in f(d) · poly(input length)?