Branch-and-Bound Algorithm for Integer Program

Slides:



Advertisements
Similar presentations
Branch-and-Bound Technique for Solving Integer Programs
Advertisements

1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
Branch and Bound See Beale paper. Example: Maximize z=x1+x2 x2 x1.
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Pure, Mixed-Integer, Zero-One Models
Branch-and-Bound In this handout,  Summary of branch-and-bound for integer programs Updating the lower and upper bounds for OPT(IP) Summary of fathoming.
1 Cutting Plane Technique for Solving Integer Programs.
Gomory’s cutting plane algorithm for integer programming Prepared by Shin-ichi Tanigawa.
EE 553 Integer Programming
Lecture 10: Integer Programming & Branch-and-Bound
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
Computational Methods for Management and Economics Carla Gomes
Branch and Bound Algorithm for Solving Integer Linear Programming
Review of Reservoir Problem OR753 October 29, 2014 Remote Sensing and GISc, IST.
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
LP formulation of Economic Dispatch
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
(Not in text).  An LP with additional constraints requiring that all the variables be integers is called an all-integer linear program (IP).  The LP.
Integer programming Branch & bound algorithm ( B&B )
Decision Procedures An Algorithmic Point of View
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
MILP algorithms: branch-and-bound and branch-and-cut
WOOD 492 MODELLING FOR DECISION SUPPORT
Chap 10. Integer Prog. Formulations
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Divide and Conquer Optimization problem: z = max{cx : x  S}
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
1.2 Guidelines for strong formulations  Running time for LP usually depends on m and n ( number of iterations O(m), O(log n)). Not critically depend on.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
Integer Programming, Branch & Bound Method
1 Chapter 6 Reformulation-Linearization Technique and Applications.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
1 1 Slide Graphical solution A Graphical Solution Procedure (LPs with 2 decision variables can be solved/viewed this way.) 1. Plot each constraint as an.
0 Integer Programming Introduction to Integer Programming (IP) Difficulties of LP relaxation IP Formulations Branch and Bound Algorithms Reference: Chapter.
7. Linear Programming (Simplex Method)
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Chap 10. Sensitivity Analysis
Signal processing and Networking for Big Data Applications: Lecture 9 Mix Integer Programming: Benders decomposition And Branch & Bound NOTE: To change.
The CPLEX Library: Mixed Integer Programming
6.5 Stochastic Prog. and Benders’ decomposition
Introduction to Operations Research
Chapter 5. Optimal Matchings
MILP algorithms: branch-and-bound and branch-and-cut
Gomory Cuts Updated 25 March 2009.
1.3 Modeling with exponentially many constr.
Chap 9. General LP problems: Duality and Infeasibility
Chapter 6. Large Scale Optimization
Chapter 5. Sensitivity Analysis
Integer Linear Programming
Gomory’s cutting plane algorithm for integer programming
Chapter 6. Large Scale Optimization
2. Generating All Valid Inequalities
1.3 Modeling with exponentially many constr.
Chapter 5. The Duality Theorem
Flow Feasibility Problems
ENGM 435/535 Integer Programming.
Part II General Integer Programming
Integer Linear Programming
6.5 Stochastic Prog. and Benders’ decomposition
Graphical solution A Graphical Solution Procedure (LPs with 2 decision variables can be solved/viewed this way.) 1. Plot each constraint as an equation.
1.2 Guidelines for strong formulations
Integer LP: Algorithms
Chapter 6. Large Scale Optimization
Branch-and-Bound Technique for Solving Integer Programs
1.2 Guidelines for strong formulations
Integer Programming (IP)
Discrete Optimization
Presentation transcript:

Branch-and-Bound Algorithm for Integer Program Solution set is non-convex. Difficult to solve. Idea : divide and conquer. Divide feasible solutions set into many disjoint sets. Find the best solution for each subset. Then choose the best one. To divide the feasible solutions set, we add linear inequalities to the problem. (e.g. x1  1, and x1  0 ) But the divided problem is still integer programming problem. So we need a means to find the best integer solution for each integer programming problem. Linear programming relaxation : max 𝑐 ′ 𝑥 max 𝑐 ′ 𝑥 (IP) 𝐴𝑥≤𝑏 (LPR) 𝐴𝑥≤𝑏 𝑥≥0 and integer 𝑥≥0 (𝑥∈ 𝐵 𝑛 , or 0≤𝑥≤1 and integer) (0≤𝑥≤1) OR-1 2016

If 𝑥 ∗ is a feasible solution to (IP)  𝑥 ∗ feasible solution to (LPR) Let z be the optimal value of (IP) and zLP be the optimal value of (LPR) If 𝑥 ∗ is a feasible solution to (IP)  𝑥 ∗ feasible solution to (LPR) Hence {set of feasible solutions to (IP) } ⊆ { set of feasible solutions to (LPR) } and objective functions are same. If 𝑥 ∗ is an optimal solution to (IP) (i.e. 𝑧=𝑐′ 𝑥 ∗ ), 𝑥 ∗ may not be an optimal solution to (LPR), but it is a feasible solution to (LPR). Hence  𝑧≤ 𝑧 𝐿𝑃 ( 𝑧 𝐿𝑃 provides an upper bound on 𝑧) Also a feasible solution to (IP) provides a lower bound on 𝑧. ( If 𝑥 0 is a feasible solution to (IP), then 𝑐′ 𝑥 0 ≤𝑧) Hence if we solve (LPR) and obtain optimal solution which happens to be integral, then the solution provides a lower bound which is the same as the upper bound. It implies that the solution is optimal to (IP). If the obtained solution is not integral, we only know an upper bound on optimal value to (IP), but don’t know an optimal solution. Then we divide the feasible solution set and repeat the procedure again for each divided problem. OR-1 2016

Results of solving LP relaxation. unbounded  integer program unbounded infeasible  integer program infeasible optimal solution which is integer  it is optimal to integer program optimal solution not integer  only obtain upper bound. Need to branch How to divide the solution set in case of 4. Suppose 𝑥 ∗ is an optimal solution to LP relaxation and 𝑥 𝑗 ∗ =𝑘+𝛼, 𝑘≥0 integer, 0<𝛼<1 fractional. Then consider 2 sets (a) 𝐴𝑥≤𝑏, 𝑥≥0, 𝑥 𝑗 ≤𝑘, 𝑥 integer (b) 𝐴𝑥≤𝑏, 𝑥≥0, 𝑥 𝑗 ≥𝑘+1, 𝑥 integer Any feasible solution to integer program is contained in one of (a), (b). So we do not miss any feasible solution. Then we solve LP relaxation of (a), (b) again. (Search procedure with tree structure). Note that the optimal solution 𝑥 ∗ to the initial LP relaxation is not a feasible solution to the LP relaxation of (a) and (b). LP relaxations of (a) and (b) can be solved using (dual) simplex method for general LP and reoptimization OR-1 2016

Example max 17 𝑥 1 +12 𝑥 2 s.t. 10 𝑥 1 +7 𝑥 2 ≤2 𝑥 1 + 𝑥 2 ≤5 𝑥 1 + 𝑥 2 ≤5 𝑥 1 , 𝑥 2 ≥0 𝑥 1 , 𝑥 2 integer OR-1 2016

5 4 3 2 1 1 2 3 4 OR-1 2016

OR-1 2016

5 4 3 2 1 1 2 3 4 OR-1 2016

5 4 3 2 1 1 2 3 4 OR-1 2016

Useful tool to facilitate the search: Suppose 𝑥 ∗ is the best solution currently known and its objective value is 𝑧 ∗ . If the LP relaxation of a subproblem gives optimal value 𝑧′ such that 𝑧′≤ 𝑧 ∗ , we know that there does not exist an integer solution in this subproblem which gives objective value greater than 𝑧 ∗ . Hence we do not need to explore the subproblem any further and prune the subproblem (node). Obtaining a good (small) upper bound in each subproblem is important to reduce the number of subproblems examined. Modern approach adds more valid inequalities, (which are satisfied by feasible integer points but not satisfied by the current optimal solution to the LP relaxation), to tighten the feasible region (cutting plane approach). Note that we can use reoptimization techniques after adding a cutting plane to the problem. Recall adding a constraint in Chap. 10 Sensitivity analysis. Effectiveness of B-and-B alg. largely depends on our ability to prune many nodes in the B-and-B tree in early stages of the B-and-B algorithm, hence cutting plane approach improves the performance of the alg. on many cases, and it is employed in modern commercial S/W. OR-1 2016