MILP algorithms: branch-and-bound and branch-and-cut

Slides:



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

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,
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.
DMOR Branch and bound. Integer programming Modelling logical constraints and making them linear: – Conjuction – Disjunction – Implication – Logical constraints.
LPs and MIPs background and solution approaches Dr. Greg Bernstein Grotto Networking
1 Cutting Plane Technique for Solving Integer Programs.
EE 553 Integer Programming
Lecture 10: Integer Programming & Branch-and-Bound
Progress in Linear Programming Based Branch-and-Bound Algorithms
Water Resources Development and Management Optimization (Integer Programming) CVEN 5393 Mar 11, 2013.
Introduction to Linear and Integer Programming
1 Logic-Based Methods for Global Optimization J. N. Hooker Carnegie Mellon University, USA November 2003.
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
1 Optimisation Although Constraint Logic Programming is somehow focussed in constraint satisfaction (closer to a “logical” view), constraint optimisation.
Computational Methods for Management and Economics Carla Gomes
Optimization for Network Planning Includes slide materials developed by Wayne D. Grover, John Doucette, Dave Morley © Wayne D. Grover 2002, 2003 E E 681.
Solving the Protein Threading Problem in Parallel Nocola Yanev, Rumen Andonov Indrajit Bhattacharya CMSC 838T Presentation.
Branch and Bound Algorithm for Solving Integer Linear Programming
1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005.
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.
1 Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla Gomes and Bart Selman Cornell University Muri Meeting March 2002.
Lift-and-Project cuts: an efficient solution method for mixed-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization.
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’
Integer programming Branch & bound algorithm ( B&B )
How to Play Sudoku & Win Integer Programming Formulation of a Popular Game Sven LeyfferSven Leyffer, Argonne, Feb. 15, 2005 (windoze powerpoint sumi painting.
Decision Procedures An Algorithmic Point of View
1 Outline:  Outline of the algorithm  MILP formulation  Experimental Results  Conclusions and Remarks Advances in solving scheduling problems with.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Tobias Achterberg Konrad-Zuse-Zentrum für Informationstechnik Berlin Branching SCIP Workshop at ZIB October 2007.
1 Chapter 4: Integer and Mixed-Integer Linear Programming Problems 4.1 Introduction to Integer and Mixed-Integer Linear Programming 4.2 Solving Integer.
Chap 10. Integer Prog. Formulations
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Integer Linear Programming Terms Pure integer programming mixed integer programming 0-1 integer programming LP relaxation of the IP Upper bound O.F. Lower.
Integer Programming Li Xiaolei. Introduction to Integer Programming An IP in which all variables are required to be integers is called a pure integer.
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}
FATCOP: A Mixed Integer Program Solver Michael FerrisQun Chen Department of Computer Sciences University of Wisconsin-Madison Jeff Linderoth, Argonne.
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
FATCOP: A Mixed Integer Program Solver Michael FerrisQun Chen University of Wisconsin-Madison Jeffrey Linderoth Argonne National Laboratories.
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
5.3 Mixed Integer Nonlinear Programming Models. A Typical MINLP Model.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Intersection Cuts for Bilevel Optimization
1 Chapter 6 Reformulation-Linearization Technique and Applications.
1 Chapter 5 Branch-and-bound Framework and Its Applications.
Water resources planning and management by use of generalized Benders decomposition method to solve large-scale MINLP problems By Prof. André A. Keller.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
Water Resources Development and Management Optimization (Integer and Mixed Integer Programming) CVEN 5393 Mar 28, 2011.
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Signal processing and Networking for Big Data Applications: Lecture 9 Mix Integer Programming: Benders decomposition And Branch & Bound NOTE: To change.
From Mixed-Integer Linear to Mixed-Integer Bilevel Linear Programming
5.3 Mixed-Integer Nonlinear Programming (MINLP) Models
The CPLEX Library: Mixed Integer Programming
MILP algorithms: branch-and-bound and branch-and-cut
5.3 Mixed Integer Nonlinear Programming Models
Chapter 6. Large Scale Optimization
MIP Tools Branch and Cut with Callbacks Lazy Constraint Callback
2. Generating All Valid Inequalities
Matteo Fischetti, University of Padova
Intersection Cuts from Bilinear Disjunctions
Branch-and-Bound Algorithm for Integer Program
1.2 Guidelines for strong formulations
Chapter 6. Large Scale Optimization
1.2 Guidelines for strong formulations
Discrete Optimization
Presentation transcript:

MILP algorithms: branch-and-bound and branch-and-cut

Content The Branch-and-Bound (BB) method. the framework for almost all commercial software for solving mixed integer linear programs Cutting-plane (CP) algorithms. Branch-and-Cut (BC) The most efficient general-purpose algorithms for solving MILPs

Basic idea of Branch-and-bound BB is a divide and conquer approach: break problem into subproblems (sequence of LPs) that are easier to solve Kan, men trenger ikke å være overlapp mellom mengder

Decomposing the initial formulation P Special case: optimality in root node

Enumeration tree IP example 1: s How to proceed without complete enumeration? s s

Implicit enumeration: Utilize solution bounds

Pruning (= beskjæring av tre) Utilize convexity of the LP relaxations to prune the enumeration tree. Pruning by optimality : A solution is integer feasible; the solution cannot be improved by further decomposing the formulation and adding bounds. Pruning by bound: A solution in a node i is worse than the best known upper bound, i.e. Pruning by infeasibility : A solution is (LP) infeasible.

Branching: choosing a fractional variable Which variable to choose? Branching rules Most fractional variable: branch on variable with fractional part closest to 0.5. Strong branching: tentative branch on each fractional variable (by a few iterations of the dual simplex) to check progress before actual branching is performed. Pseudocost branching: keep track of success variables already branched on. Branching priorities.

Node selection Each time a branch cannot be pruned, two new children-nodes are created. Node selection rules concerns which node (and hence which LP) to solve next: Depth-first search. Breath-first search. Best-bound search. Combinations. Forklar de forskjellige, fordeler og ulemper, og hvordan disse vanligvis er implementert i kommersielle løsere

L is a list of with the nodes Initialize upper bound. Assume LP is bounded Solve and check LP relaxation in root node Select node a solve new LP with added branching constraint Check if solution can be pruned. Removed nodes from L where the solution is dominated by the best lower bound Choose branching variable, add nodes to the list L of unsolved nodes

Earlier IP example Branching rule: most fractional Node selection rule: best-bound s s s s s IP: Bounds er arrvet nedover i treet. Node 6 er pruned by integrality bound of solution in node 4. s s

Software Optimization modeling languages: Matlab through YALMIP GAMS : Generalized Algebraic Modeling System AMPL: A mathematical programming language MILP software: CPLEX Gurobi Xpress-MP Detaljer om de forskjellige modelleringsspråkene blir forklart nærmere senere.

Recall the LP relaxation: Trenger kun en delvis beskrivelse av conv(X), kun en god approksimering i nærheten en optimal løsning; Dette vil gi en tightere formulering som kan gis som input til BB, som dermed vil kreve redusert branching. Kommer tilbake til hva family of valid inequalities er

The Cutting-plane algorithm The Cutting-plane algortihm er også omtalt som Gomorys CP algortime. Gomorys CP er kun et spesialtilfelle av den mer generelle CP, hvor algoritmen baserer seg på å bruke optimal basis av LP relaksering til iterativt å genere Chvatal-Gomory cutting planes (se side 124 og Th 8.4 side 120 i Wolsey IP bok.) s

Generating valid inequalities

Example on cut generation: Chvátal-Gomory valid inequalities

Branch-and-cut

Earlier IP example: Branch-and-Cut Branching rule: most fractional Node selection rule: best-bound s s s IP: Bounds er arrvet nedover i treet. Node 6 er pruned by integrality bound of solution in node 4.

The GAP problem in GAMS with Branch and Cut

Choice of LP algorithm in Branch and Bound Very important for the numerical efficiency of branch-and-bound methods. Re-use optimal basis from one node to the next. s s s

Solution of large-scale MILPs Important aspects of the branch-and-cut algorithm: Presolve routines Parallelization of branch-and-bound tree Efficiency of LP algorithm Utilize structures in problem: Decomposition algorithms Apply heuristics to generate a feasible solution

MINLP: challenges

MINLP: solution approaches Source: ZIB Berlin

Conclusions Branch-and-bound defines the basis for all modern MILP codes. Pure cutting-plane approaches are ineffective for large MILPs. BB is very efficient when integrated with advanced cut-generation, leading to branch-and-cut methods. Solving large-scale MINLPs are significantly more difficult than MILPs.