A Logarithmic Additive Integrality Gap for Bin Packing Rebecca - - PowerPoint PPT Presentation

a logarithmic additive integrality gap for bin packing
SMART_READER_LITE
LIVE PREVIEW

A Logarithmic Additive Integrality Gap for Bin Packing Rebecca - - PowerPoint PPT Presentation

A Logarithmic Additive Integrality Gap for Bin Packing Rebecca Hoberg and Thomas Rothvoss Dep. of Mathematics Dep. of Mathematics & CSE Barbados 2015 Bin Packing Input: Items with sizes s 1 , . . . , s n [0 , 1] Goal: Pack items into


slide-1
SLIDE 1

A Logarithmic Additive Integrality Gap for Bin Packing

Rebecca Hoberg and Thomas Rothvoss

  • Dep. of Mathematics
  • Dep. of Mathematics & CSE

Barbados 2015

slide-2
SLIDE 2

Bin Packing

Input: Items with sizes s1, . . . , sn ∈ [0, 1] Goal: Pack items into minimum number of bins of size 1. bin 1 bin 2 input si 1 1

slide-3
SLIDE 3

Bin Packing

Input: Items with sizes s1, . . . , sn ∈ [0, 1] Goal: Pack items into minimum number of bins of size 1. bin 1 bin 2 input si 1 1

slide-4
SLIDE 4

Bin Packing

Input: Items with sizes s1, . . . , sn ∈ [0, 1] Goal: Pack items into minimum number of bins of size 1. bin 1 bin 2 input si 1 1

slide-5
SLIDE 5

Bin Packing

Input: Items with sizes s1, . . . , sn ∈ [0, 1] Goal: Pack items into minimum number of bins of size 1. bin 1 bin 2 input si 1 1

slide-6
SLIDE 6

Bin Packing

Input: Items with sizes s1, . . . , sn ∈ [0, 1] Goal: Pack items into minimum number of bins of size 1. bin 1 bin 2 input si 1 1

slide-7
SLIDE 7

Bin Packing

Input: Items with sizes s1, . . . , sn ∈ [0, 1] Goal: Pack items into minimum number of bins of size 1. bin 1 bin 2 input si 1 1

◮ NP-hard to distinguish OPT ≤ 2 or OPT ≥ 3

[Garey & Johnson ’79]

slide-8
SLIDE 8

Bin Packing

Input: Items with sizes s1, . . . , sn ∈ [0, 1] Goal: Pack items into minimum number of bins of size 1. bin 1 bin 2 input si 1 1

◮ NP-hard to distinguish OPT ≤ 2 or OPT ≥ 3

[Garey & Johnson ’79]

◮ First Fit Decreasing [Johnson ’73]: APX ≤ 11 9 OPT + 4

slide-9
SLIDE 9

Bin Packing

Input: Items with sizes s1, . . . , sn ∈ [0, 1] Goal: Pack items into minimum number of bins of size 1. bin 1 bin 2 input si 1 1

◮ NP-hard to distinguish OPT ≤ 2 or OPT ≥ 3

[Garey & Johnson ’79]

◮ First Fit Decreasing [Johnson ’73]: APX ≤ 11 9 OPT + 4 ◮ [de la Vega & L¨

ucker ’81] : APX ≤ (1 + ε)OPT + O(1/ε2) in time O(n) · f(ε)

slide-10
SLIDE 10

The Gilmore Gomory LP relaxation

◮ bi = #items with size si ◮ Feasible patterns:

P =

  • p ∈ Zn

≥0 | n

  • i=1

sipi ≤ 1

slide-11
SLIDE 11

The Gilmore Gomory LP relaxation

◮ bi = #items with size si ◮ Feasible patterns:

P =

  • p ∈ Zn

≥0 | n

  • i=1

sipi ≤ 1

  • ◮ Gilmore Gomory LP relaxation:

min

  • p∈P

xp

  • p∈P

pi · xp ≥ bi ∀i ∈ [n] xp ≥ ∀p ∈ P

slide-12
SLIDE 12

The Gilmore Gomory LP relaxation

◮ bi = #items with size si ◮ Feasible patterns:

P =

  • p ∈ Zn

≥0 | n

  • i=1

sipi ≤ 1

  • ◮ Gilmore Gomory LP relaxation:

min 1Tx

  • p∈P

Ax ≥ b xp ≥ ∀p ∈ P

slide-13
SLIDE 13

The Gilmore Gomory LP relaxation

◮ bi = #items with size si ◮ Feasible patterns:

P =

  • p ∈ Zn

≥0 | n

  • i=1

sipi ≤ 1

  • ◮ Gilmore Gomory LP relaxation:

min 1Tx

  • p∈P

Ax ≥ b xp ≥ ∀p ∈ P

◮ Can find x with 1Tx ≤ OPTf + δ in time poly(b1, 1 δ)

slide-14
SLIDE 14

The Gilmore Gomory LP - Example

input si 1 0.44 0.4 0.3 0.26

slide-15
SLIDE 15

The Gilmore Gomory LP - Example

input si 1 0.44 0.4 0.3 0.26 min 1Tx     2 1 1 1 1 2 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1     x ≥     1 1 1 1     x ≥

A

b

slide-16
SLIDE 16

The Gilmore Gomory LP - Example

input si 1 0.44 0.4 0.3 0.26 min 1Tx     2 1 1 1 1 2 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1     x ≥     1 1 1 1     x ≥

slide-17
SLIDE 17

The Gilmore Gomory LP - Example

input si 1 0.44 0.4 0.3 0.26 min 1Tx     2 1 1 1 1 2 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1     x ≥     1 1 1 1     x ≥ 1/2× 1/2× 1/2×

slide-18
SLIDE 18

Main result

◮ [Karmarkar & Karp ’82]: APX ≤ OPT + O(log2 OPT)

Technique: Basic LP solutions

slide-19
SLIDE 19

Main result

◮ [Karmarkar & Karp ’82]: APX ≤ OPT + O(log2 OPT)

Technique: Basic LP solutions

◮ [R. ’13]: APX ≤ OPT + O(log OPT · log log OPT)

Technique: Discrepancy theory

slide-20
SLIDE 20

Main result

◮ [Karmarkar & Karp ’82]: APX ≤ OPT + O(log2 OPT)

Technique: Basic LP solutions

◮ [R. ’13]: APX ≤ OPT + O(log OPT · log log OPT)

Technique: Discrepancy theory

Theorem (Hoberg & R. ’15)

There is an OPT + O(log OPT) algorithm for Bin Packing.

slide-21
SLIDE 21

Main result

◮ [Karmarkar & Karp ’82]: APX ≤ OPT + O(log2 OPT)

Technique: Basic LP solutions

◮ [R. ’13]: APX ≤ OPT + O(log OPT · log log OPT)

Technique: Discrepancy theory

Theorem (Hoberg & R. ’15)

There is an OPT + O(log n) algorithm for Bin Packing instances with si ≥ 1

n.

slide-22
SLIDE 22

Main result

◮ [Karmarkar & Karp ’82]: APX ≤ OPT + O(log2 OPT)

Technique: Basic LP solutions

◮ [R. ’13]: APX ≤ OPT + O(log OPT · log log OPT)

Technique: Discrepancy theory

Theorem (Hoberg & R. ’15)

There is an OPT + O(log n) algorithm for Bin Packing instances with si ≥ 1

n.

Bin Packing

1 4 < si < 1 2∀i

Coloring 3 permutations on [n] reduction [EPR ’10]

slide-23
SLIDE 23

Main result

◮ [Karmarkar & Karp ’82]: APX ≤ OPT + O(log2 OPT)

Technique: Basic LP solutions

◮ [R. ’13]: APX ≤ OPT + O(log OPT · log log OPT)

Technique: Discrepancy theory

Theorem (Hoberg & R. ’15)

There is an OPT + O(log n) algorithm for Bin Packing instances with si ≥ 1

n.

Bin Packing

1 4 < si < 1 2∀i

Coloring 3 permutations on [n] reduction [EPR ’10] Discrepancy Θ(log n) [Newman, Nikolov ’11]

slide-24
SLIDE 24

Discrepancy theory

◮ Set system S = {S1, . . . , Sm}, Si ⊆ [n]

i S

slide-25
SLIDE 25

Discrepancy theory

◮ Set system S = {S1, . . . , Sm}, Si ⊆ [n] ◮ Coloring χ : [n] → {−1, +1}

i S

b b

−1

b

+1 −1

slide-26
SLIDE 26

Discrepancy theory

◮ Set system S = {S1, . . . , Sm}, Si ⊆ [n] ◮ Coloring χ : [n] → {−1, +1} ◮ Discrepancy

disc(S) = min

χ:[n]→{±1} max S∈S

  • i∈S

χ(i)

  • .

i S

b b

−1

b

+1 −1

slide-27
SLIDE 27

Discrepancy theory

◮ Set system S = {S1, . . . , Sm}, Si ⊆ [n] ◮ Coloring χ : [n] → {−1, +1} ◮ Discrepancy

disc(S) = min

χ:[n]→{±1} max S∈S

  • i∈S

χ(i)

  • .

i S

b b

−1

b

+1 −1 Known results:

◮ n sets, n elements: disc(S) = O(√n) [Spencer ’85]

slide-28
SLIDE 28

Discrepancy theory

◮ Set system S = {S1, . . . , Sm}, Si ⊆ [n] ◮ Coloring χ : [n] → {−1, +1} ◮ Discrepancy

disc(S) = min

χ:[n]→{±1} max S∈S

  • i∈S

χ(i)

  • .

i S

b b

−1

b

+1 −1 Known results:

◮ n sets, n elements: disc(S) = O(√n) [Spencer ’85] ◮ Every element in ≤ t sets: disc(S) < 2t [Beck & Fiala ’81]

slide-29
SLIDE 29

Discrepancy theory

◮ Set system S = {S1, . . . , Sm}, Si ⊆ [n] ◮ Coloring χ : [n] → {−1, +1} ◮ Discrepancy

disc(S) = min

χ:[n]→{±1} max S∈S

  • i∈S

χ(i)

  • .

i S

b b

−1

b

+1 −1 Known results:

◮ n sets, n elements: disc(S) = O(√n) [Spencer ’85] ◮ Every element in ≤ t sets: disc(S) < 2t [Beck & Fiala ’81] ◮ Beck-Fiala Conjecture: disc(S) ≤ O(

√ t)

slide-30
SLIDE 30

Discrepancy theory

◮ Set system S = {S1, . . . , Sm}, Si ⊆ [n] ◮ Coloring χ : [n] → {−1, +1} ◮ Discrepancy

disc(S) = min

χ:[n]→{±1} max S∈S

  • i∈S

χ(i)

  • .

i S

b b

−1

b

+1 −1 Known results:

◮ n sets, n elements: disc(S) = O(√n) [Spencer ’85] ◮ Every element in ≤ t sets: disc(S) < 2t [Beck & Fiala ’81] ◮ Beck-Fiala Conjecture: disc(S) ≤ O(

√ t)

⇒ Partial coloring method

◮ Initially non-constructive!

Algorithms by [Bansal ’10, Lovett-Meka ’12, R. ’14, ES’14]

slide-31
SLIDE 31

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

1 1

slide-32
SLIDE 32

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m x 1 1

slide-33
SLIDE 33

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi x vi 1 1

slide-34
SLIDE 34

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0

◮ | vi, y − x | ≤ λi ∀i

x vi 1 1 λi

slide-35
SLIDE 35

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 Then one can find y ∈ [0, 1]m with

◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i

x vi

b y

1 1 λi

slide-36
SLIDE 36

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i

x vi

b y

1 1 λi

slide-37
SLIDE 37

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction

x 1 1

slide-38
SLIDE 38

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction

x 1 1

b

y

slide-39
SLIDE 39

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction

x 1 1

b

y

slide-40
SLIDE 40

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction

x 1 1

b

y

slide-41
SLIDE 41

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction

x 1 1

b

y

slide-42
SLIDE 42

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction

x 1 1

b

y

slide-43
SLIDE 43

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction

x 1 1

b

y

slide-44
SLIDE 44

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction

x 1 1

b

y

slide-45
SLIDE 45

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction

x 1 1

b

y

slide-46
SLIDE 46

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction (2) If hit hyperplane, stay on it

x 1 1

b

y

slide-47
SLIDE 47

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction (2) If hit hyperplane, stay on it

x 1 1

b

y

slide-48
SLIDE 48

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction (2) If hit hyperplane, stay on it

x 1 1

b

y

slide-49
SLIDE 49

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction (2) If hit hyperplane, stay on it

x 1 1

b

y

slide-50
SLIDE 50

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction (2) If hit hyperplane, stay on it

x 1 1

b

y

slide-51
SLIDE 51

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction (2) If hit hyperplane, stay on it

x 1 1

b

y

slide-52
SLIDE 52

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction (2) If hit hyperplane, stay on it

x 1 1

b

y

slide-53
SLIDE 53

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction (2) If hit hyperplane, stay on it

x 1 1

b y

slide-54
SLIDE 54

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction (2) If hit hyperplane, stay on it

◮ Analysis:

◮ Pr[hit vi, y − x = λi] ≤ e−Ω(λ2 i )

x vi 1 1

b y

λi

slide-55
SLIDE 55

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction (2) If hit hyperplane, stay on it

◮ Analysis:

◮ Pr[hit vi, y − x = λi] ≤ e−Ω(λ2 i ) ◮

E[# constraints hit] ≤ m

16

x vi 1 1

b y

λi

slide-56
SLIDE 56

Constructive Partial Coloring Lemma

Lemma [Lovett-Meka ’12]

Given x ∈ [0, 1]m, unit vectors vi, parameters λi ≥ 0 s.t.

  • i e−λ2

i /16 ≤ m

16 . Then one can find y ∈ [0, 1]m with ◮ yj ∈ {0, 1} for at least half of the indices j ◮ | vi, y − x | ≤ λi · vi2 ∀i ◮ Algorithm:

(1) Perform Brownian motion with std. deviation 3 in each direction (2) If hit hyperplane, stay on it

◮ Analysis:

◮ Pr[hit vi, y − x = λi] ≤ e−Ω(λ2 i ) ◮

E[# constraints hit] ≤ m

16

x vi 1 1

b y

λi

slide-57
SLIDE 57

The algorithm

(1) Compute a fractional LP solution x (2) FOR log n iterations DO

(3) Rebuild incidence matrix (4) Apply Lovett-Meka rounding x → x′

slide-58
SLIDE 58

The algorithm

(1) Compute a fractional LP solution x (2) FOR log n iterations DO

(3) Rebuild incidence matrix Effect: Rows of A get small · 2-norm (4) Apply Lovett-Meka rounding x → x′

slide-59
SLIDE 59

The algorithm

(1) Compute a fractional LP solution x (2) FOR log n iterations DO

(3) Rebuild incidence matrix Effect: Rows of A get small · 2-norm (4) Apply Lovett-Meka rounding x → x′ Effect:

◮ |frac(x′)| ≤ 1

2 · |frac(x)|

slide-60
SLIDE 60

The algorithm

(1) Compute a fractional LP solution x (2) FOR log n iterations DO

(3) Rebuild incidence matrix Effect: Rows of A get small · 2-norm (4) Apply Lovett-Meka rounding x → x′ Effect:

◮ |frac(x′)| ≤ 1

2 · |frac(x)|

◮ cost(x′) ≤ cost(x) + O(1)

slide-61
SLIDE 61

Assigning items to patterns

Items: Bins: xp1 = 1

2

xp2 = 1

2

xp3 = 1

2

b1 = 2 b2 = 1 b3 = 7

slide-62
SLIDE 62

Assigning items to patterns

Items: Bins: xp1 = 1

2

xp2 = 1

2

xp3 = 1

2

b1 = 2 b2 = 1 b3 = 7

1 2 1 2 1 2 1 2

slide-63
SLIDE 63

Assigning items to patterns

Items: Bins: xp1 = 1

2

xp2 = 1

2

xp3 = 1

2

b1 = 2 b2 = 1 b3 = 7

1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2

slide-64
SLIDE 64

Assigning items to patterns

Items: Containers: Bins: xp1 = 1

2

xp2 = 1

2

xp3 = 1

2

yC1 = 1 yC2 = 1 yC3 = 2

b1 = 2 b2 = 1 b3 = 7

slide-65
SLIDE 65

Assigning items to patterns

Items: Containers: Bins:

1 2 1 2 1 2 1 2 1 2 1 2 1 2

xp1 = 1

2

xp2 = 1

2

xp3 = 1

2

1 1 1 1 1 2 2

yC1 = 1 yC2 = 1 yC3 = 2

b1 = 2 b2 = 1 b3 = 7

slide-66
SLIDE 66

Assigning items to patterns

Items: Containers: Bins:

1 2 1 2 1 2 1 2 1 2 1 2 1 2

xp1 = 1

2

xp2 = 1

2

xp3 = 1

2

1 1 1 1 1 2 2

yC1 = 1 yC2 = 1 yC3 = 2

b1 = 2 b2 = 1 b3 = 7

◮ deficiency = total size of non-assignable items+containers

slide-67
SLIDE 67

Container building

◮ Consider fract. solution x at beginning of iteration

A

2

slide-68
SLIDE 68

Container building

◮ Consider fract. solution x at beginning of iteration

A

supp(x) 2

slide-69
SLIDE 69

Container building

◮ Consider fract. solution x at beginning of iteration

A

supp(x) . . . pattern p 2

slide-70
SLIDE 70

Container building

◮ Consider fract. solution x at beginning of iteration

A

supp(x) container C . . . pattern p 2

slide-71
SLIDE 71

Container building

◮ Consider fract. solution x at beginning of iteration

Lemma

Can reassign containers so that for container C of size sC ∈ [ 1

k, 2 k]: ◮ Each row has∗ AC1 ≥ k1/2 ◮ All entries ≤ k1/4

Deficiency increase is O(1).

∗ modulo technicalities

A

supp(x) container C . . . pattern p 2

slide-72
SLIDE 72

Container building (2)

container: patterns: For each size class [ 1

k, 2 k] (starting with smallest items) do:

slide-73
SLIDE 73

Container building (2)

container: patterns: For each size class [ 1

k, 2 k] (starting with smallest items) do:

(1) Group containers so that AC1 ≥ k1/2 → cost O( k1/2

k )

slide-74
SLIDE 74

Container building (2)

container: patterns: k1/4 k1/4 For each size class [ 1

k, 2 k] (starting with smallest items) do:

(1) Group containers so that AC1 ≥ k1/2 → cost O( k1/2

k )

slide-75
SLIDE 75

Container building (2)

container: patterns: For each size class [ 1

k, 2 k] (starting with smallest items) do:

(1) Group containers so that AC1 ≥ k1/2 → cost O( k1/2

k )

(2) Replace any multiples of k1/4 copies of same container in same pattern by super-container

slide-76
SLIDE 76

Container building (2)

container: patterns: For each size class [ 1

k, 2 k] (starting with smallest items) do:

(1) Group containers so that AC1 ≥ k1/2 → cost O( k1/2

k )

(2) Replace any multiples of k1/4 copies of same container in same pattern by super-container

◮ Deficiency increase: O(k1/2 · 1 k) = Θ( 1 k1/2) for class 1 k.

slide-77
SLIDE 77

Container building (2)

container: patterns: For each size class [ 1

k, 2 k] (starting with smallest items) do:

(1) Group containers so that AC1 ≥ k1/2 → cost O( k1/2

k )

(2) Replace any multiples of k1/4 copies of same container in same pattern by super-container

◮ Deficiency increase: O(k1/2 · 1 k) = Θ( 1 k1/2) for class 1 k. ◮ Over all k: k Θ(k−1/2) = O(1)

slide-78
SLIDE 78

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

A

slide-79
SLIDE 79

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

A

◮ Given: x. Find: y with |( j≤i Aj)(x − y)| small

slide-80
SLIDE 80

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

◮ Given: x. Find: y with |( j≤i Aj)(x − y)| small ◮ Suppose 1 k ≤ si ≤ 2 k

slide-81
SLIDE 81

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

I

◮ Given: x. Find: y with |( j≤i Aj)(x − y)| small ◮ Suppose 1 k ≤ si ≤ 2 k ◮ For interval I ⊆ [n]:

slide-82
SLIDE 82

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

I + 1 0 2 1 1 1 1 1 ) vI = (

◮ Given: x. Find: y with |( j≤i Aj)(x − y)| small ◮ Suppose 1 k ≤ si ≤ 2 k ◮ For interval I ⊆ [n]: vI := i∈I Ai

slide-83
SLIDE 83

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

. . . . . . ← level I vI1 = ck17/16

◮ Given: x. Find: y with |( j≤i Aj)(x − y)| small ◮ Suppose 1 k ≤ si ≤ 2 k ◮ For interval I ⊆ [n]: vI := i∈I Ai

slide-84
SLIDE 84

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

. . . . . . ← level . . . . . . 1 I vI1 = 2−1ck17/16

◮ Given: x. Find: y with |( j≤i Aj)(x − y)| small ◮ Suppose 1 k ≤ si ≤ 2 k ◮ For interval I ⊆ [n]: vI := i∈I Ai

slide-85
SLIDE 85

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

. . . . . . ← level . . . . . . 1 . . . . . . 2 I vI1 = 2−2ck17/16

◮ Given: x. Find: y with |( j≤i Aj)(x − y)| small ◮ Suppose 1 k ≤ si ≤ 2 k ◮ For interval I ⊆ [n]: vI := i∈I Ai

slide-86
SLIDE 86

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

. . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3 I vI1 = 2−3ck17/16

◮ Given: x. Find: y with |( j≤i Aj)(x − y)| small ◮ Suppose 1 k ≤ si ≤ 2 k ◮ For interval I ⊆ [n]: vI := i∈I Ai

slide-87
SLIDE 87

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

. . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3 I vI1 = 2−3ck17/16

◮ Given: x. Find: y with |( j≤i Aj)(x − y)| small ◮ Suppose 1 k ≤ si ≤ 2 k ◮ For interval I ⊆ [n]: vI := i∈I Ai , λI := level(I)

slide-88
SLIDE 88

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

m columns . . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3

◮ Run Partial coloring with vI := i∈I Ai and λI := level(I)

slide-89
SLIDE 89

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

m columns . . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3

◮ Run Partial coloring with vI := i∈I Ai and λI := level(I)

  • I

e−λ2

I/16

slide-90
SLIDE 90

Applying the Partial Coloring Lemma

sum ≤ k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

m columns . . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3

◮ Run Partial coloring with vI := i∈I Ai and λI := level(I)

  • I

e−λ2

I/16 ≤

  • ℓ≥0

k · m ck17/162−ℓ · e−ℓ2/16

slide-91
SLIDE 91

Applying the Partial Coloring Lemma

sum ≤ k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

m columns . . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3

◮ Run Partial coloring with vI := i∈I Ai and λI := level(I)

  • I

e−λ2

I/16 ≤

  • ℓ≥0

k · m ck17/162−ℓ · e−ℓ2/16 ≤ m 100 · k1/16

slide-92
SLIDE 92

Applying the Partial Coloring Lemma

i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

m columns . . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3

◮ Bound error for item i:

|(

  • j≤i

Aj)(x − y)| ≤

slide-93
SLIDE 93

Applying the Partial Coloring Lemma

i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

m columns . . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3 . . .

◮ Bound error for item i:

|(

  • j≤i

Aj)(x − y)| ≤

slide-94
SLIDE 94

Applying the Partial Coloring Lemma

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

m columns . . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3 . . .

◮ Bound error for item i:

|(

  • j≤i

Aj)(x − y)| ≤

  • ℓ≥0

ℓ · vI on level ℓ2

slide-95
SLIDE 95

Applying the Partial Coloring Lemma

vI1 = Θ(k17/16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

m columns . . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3 I

◮ Bound error for item i:

|(

  • j≤i

Aj)(x − y)| ≤

  • ℓ≥0

ℓ · vI on level ℓ2 ≤ O(1) · vI2

slide-96
SLIDE 96

Applying the Partial Coloring Lemma

vI1 = Θ(k17/16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

m columns . . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3 I

◮ Bound error for item i:

|(

  • j≤i

Aj)(x − y)| ≤

  • ℓ≥0

ℓ · vI on level ℓ2 ≤ O(1) · vI2

  • lder

≤ vI1 ·

  • k1/4

k1/2

slide-97
SLIDE 97

Applying the Partial Coloring Lemma

vI1 = Θ(k17/16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

m columns . . . . . . ← level . . . . . . 1 . . . . . . 2 . . . . . . 3 I

◮ Bound error for item i:

|(

  • j≤i

Aj)(x − y)| ≤

  • ℓ≥0

ℓ · vI on level ℓ2 ≤ O(1) · vI2

  • lder

≤ vI1 ·

  • k1/4

k1/2 ≤ O(k15/16)

slide-98
SLIDE 98

The algorithm

(1) Compute a fractional LP solution x (2) FOR log n iterations DO

(3) Rebuild incidence matrix Effect: Rows of A get small · 2-norm (4) Apply Lovett-Meka rounding x → x′ Effect: |frac(x′)| ≤ 1

2 · |frac(x)|

slide-99
SLIDE 99

The algorithm

(1) Compute a fractional LP solution x (2) FOR log n iterations DO

(3) Rebuild incidence matrix Effect: Rows of A get small · 2-norm Deficiency increase: O(1) (4) Apply Lovett-Meka rounding x → x′ Effect: |frac(x′)| ≤ 1

2 · |frac(x)|

slide-100
SLIDE 100

The algorithm

(1) Compute a fractional LP solution x (2) FOR log n iterations DO

(3) Rebuild incidence matrix Effect: Rows of A get small · 2-norm Deficiency increase: O(1) (4) Apply Lovett-Meka rounding x → x′ Effect: |frac(x′)| ≤ 1

2 · |frac(x)|

Deficiency increase:

k O(k15/16) · 1 k = O(1)

slide-101
SLIDE 101

The algorithm

(1) Compute a fractional LP solution x (2) FOR log n iterations DO

(3) Rebuild incidence matrix Effect: Rows of A get small · 2-norm Deficiency increase: O(1) (4) Apply Lovett-Meka rounding x → x′ Effect: |frac(x′)| ≤ 1

2 · |frac(x)|

Deficiency increase:

k O(k15/16) · 1 k = O(1) ◮ Total deficiency increase: O(log n).

slide-102
SLIDE 102

So, what about the ∗ ?

(1) FOR log n iterations DO

(2) For each size class [ 1

k, 2 k] (starting with smallest items):

(3) Group containers so that AC1 ≥ k1/2 (4) Replace any multiples of k1/4 copies of same container in same pattern by super-container

(5) Apply Lovett-Meka rounding x → x′

slide-103
SLIDE 103

So, what about the ∗ ?

(1) FOR log n iterations DO

(2) For each size class [ 1

k, 2 k] (starting with smallest items):

(3) Group containers so that AC1 ≥ k1/2 (4) Replace any multiples of k1/4 copies of same container in same pattern by super-container

(5) Apply Lovett-Meka rounding x → x′

◮ Problem: (4) destroys (3)

slide-104
SLIDE 104

So, what about the ∗ ?

(1) FOR log n iterations DO

(2) For each size class [ 1

k, 2 k] (starting with smallest items):

(3) Group containers so that AC1 ≥ k1/2 (4) Replace any multiples of k1/4 copies of same container in same pattern by super-container

(5) Apply Lovett-Meka rounding x → x′

◮ Problem: (4) destroys (3) ◮ Solution: Define intervals for sizes [ 1 k, 2 k] after (3)

slide-105
SLIDE 105

So, what about the ∗ ?

(1) FOR log n iterations DO

(2) For each size class [ 1

k, 2 k] (starting with smallest items):

(3) Group containers so that AC1 ≥ k1/2 (4) Replace any multiples of k1/4 copies of same container in same pattern by super-container

(5) Apply Lovett-Meka rounding x → x′

◮ Problem: (4) destroys (3) ◮ Solution: Define intervals for sizes [ 1 k, 2 k] after (3) ◮ Problem: Items are counted many times on left side of

∀k :

  • I

e−λ2

I/16 ≤ #incidences of class [ 1

k, 2 k] in A

k17/16

slide-106
SLIDE 106

So, what about the ∗ ?

(1) FOR log n iterations DO

(2) For each size class [ 1

k, 2 k] (starting with smallest items):

(3) Group containers so that AC1 ≥ k1/2 (4) Replace any multiples of k1/4 copies of same container in same pattern by super-container

(5) Apply Lovett-Meka rounding x → x′

◮ Problem: (4) destroys (3) ◮ Solution: Define intervals for sizes [ 1 k, 2 k] after (3) ◮ Problem: Items are counted many times on left side of

∀k :

  • I

e−λ2

I/16 ≤ #incidences of class [ 1

k, 2 k] in A

k17/16

slide-107
SLIDE 107

So, what about the ∗ ?

(1) FOR log n iterations DO

(2) For each size class [ 1

k, 2 k] (starting with smallest items):

(3) Group containers so that AC1 ≥ k1/2 (4) Replace any multiples of k1/4 copies of same container in same pattern by super-container

(5) Apply Lovett-Meka rounding x → x′

◮ Problem: (4) destroys (3) ◮ Solution: Define intervals for sizes [ 1 k, 2 k] after (3) ◮ Problem: Items are counted many times on left side of

∀k :

  • I

e−λ2

I/16 ≤ #incidences of class [ 1

k, 2 k] in A

k17/16

slide-108
SLIDE 108

So, what about the ∗ ?

(1) FOR log n iterations DO

(2) For each size class [ 1

k, 2 k] (starting with smallest items):

(3) Group containers so that AC1 ≥ k1/2 (4) Replace any multiples of k1/4 copies of same container in same pattern by super-container

(5) Apply Lovett-Meka rounding x → x′

◮ Problem: (4) destroys (3) ◮ Solution: Define intervals for sizes [ 1 k, 2 k] after (3) ◮ Problem: Items are counted many times on left side of

∀k :

  • I

e−λ2

I/16 ≤ #incidences of class [ 1

k, 2 k] in A

k17/16

slide-109
SLIDE 109

So, what about the ∗ ?

(1) FOR log n iterations DO

(2) For each size class [ 1

k, 2 k] (starting with smallest items):

(3) Group containers so that AC1 ≥ k1/2 (4) Replace any multiples of k1/4 copies of same container in same pattern by super-container

(5) Apply Lovett-Meka rounding x → x′

◮ Problem: (4) destroys (3) ◮ Solution: Define intervals for sizes [ 1 k, 2 k] after (3) ◮ Problem: Items are counted many times on left side of

∀k :

  • I

e−λ2

I/16 ≤ #incidences of class [ 1

k, 2 k] in A

k17/16

slide-110
SLIDE 110

So, what about the ∗ ?

(1) FOR log n iterations DO

(2) For each size class [ 1

k, 2 k] (starting with smallest items):

(3) Group containers so that AC1 ≥ k1/2 (4) Replace any multiples of k1/4 copies of same container in same pattern by super-container

(5) Apply Lovett-Meka rounding x → x′

◮ Problem: (4) destroys (3) ◮ Solution: Define intervals for sizes [ 1 k, 2 k] after (3) ◮ Problem: Items are counted many times on left side of

∀k :

  • I

e−λ2

I/16 ≤ #incidences of class [ 1

k, 2 k] in A

k17/16

◮ Solution: Use slack!

slide-111
SLIDE 111

The end

Open question I

Close the gap 1 ≤ additive integrality gap ≤ O(log n)

slide-112
SLIDE 112

The end

Open question I

Close the gap 1 ≤ additive integrality gap ≤ O(log n)

Thanks for your attention