AM 121: Intro to Optimization! Models and Methods! Fall 2018!

Similar documents
Section #2: Linear and Integer Programming

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009

AM 121: Intro to Optimization! Models and Methods! Fall 2018!

Decision Procedures An Algorithmic Point of View

Math Models of OR: Branch-and-Bound

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting

Integer Programming. Wolfram Wiesemann. December 6, 2007

AM 121: Intro to Optimization Models and Methods

SOLVING INTEGER LINEAR PROGRAMS. 1. Solving the LP relaxation. 2. How to deal with fractional solutions?

The CPLEX Library: Mixed Integer Programming

AM 121: Intro to Optimization Models and Methods Fall 2018

Integer Programming Part II

Operations Research Lecture 6: Integer Programming

Integer Programming ISE 418. Lecture 16. Dr. Ted Ralphs

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

AM 121: Intro to Optimization

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2

Linear integer programming and its application

IE418 Integer Programming

Integer Programming Methods LNMB

PART 4 INTEGER PROGRAMMING

where X is the feasible region, i.e., the set of the feasible solutions.

23. Cutting planes and branch & bound

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

Introduction to Integer Linear Programming

AM 121: Intro to Optimization Models and Methods Fall 2018

LP Relaxations of Mixed Integer Programs

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Introduction to Integer Programming

DM545 Linear and Integer Programming. Lecture 13 Branch and Bound. Marco Chiarandini

Integer Programming: Cutting Planes

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

min3x 1 + 4x 2 + 5x 3 2x 1 + 2x 2 + x 3 6 x 1 + 2x 2 + 3x 3 5 x 1, x 2, x 3 0.

Integer and Combinatorial Optimization: Introduction

Dual bounds: can t get any better than...

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)

Disconnecting Networks via Node Deletions

Advanced linear programming

Multiobjective Mixed-Integer Stackelberg Games

Decision Diagram Relaxations for Integer Programming

Integer Programming and Branch and Bound

Hands-on Tutorial on Optimization F. Eberle, R. Hoeksma, and N. Megow September 26, Branch & Bound

Part 4. Decomposition Algorithms

Interior-Point versus Simplex methods for Integer Programming Branch-and-Bound

Linear and Integer Programming - ideas

Lagrangian Relaxation in MIP

THE EXISTENCE AND USEFULNESS OF EQUALITY CUTS IN THE MULTI-DEMAND MULTIDIMENSIONAL KNAPSACK PROBLEM LEVI DELISSA. B.S., Kansas State University, 2014

Asymptotic Polynomial-Time Approximation (APTAS) and Randomized Approximation Algorithms

Basic notions of Mixed Integer Non-Linear Programming

Computational Integer Programming Universidad de los Andes. Lecture 1. Dr. Ted Ralphs

Lecture 9: Dantzig-Wolfe Decomposition

Discrete (and Continuous) Optimization WI4 131

Learning to Branch. Ellen Vitercik. Joint work with Nina Balcan, Travis Dick, and Tuomas Sandholm. Published in ICML 2018

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique.

INTEGER PROGRAMMING. In many problems the decision variables must have integer values.

Integer Programming ISE 418. Lecture 12. Dr. Ted Ralphs

Linear Programming. Scheduling problems

Orbital Conflict. Jeff Linderoth. Jim Ostrowski. Fabrizio Rossi Stefano Smriglio. When Worlds Collide. Univ. of Wisconsin-Madison

MINLP: Theory, Algorithms, Applications: Lecture 3, Basics of Algorothms

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms

Andrew/CS ID: Midterm Solutions, Fall 2006

Feasibility Pump Heuristics for Column Generation Approaches

If the above problem is hard to solve, we might try to break it into smaller problems which are easier to solve.

Stochastic Integer Programming

Introduction to integer programming II

Introduction to Mathematical Programming IE406. Lecture 10. Dr. Ted Ralphs

Gestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA

A Branch-and-Refine Method for Nonconvex Mixed-Integer Optimization

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

CS Algorithms and Complexity

Probabilistic Graphical Models

Benders' Method Paul A Jensen

Duality, Warm Starting, and Sensitivity Analysis for MILP

A Branch and Bound Algorithm for the Project Duration Problem Subject to Temporal and Cumulative Resource Constraints

Improving Branch-And-Price Algorithms For Solving One Dimensional Cutting Stock Problem

Scenario Grouping and Decomposition Algorithms for Chance-constrained Programs

Lecture 8: Column Generation

Integer Programming. The focus of this chapter is on solution techniques for integer programming models.

SUNS: A NEW CLASS OF FACET DEFINING STRUCTURES FOR THE NODE PACKING POLYHEDRON CHELSEA NICOLE IRVINE. B.S., Kansas State University, 2012

RLT-POS: Reformulation-Linearization Technique (RLT)-based Optimization Software for Polynomial Programming Problems

Computational Mixed-Integer Programming

Strengthened Benders Cuts for Stochastic Integer Programs with Continuous Recourse

SYNCHRONIZED SIMULTANEOUS APPROXIMATE LIFTING FOR THE MULTIPLE KNAPSACK POLYTOPE THOMAS BRADEN MORRISON. B.S., Kansas State University, 2012

3.10 Lagrangian relaxation

Duality of LPs and Applications

Lecture 8: Column Generation

BBM402-Lecture 20: LP Duality

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Lagrangean relaxation

Stochastic Decision Diagrams

Planning and Optimization

Optimization Methods in Finance - Homework II (Solutions)

and to estimate the quality of feasible solutions I A new way to derive dual bounds:

Simplex Method for LP (II)

MDD-based Postoptimality Analysis for Mixed-integer Programs

Discrete Optimization 2010 Lecture 8 Lagrangian Relaxation / P, N P and co-n P

Transcription:

AM 121: Intro to Optimization Models and Methods Fall 2018 Lecture 13: Branch and Bound (I) Yiling Chen SEAS Example: max 5x 1 + 8x 2 s.t. x 1 + x 2 6 5x 1 + 9x 2 45 x 1, x 2 0, integer 1

x 2 6 5 x 1 +x 2 =6 IP optimal 4 LP optimal x=(2.25, 3.75) z=41.25 2 5x 1 +9x 2 =45 0 0 2 4 6 9 x 1 Lesson Plan: Solving IPs LP relaxations The branch and bound method Correctness of BnB Jensen & Bard: 8.3 2

LP Relaxations A polyhedron is a set that can be described in the form P = {x R n : Ax b} 2 The feasible set of any LP can be described as a polyhedron. Definition. The LP relaxation of an integer program replaces all integer variables with continuous variables. Definition. The polyhedron (P) of an IP is the feasible region for the LP relaxation. LP Relaxations (IP) z = max {c T x: Ax b, x 0, x integer} Write this as z = max {c T x: x 2P, x integer} Let S = P \ Z n (Z = integers) denote the feasible solution set of the IP Defn. The polyhedron of an IP is: P={x 2 R n : Ax b, x 0}. Linear programming relaxation (LPR) of IP is z LP = max{c T x: x 2P} 3

Example 1 (LPR) max 7x 1 +4x 2 +5x 3 +2x 4 s.t. 3x 1 +3x 2 +4x 3 +2x 4 6 x 2 {0,1} 4 P={x 2 R 4 : 3x 1 +3x 2 +4x 3 + 2x 4 6, x 0, x 1} Solution to LPR is x LP =(1,1,0,0) Integral è also a solution to IP. Let S denote feasible solution space of IP Example 2 (LPR) z=max 4x 1 - x 2 s.t. 7x 1-2x 2 14 Let S denote feasible solution space of IP x 2 3 2x 1-2x 2 3 x 1, x 2 0, integer Feasible solution: x=(2,1), so 7 z. Solve LPR: x LP =(20/7, 3), z LP =59/7 =8.42 Conclude: z 8.42 4

Example of Branch and Bound max 5x 1 + 8x 2 s.t. x 1 + x 2 6 5x 1 + 9x 2 45 x 1, x 2 0, integer S 0 41.25 x 2 3 x 2 4 S 1 S 2 2 x *1 =(3,3) 37 x 2 4 40 5/9 x 1 1 41 x 1 2 S 3 3 S 4 4 x 2 5 S 5 5 S 6 6 37 fathom by bound 40 40 solved x *6 =(0,5) infeas best soln upper bound S 0 : (2.25, 3.75) -, 41.25 fractional, branch on x 2 S 1 : (3,3) 39, 41.25 fathom by integrality new solution S 2 : (1.8, 4) 39, 41 fractional, branch on x 1 S 3 : (1, 4 4/9) 39, 41 fractional, branch on x 2 S 5 : (1,4) 39, 41 fathom by bound S 6 : (0,5) 40, 41 fathom by integrality new solution S 4 : infeasible 40, 40 fathom by infeasibility 5

Branch and Bound Solve LP relaxation and branch if solution is not integral. Generate subproblems. If value of LPR of subproblems is smaller than best integer solution so far then can avoid solving subproblem ( prune by bound. ) Example: max 5x 1 + 8x 2 s.t. x 1 + x 2 6 5x 1 + 9x 2 45 x 1, x 2 0, integer x 2 6 5 x 1 +x 2 =6 IP optimal 4 LP optimal x 0 =(2.25, 3.75) z 0 =41.25 2 5x 1 +9x 2 =45 0 0 2 4 6 9 x 1 6

Let S 0 denote feasible solution space of IP Consider LP relaxation. Let P 0 ={x 2R 2 : x 1 +x 2 6, 5x 1 +9x 2 45,x 0}. z 0 =41.25, x 0 =(2.25,3.75) Variable x 2 should be integer, and so valid to consider subproblems with x 2 3 and x 2 4. Branch \ \ Let S 1 denote S 0 {x 2 3}. Let S 2 denote S 0 {x 2 4}. x 2 6 x 1 +x 2 =6 5 4 P 2 2 P 1 5x 1 +9x 2 =45 0 0 2 4 6 9 x 1 7

Two new IPs, with solution spaces S 1 and S 2. We have S 1 [ S 2 = S and S 1 \ S 2 =. Call S 1 and S 2 subproblems, and this process branching. Consider S 1 first. Optimal solution to LP(S 1 ) is x 1 =(3,3), z 1 =39. Our first feasible solution; write x *1 =(3,3), z *1 =39. Maintain an incumbent, z:=max(z, z *1 ) = max(- 1,39) = 39, and x:=x *1 =(3,3). ; Now consider S 2. Optimal solution to LP(S 2 ) is fractional. x 2 =(1.8, 4), z 2 =41 z 2 > z = 39 and so S 2 could include a better IP solution than incumbent. Branch again \ \ S 3 = S 0 {x 2 4, x 1 1} S 4 = S 0 {x 2 4, x 1 2} S=S 1 S 3 S 4, S 1 S 3 S 4 = ; [ [ \ \ 8

Develop a search tree of subproblems S 0 41.25 x 2 3 x 2 4 S 1 S 2 solved x 1 1 41 x 1 2 x *1 =(3,3) S 3 S 4 x 2 6 x 1 +x 2 =6 5 P 4 4 4 P 3 2 P 1 5x 1 +9x 2 =45 0 0 2 4 6 9 x 1 9

Consider left branch. Solve LP(S 3 ) x 3 =(1, 4 4/9), z 3 = 40 5/9 z 3 > z = 39. Branch again \ \ \ \ S 5 = S 0 {x 2 4, x 1 1, x 2 4} = S 0 {x 1 1, x 2 =4} S 6 = S 0 {x 2 4, x 1 1, x 2 5} = S 0 {x 1 1, x 2 5} S 0 41.25 x 2 3 x 2 4 S 1 S 2 41 solved x 1 1 x 1 2 x *1 =(3,3) 40 5/9 S 3 S 4 x 2 4 x 2 5 S 5 S 6 10

Have 3 possible directions. Could consider subproblems S 4, S 5 or S 6 Suppose depth first search: consider a child of the most recently considered subproblem. Take the left branch. Solve LP(S 5 ). x 5 = (1,4), z 5 = 37 z 5 z = 39. Can prune S 5 ; best possible soln. is bounded above by 37. This node is fathomed by bound. Branch and bound x 2 6 x 1 +x 2 =6 5 4 P 6 P 5 P 4 4 2 P 1 5x 1 +9x 2 =45 0 0 2 4 6 9 x 1 11

S 0 41.25 x 2 3 x 2 4 S 1 S 2 41 solved x 1 1 x 1 2 x *1 =(3,3) 40 5/9 S 3 S 4 x 2 4 x 2 5 37 S 5 S 6 37 pruned by bound Now at a leaf. Because using DFS order, we back-up and find the first node with an unsolved problem. Right branch under S 3 (i.e., S 6 ). Solve LP(S 6 ) z 6 =40, x 6 =(0,5). Another feasible solution Have: z *6 =40, x *6 =(0,5) z:=max(z,z * 6 ) =max(39,40)=40, x:=(0,5). New incumbent solution. Last step: Solve S 4. LP(S 4 ) is infeasible. 12

x 2 6 x 1 +x 2 =6 5 4 P 6 P 5 P 4 4 2 P 1 5x 1 +9x 2 =45 0 0 2 4 6 9 x 1 Final search tree. Completely fathomed (or solved ) S 0 41.25 x 2 3 x 2 4 S 1 S 2 41 solved x 1 1 x 1 2 x *1 =(3,3) 40 5/9 S 3 S 4 -infty x 2 4 x 2 5 infeasible 37 S 5 S 6 37 fathom by bound 40 40 solved x *6 =(0,5) 13

No branches left to explore. Conclude that x * =x=(0,5), z * =z=40 is the optimal solution. Review max 5x 1 + 8x 2 s.t. x 1 + x 2 6 5x 1 + 9x 2 45 x 1, x 2 0, integer 14

S 0 x 2 3 x 2 4 best soln upper bound S 0 : (2.25, 3.75) -, 41.25 41.25 fractional, branch on x 2 S 1 S 2 41.25 x 2 3 x 2 4 S 1 solved x *1 =(3,3) S 0 S 2 best soln upper bound S 0 : (2.25, 3.75) -, 41.25 fractional, branch on x 2 S 1 : (3,3) 39, 41.25 fathom by integrality new solution 15

41.25 x 2 3 x 2 4 S 1 S 2 2 41 x 1 1 x 1 2 solved x *1 =(3,3) S 0 best soln upper bound S 0 : (2.25, 3.75) -, 41.25 fractional, branch on x 2 S 1 : (3,3) 39, 41.25 fathom by integrality new solution S 2 : (1.8, 4) 39, 41 fractional, branch on x 1 S 3 S 4 41.25 x 2 3 x 2 4 S 1 solved x *1 =(3,3) S 0 x 1 1 40 5/9 S 3 3 S 2 2 41 x 1 2 S 4 best soln upper bound S 0 : (2.25, 3.75) -, 41.25 fractional, branch on x 2 S 1 : (3,3) 39, 41.25 fathom by integrality new solution S 2 : (1.8, 4) 39, 41 fractional, branch on x 1 S 3 : (1, 4 4/9) 39, 41 fractional, branch on x 2 x 2 4 x 2 5 S 5 S 6 16

S 0 41.25 x 2 3 x 2 4 S 1 solved x *1 =(3,3) 40 5/9 S3 x 1 1 S 2 41 x 1 2 S 3 S 4 4 best soln upper bound S 0 : (2.25, 3.75) -, 41.25 fractional, branch on x 2 S 1 : (3,3) 39, 41.25 fathom by integrality new solution S 2 : (1.8, 4) 39, 41 fractional, branch on x 1 S 3 : (1, 4 4/9) 39, 41 fractional, branch on x 2 S 5 : (1,4) 39, 41 fathom by bound x 2 4 x 2 5 37 S 5 37 fathom by bound S 5 S 6 41.25 x 2 3 x 2 4 S 1 solved x *1 =(3,3) 40 5/9 S3 37 x 2 4 S 0 x 1 1 41 x 1 2 S 3 S 4 4 x 2 5 S 5 5 S 6 6 37 fathom by bound S 2 40 40 solved x *6 =(0,5) best soln upper bound S 0 : (2.25, 3.75) -, 41.25 fractional, branch on x 2 S 1 : (3,3) 39, 41.25 fathom by integrality new solution S 2 : (1.8, 4) 39, 41 fractional, branch on x 1 S 3 : (1, 4 4/9) 39, 41 fractional, branch on x 2 S 5 : (1,4) 39, 41 fathom by bound S 6 : (0,5) 40, 41 fathom by integrality new solution 17

S 0 41.25 x 2 3 x 2 4 S 1 S 2 2 solved x *1 =(3,3) 37 x 2 4 40 5/9 x 1 1 41 x 1 2 S 3 3 S 4 4 x 2 5 S 5 5 S 6 6 37 fathom by bound 40 40 solved x *6 =(0,5) best soln upper bound S 0 : (2.25, 3.75) -, 41.25 fractional, branch on x 2 S 1 : (3,3) 39, 41.25 fathom by integrality new solution S 2 : (1.8, 4) 39, 41 fractional, branch on x 1 S 3 : (1, 4 4/9) 39, 41 fractional, branch on x 2 S 5 : (1,4) 39, 41 fathom by bound S 6 : (0,5) 40, 41 fathom by integrality new solution S 4 : infeasible 40, 40 fathom by infeasibility BnB: Summary Maintain a list of open subproblems, an incumbent x with value z, and an upper bound z (maximal over bounds of parents of open nodes) At each step: Node selection decision: pick an open subproblem and solve the LP relaxation Fathom the node (by infeasibility, by bound, or by integrality -- update the incumbent if better). Branching decision: if can t fathom node, pick a fractional variable in the LPR solution and branch Continue until all open subproblems are fathomed, or the optimality gap is acceptable. 18

Optimality gap 41.25 S 0 x 2 3 x 2 4 S 1 solved x *1 =(3,3) 40 5/9 S3 x 1 1 S 2 41 x 1 2 S 3 S 4 4 Upper bound = max(40 5/9, 41) = 41 Best solution = 39 Absolute Gap = 41 39 = 2 Relative Gap = (2 / 39)*100% = 5.1% x 2 4 x 2 5 37 S 5 37 pruned by bound S 5 S 6 Correctness of BnB Consider (IP) max {c T x: x 2S} Divide S= S 1 [ S 2 [ S K, represented by the leaves of the final tree Proposition. Given a fathomed search tree, the final incumbent (z *,x * ) solves z * =max k z *k where z *k = max{c T x: x 2 S k }. Proof: For each S k, problem IP k is either (i) infeasible, or (ii) pruned by bound, value LP(S k ) z z *, or (iii) solved. 19

Properties of Relaxations Properties of Relaxations Theory maximization 20

Properties of Relaxations Theory maximization Properties of LP Relaxations LPR is a relaxation of an IP Feas. solution set larger, objective same. We have: 1. z LP z IP (if maximization) 2. If LPR infeasible then IP is infeasible 3. If LPR solution is integral, then this solution also solves the IP. 21

Solving Mixed Integer Programs Both integer and continuous variables. Branch and Bound immediately extends. Only branch on variables that are required to be integral in feasible solution. Summary Branch and Bound is a general purpose methodology for solving IPs Crucial ingredients: Branching on a variable with a fractional assignment to create subproblems and make progress Using the LP relaxation to bound away whole parts of the search space Finding integral solutions to LP relaxations 22