an abstract model for branching and its application to
play

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


  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 20 th Combinatorial Optimization Workshop 1 / 12

  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) Gap 1 closed at a node = value at that node 0 r 1 l 1 r 1 + r 3 l 1 + l 2 l 1 + r 2 r 1 + l 3 l 1 + l 2 + l 3 l 1 + l 2 + r 3 1 In MIP solvers, the (absolute) gap is the difference between the primal and the dual bound. 2 / 12

  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) Gap 1 closed at a node = value at that node 0 r 1 l 1 r 1 + r 3 l 1 + l 2 l 1 + r 2 r 1 + l 3 l 1 + l 2 + l 3 l 1 + l 2 + r 3 1 In MIP solvers, the (absolute) gap is the difference between the primal and the dual bound. 2 / 12

  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) Gap 1 closed at a node = value at that node 0 r 1 l 1 r 1 + r 3 l 1 + l 2 l 1 + r 2 r 1 + l 3 l 1 + l 2 + l 3 l 1 + l 2 + r 3 1 In MIP solvers, the (absolute) gap is the difference between the primal and the dual bound. 2 / 12

  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) Gap 1 closed at a node = value at that node 0 r 1 l 1 r 1 + r 3 l 1 + l 2 l 1 + r 2 r 1 + l 3 l 1 + l 2 + l 3 l 1 + l 2 + r 3 1 In MIP solvers, the (absolute) gap is the difference between the primal and the dual bound. 2 / 12

  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) Gap 1 closed at a node = value at that node 0 r 1 l 1 r 1 + r 3 l 1 + l 2 l 1 + r 2 r 1 + l 3 l 1 + l 2 + l 3 l 1 + l 2 + r 3 1 In MIP solvers, the (absolute) gap is the difference between the primal and the dual bound. 2 / 12

  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) Gap 1 closed at a node = value at that node Gap closed by the B&B tree = minimum gap at a leaf 0 r 1 l 1 r 1 + r 3 l 1 + l 2 l 1 + r 2 r 1 + l 3 l 1 + l 2 + l 3 l 1 + l 2 + r 3 1 In MIP solvers, the (absolute) gap is the difference between the primal and the dual bound. 2 / 12

  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

  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. 0 2 5 4 7 7 10 6 9 Treesize = 9 3 / 12

  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 ( l x , r x ). ⇒ scoring functions 0 0 x 1 = 0 x 1 = 1 x 2 = 0 x 2 = 1 10 10 2 50 4 / 12

  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 ( l x , r x ). ⇒ scoring functions 0 0 x 1 = 0 x 1 = 1 x 2 = 0 x 2 = 1 10 10 2 50 Linear function: � � µ = 1 (1 − µ ) × l x + µ × r x 6 4 / 12

  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 ( l x , r x ). ⇒ scoring functions 0 0 x 1 = 0 x 1 = 1 x 2 = 0 x 2 = 1 10 10 2 50 Linear function: � � µ = 1 (1 − µ ) × l x + µ × r x 6 Product function: l x × r x 4 / 12

  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 ( l x , r x ). ⇒ scoring functions 0 0 x 1 = 0 x 1 = 1 x 2 = 0 x 2 = 1 10 10 2 50 Linear function: � � µ = 1 (1 − µ ) × l x + µ × r x 6 − 34% nodes Product function: − 14% time l x × r x 4 / 12

  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 ( l x , r x ). ⇒ scoring functions 0 0 x 1 = 0 x 1 = 1 x 2 = 0 x 2 = 1 10 10 2 50 Linear function: � � µ = 1 (1 − µ ) × l x + µ × r x 6 − 34% nodes Product function: − 14% time l x × r x Variables (10 , 10) and (2 , 50) have the same score for both functions! 4 / 12

  15. Motivation: variable (10 , 10) vs (2 , 49) for SVB The linear and product functions both score (10 , 10) higher than (2 , 49). 0 0 10 10 2 49 20 20 20 20 4 51 51 98 5 / 12

  16. Motivation: variable (10 , 10) vs (2 , 49) for SVB The linear and product functions both score (10 , 10) higher than (2 , 49). 0 0 10 10 2 49 20 20 20 20 4 51 51 98 40 treesize 20 0 0 10 20 30 40 gap 5 / 12

  17. Motivation: variable (10 , 10) vs (2 , 49) for SVB The linear and product functions both score (10 , 10) higher than (2 , 49). 0 0 10 10 2 49 20 20 20 20 4 51 51 98 2 , 000 40 treesize 1 , 000 20 0 0 0 10 20 30 40 0 20 40 60 80 100 gap gap 5 / 12

  18. Motivation: variable (10 , 10) vs (2 , 49) for SVB The linear and product functions both score (10 , 10) higher than (2 , 49). 0 0 10 10 2 49 20 20 20 20 4 51 51 98 2 , 000 40 treesize 1 , 000 20 0 0 0 10 20 30 40 0 20 40 60 80 100 gap gap At gap G = 1000, the relative difference in treesize is 323 millions . 5 / 12

  19. Complexity results for SVB Notation t ( G ) = treesize to close G with ( l , r ) Is t ( G ) ≤ k ? 6 / 12

  20. Complexity results for SVB Notation t ( G ) = treesize to close G with ( l , r ) Is t ( G ) ≤ k ? Recursion � 1 if G ≤ 0 t ( G ) = 1 + t ( G − l ) + t ( G − r ) otherwise Pseudo-polynomial! 6 / 12

  21. Complexity results for SVB Notation t ( G ) = treesize to close G with ( l , r ) Is t ( G ) ≤ k ? Recursion � 1 if G ≤ 0 t ( G ) = 1 + t ( G − l ) + t ( G − r ) otherwise Pseudo-polynomial! Closed-form formula (CFF) ⌈ G r ⌉ � h + ⌈ G − ( h − 1) × r � ⌉ − 1 � l t ( G ) = 1 + 2 × h h =1 O (log 2 ( k )) is polynomial, but still big in practice! 6 / 12

  22. Asymptotic case results for SVB ◮ For large G ’s we would like to have a ratio ϕ ≈ t ( G +1) t ( G ) 7 / 12

  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: � t ( G + l ) l ϕ = lim t ( G ) G →∞ ϕ is the unique > 1 root of the polynomial p ( x ) = x r − x r − l − 1 7 / 12

  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: � t ( G + l ) l ϕ = lim t ( G ) G →∞ ϕ is the unique > 1 root of the polynomial p ( x ) = x r − x r − l − 1 ◮ For G ≥ F , we have t ( G ) ≈ ϕ G − F t ( F ) 7 / 12

  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: � t ( G + l ) l ϕ = lim t ( G ) G →∞ ϕ is the unique > 1 root of the polynomial p ( x ) = x r − x r − l − 1 ◮ For G ≥ F , we have t ( G ) ≈ ϕ G − F t ( 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

  26. Single Variable Branching (10 , 10), (2 , 49) 2 , 000 40 tree-size 1 , 000 20 0 0 0 10 20 30 40 0 20 40 60 80 100 gap gap ϕ (10 , 10) ≈ 1 . 071 , ϕ (2 , 49) ≈ 1 . 049 8 / 12

  27. Multiple Variable Branching (10 , 10), (2 , 49), (2 , 49) or (10 , 10) 2 , 000 40 tree-size 1 , 000 20 0 0 0 10 20 30 40 0 20 40 60 80 100 gap gap ϕ (10 , 10) ≈ 1 . 071 , ϕ (2 , 49) ≈ 1 . 049 8 / 12

  28. Multiple Variable Branching (10 , 10), (2 , 49), (2 , 49) or (10 , 10) 2 , 000 40 tree-size 1 , 000 20 0 0 0 10 20 30 40 0 20 40 60 80 100 gap 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

  29. Multiple Variable Branching (10 , 10), (2 , 49), (2 , 49) or (10 , 10) 2 , 000 40 tree-size 1 , 000 20 0 0 0 10 20 30 40 0 20 40 60 80 100 gap 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

Recommend


More recommend