An abstract model for branching and its application to Mixed Integer - - PowerPoint PPT Presentation

an abstract model for branching and its application to
SMART_READER_LITE
LIVE PREVIEW

An abstract model for branching and its application to Mixed Integer - - PowerPoint PPT Presentation

An abstract model for branching and its application to Mixed Integer Programming Pierre Le Bodic Joint work with George Nemhauser School of Industrial and Systems Engineering Georgia Institute of Technology Grant FA9550-12-1-0151 of the Air


slide-1
SLIDE 1

An abstract model for branching and its application to Mixed Integer Programming

Pierre Le Bodic

Joint work with George Nemhauser

School of Industrial and Systems Engineering Georgia Institute of Technology

Grant FA9550-12-1-0151 of the Air Force Office of Scientific Research Grant CCF-1415460 of the National Science Foundation

20th Combinatorial Optimization Workshop

1 / 12

slide-2
SLIDE 2

Branch & Bound abstract model for MIP solving

Variable = pair (l, r) of two > 0 integers with l ≤ r B&B tree = binary tree with a variable at each inner node (Absolute) Gap1 closed at a node = value at that node l1 l1 + l2 l1 + l2 + l3 l1 + l2 + r3 l1 + r2 r1 r1 + l3 r1 + r3

1In MIP solvers, the (absolute) gap is the difference between the primal and the dual

bound.

2 / 12

slide-3
SLIDE 3

Branch & Bound abstract model for MIP solving

Variable = pair (l, r) of two > 0 integers with l ≤ r B&B tree = binary tree with a variable at each inner node (Absolute) Gap1 closed at a node = value at that node l1 l1 + l2 l1 + l2 + l3 l1 + l2 + r3 l1 + r2 r1 r1 + l3 r1 + r3

1In MIP solvers, the (absolute) gap is the difference between the primal and the dual

bound.

2 / 12

slide-4
SLIDE 4

Branch & Bound abstract model for MIP solving

Variable = pair (l, r) of two > 0 integers with l ≤ r B&B tree = binary tree with a variable at each inner node (Absolute) Gap1 closed at a node = value at that node l1 l1 + l2 l1 + l2 + l3 l1 + l2 + r3 l1 + r2 r1 r1 + l3 r1 + r3

1In MIP solvers, the (absolute) gap is the difference between the primal and the dual

bound.

2 / 12

slide-5
SLIDE 5

Branch & Bound abstract model for MIP solving

Variable = pair (l, r) of two > 0 integers with l ≤ r B&B tree = binary tree with a variable at each inner node (Absolute) Gap1 closed at a node = value at that node l1 l1 + l2 l1 + l2 + l3 l1 + l2 + r3 l1 + r2 r1 r1 + l3 r1 + r3

1In MIP solvers, the (absolute) gap is the difference between the primal and the dual

bound.

2 / 12

slide-6
SLIDE 6

Branch & Bound abstract model for MIP solving

Variable = pair (l, r) of two > 0 integers with l ≤ r B&B tree = binary tree with a variable at each inner node (Absolute) Gap1 closed at a node = value at that node l1 l1 + l2 l1 + l2 + l3 l1 + l2 + r3 l1 + r2 r1 r1 + l3 r1 + r3

1In MIP solvers, the (absolute) gap is the difference between the primal and the dual

bound.

2 / 12

slide-7
SLIDE 7

Branch & Bound abstract model for MIP solving

Variable = pair (l, r) of two > 0 integers with l ≤ r B&B tree = binary tree with a variable at each inner node (Absolute) Gap1 closed at a node = value at that node Gap closed by the B&B tree = minimum gap at a leaf l1 l1 + l2 l1 + l2 + l3 l1 + l2 + r3 l1 + r2 r1 r1 + l3 r1 + r3

1In MIP solvers, the (absolute) gap is the difference between the primal and the dual

bound.

2 / 12

slide-8
SLIDE 8

Single Variable Branching (SVB)

Input: one variable (l, r), an integer G and an integer k, all positive. Question: Is the size of the Branch & Bound tree that closes the gap G, repeatedly using the given variable, at most k?

3 / 12

slide-9
SLIDE 9

Single Variable Branching (SVB)

Input: one variable (l, r), an integer G and an integer k, all positive. Question: Is the size of the Branch & Bound tree that closes the gap G, repeatedly using the given variable, at most k? Example: variable (2, 5) and gap G = 6. 2 4 6 9 7 5 7 10 Treesize = 9

3 / 12

slide-10
SLIDE 10

Motivation: state-of-the-art scoring functions

At a given node, we have to branch on a variable given mutliple variables x with gains (lx, rx). ⇒ scoring functions 10 10 2 50 x1 = 0 x1 = 1 x2 = 0 x2 = 1

4 / 12

slide-11
SLIDE 11

Motivation: state-of-the-art scoring functions

At a given node, we have to branch on a variable given mutliple variables x with gains (lx, rx). ⇒ scoring functions 10 10 2 50 x1 = 0 x1 = 1 x2 = 0 x2 = 1 Linear function: (1 − µ) × lx + µ × rx

  • µ = 1

6

  • 4 / 12
slide-12
SLIDE 12

Motivation: state-of-the-art scoring functions

At a given node, we have to branch on a variable given mutliple variables x with gains (lx, rx). ⇒ scoring functions 10 10 2 50 x1 = 0 x1 = 1 x2 = 0 x2 = 1 Linear function: (1 − µ) × lx + µ × rx

  • µ = 1

6

  • Product function:

lx × rx

4 / 12

slide-13
SLIDE 13

Motivation: state-of-the-art scoring functions

At a given node, we have to branch on a variable given mutliple variables x with gains (lx, rx). ⇒ scoring functions 10 10 2 50 x1 = 0 x1 = 1 x2 = 0 x2 = 1 Linear function: (1 − µ) × lx + µ × rx

  • µ = 1

6

  • Product function:

lx × rx −34% nodes −14% time

4 / 12

slide-14
SLIDE 14

Motivation: state-of-the-art scoring functions

At a given node, we have to branch on a variable given mutliple variables x with gains (lx, rx). ⇒ scoring functions 10 10 2 50 x1 = 0 x1 = 1 x2 = 0 x2 = 1 Linear function: (1 − µ) × lx + µ × rx

  • µ = 1

6

  • Product function:

lx × rx −34% nodes −14% time Variables (10, 10) and (2, 50) have the same score for both functions!

4 / 12

slide-15
SLIDE 15

Motivation: variable (10, 10) vs (2, 49) for SVB

The linear and product functions both score (10, 10) higher than (2, 49). 10 20 20 10 20 20 2 4 51 49 51 98

5 / 12

slide-16
SLIDE 16

Motivation: variable (10, 10) vs (2, 49) for SVB

The linear and product functions both score (10, 10) higher than (2, 49). 10 20 20 10 20 20 2 4 51 49 51 98

10 20 30 40 20 40 gap treesize

5 / 12

slide-17
SLIDE 17

Motivation: variable (10, 10) vs (2, 49) for SVB

The linear and product functions both score (10, 10) higher than (2, 49). 10 20 20 10 20 20 2 4 51 49 51 98

10 20 30 40 20 40 gap treesize 20 40 60 80 100 1,000 2,000 gap

5 / 12

slide-18
SLIDE 18

Motivation: variable (10, 10) vs (2, 49) for SVB

The linear and product functions both score (10, 10) higher than (2, 49). 10 20 20 10 20 20 2 4 51 49 51 98

10 20 30 40 20 40 gap treesize 20 40 60 80 100 1,000 2,000 gap

At gap G = 1000, the relative difference in treesize is 323 millions.

5 / 12

slide-19
SLIDE 19

Complexity results for SVB

Notation

t(G) = treesize to close G with (l, r) Is t(G) ≤ k?

6 / 12

slide-20
SLIDE 20

Complexity results for SVB

Notation

t(G) = treesize to close G with (l, r) Is t(G) ≤ k?

Recursion

t(G) =

  • 1

if G ≤ 0 1 + t(G − l) + t(G − r)

  • therwise

Pseudo-polynomial!

6 / 12

slide-21
SLIDE 21

Complexity results for SVB

Notation

t(G) = treesize to close G with (l, r) Is t(G) ≤ k?

Recursion

t(G) =

  • 1

if G ≤ 0 1 + t(G − l) + t(G − r)

  • therwise

Pseudo-polynomial!

Closed-form formula (CFF)

t(G) = 1 + 2 ×

⌈ G

r ⌉

  • h=1

h + ⌈ G−(h−1)×r

l

⌉ − 1 h

  • O(log2(k)) is polynomial, but still big in practice!

6 / 12

slide-22
SLIDE 22

Asymptotic case results for SVB

◮ For large G’s we would like to have a ratio ϕ ≈ t(G+1) t(G)

7 / 12

slide-23
SLIDE 23

Asymptotic case results for SVB

◮ For large G’s we would like to have a ratio ϕ ≈ t(G+1) t(G) ◮ The above does not converge. We give a converging definition:

ϕ = lim

G→∞

l

  • t(G + l)

t(G) ϕ is the unique > 1 root of the polynomial p(x) = xr − xr−l − 1

7 / 12

slide-24
SLIDE 24

Asymptotic case results for SVB

◮ For large G’s we would like to have a ratio ϕ ≈ t(G+1) t(G) ◮ The above does not converge. We give a converging definition:

ϕ = lim

G→∞

l

  • t(G + l)

t(G) ϕ is the unique > 1 root of the polynomial p(x) = xr − xr−l − 1

◮ For G ≥ F, we have

t(G) ≈ ϕG−Ft(F)

7 / 12

slide-25
SLIDE 25

Asymptotic case results for SVB

◮ For large G’s we would like to have a ratio ϕ ≈ t(G+1) t(G) ◮ The above does not converge. We give a converging definition:

ϕ = lim

G→∞

l

  • t(G + l)

t(G) ϕ is the unique > 1 root of the polynomial p(x) = xr − xr−l − 1

◮ For G ≥ F, we have

t(G) ≈ ϕG−Ft(F)

◮ Given two variables x and y and a “large” G, ϕx < ϕy implies that

branching on x leads to a smaller treesize.

7 / 12

slide-26
SLIDE 26

Single Variable Branching

(10, 10), (2, 49)

10 20 30 40 20 40 gap tree-size 20 40 60 80 100 1,000 2,000 gap

ϕ(10,10) ≈ 1.071, ϕ(2,49) ≈ 1.049

8 / 12

slide-27
SLIDE 27

Multiple Variable Branching

(10, 10), (2, 49), (2, 49) or (10, 10)

10 20 30 40 20 40 gap tree-size 20 40 60 80 100 1,000 2,000 gap

ϕ(10,10) ≈ 1.071, ϕ(2,49) ≈ 1.049

8 / 12

slide-28
SLIDE 28

Multiple Variable Branching

(10, 10), (2, 49), (2, 49) or (10, 10)

10 20 30 40 20 40 gap tree-size 20 40 60 80 100 1,000 2,000 gap

ϕ(10,10) ≈ 1.071, ϕ(2,49) ≈ 1.049

◮ For a gap of G = 1000, only a relative difference of 1.798 between

red and green treesizes.

8 / 12

slide-29
SLIDE 29

Multiple Variable Branching

(10, 10), (2, 49), (2, 49) or (10, 10)

10 20 30 40 20 40 gap tree-size 20 40 60 80 100 1,000 2,000 gap

ϕ(10,10) ≈ 1.071, ϕ(2,49) ≈ 1.049

◮ For a gap of G = 1000, only a relative difference of 1.798 between

red and green treesizes.

◮ Variable (2, 49) is branched on at every node where the gap left to

close is at least 31.

8 / 12

slide-30
SLIDE 30

Multiple Variable Branching (MVB)

Input: n variables (li, ri), i = 1, . . . , n, an integer G > 0, an integer k > 0. Question: Is there a Branch & Bound tree with at most k nodes that closes the gap G, using each variable as many times as needed? t(G) =    1 if G ≤ 0 1 + min

1≤i≤n (t(G − li) + t(G − ri))

  • therwise

We do not know if there exists a poly-time algorithm!

9 / 12

slide-31
SLIDE 31

Multiple Variable Branching (MVB)

Input: n variables (li, ri), i = 1, . . . , n, an integer G > 0, an integer k > 0. Question: Is there a Branch & Bound tree with at most k nodes that closes the gap G, using each variable as many times as needed? t(G) =    1 if G ≤ 0 1 + min

1≤i≤n (t(G − li) + t(G − ri))

  • therwise

We do not know if there exists a poly-time algorithm! We define: ϕ = lim

G→∞

z

  • t(G + z)

t(G) where z is the least common multiple of all li and ri.

9 / 12

slide-32
SLIDE 32

Multiple Variable Branching (MVB)

Input: n variables (li, ri), i = 1, . . . , n, an integer G > 0, an integer k > 0. Question: Is there a Branch & Bound tree with at most k nodes that closes the gap G, using each variable as many times as needed? t(G) =    1 if G ≤ 0 1 + min

1≤i≤n (t(G − li) + t(G − ri))

  • therwise

We do not know if there exists a poly-time algorithm! We define: ϕ = lim

G→∞

z

  • t(G + z)

t(G) where z is the least common multiple of all li and ri. ϕ = min

i

ϕi where ϕi is the SVB ratio of variable i.

9 / 12

slide-33
SLIDE 33

Multiple Variable Branching (MVB)

Input: n variables (li, ri), i = 1, . . . , n, an integer G > 0, an integer k > 0. Question: Is there a Branch & Bound tree with at most k nodes that closes the gap G, using each variable as many times as needed? t(G) =    1 if G ≤ 0 1 + min

1≤i≤n (t(G − li) + t(G − ri))

  • therwise

We do not know if there exists a poly-time algorithm! We define: ϕ = lim

G→∞

z

  • t(G + z)

t(G) where z is the least common multiple of all li and ri. ϕ = min

i

ϕi where ϕi is the SVB ratio of variable i. For G ≥ F, we have t(G) ≈ ϕG−Ft(F)

9 / 12

slide-34
SLIDE 34

General Variable Branching (GVB)

Input: n variables (li, ri), i = 1, . . . , n, an integer G > 0, an integer k > 0. Question: Is there a Branch & Bound tree with at most k nodes that closes the gap G, branching on each variable i at most once on each path from the root to a leaf?

10 / 12

slide-35
SLIDE 35

General Variable Branching (GVB)

Input: n variables (li, ri), i = 1, . . . , n, an integer G > 0, an integer k > 0. Question: Is there a Branch & Bound tree with at most k nodes that closes the gap G, branching on each variable i at most once on each path from the root to a leaf?

GVB models B&B in MIP solvers under two hypotheses

◮ In GVB the primal gap is considered to be 0 ◮ LP gains are fixed and known

10 / 12

slide-36
SLIDE 36

General Variable Branching (GVB)

Input: n variables (li, ri), i = 1, . . . , n, an integer G > 0, an integer k > 0. Question: Is there a Branch & Bound tree with at most k nodes that closes the gap G, branching on each variable i at most once on each path from the root to a leaf?

GVB models B&B in MIP solvers under two hypotheses

◮ In GVB the primal gap is considered to be 0 ◮ LP gains are fixed and known

Complexity of GVB

◮ is #P-hard (#Knapsack reduction) ◮ Under the conjecture that the Polynomial Hierarchy is proper, this

implies that GVB is not in NP or co-NP

10 / 12

slide-37
SLIDE 37

Numerical results: summary

General improvements in time and node

◮ ∼ 5% in B&B simulations for large gaps ◮ ∼ 2% on MIPLIB “benchmark” instances ◮ ∼ 5% on MIPLIB “tree” test set

11 / 12

slide-38
SLIDE 38

Why read the paper?

◮ One of the first theoretical studies of B&B ◮ Open complexity and approximation problems ◮ Many possible extensions ◮ Theory that yields direct experimental improvements

http://www.optimization-online.org/DB HTML/2015/11/5188.html http://arxiv.org/abs/1511.01818

12 / 12