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

Slides:



Advertisements
Similar presentations
IEOR 4004 Final Review part II.
Advertisements

Branch-and-Bound Technique for Solving Integer Programs
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
Gomory’s cutting plane algorithm for integer programming Prepared by Shin-ichi Tanigawa.
EE 553 Integer Programming
Progress in Linear Programming Based Branch-and-Bound Algorithms
1 One Size Fits All? : Computational Tradeoffs in Mixed Integer Programming Software Bob Bixby, Mary Fenelon, Zonghao Gu, Ed Rothberg, and Roland Wunderling.
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.
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.
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.
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 )
Decision Procedures An Algorithmic Point of View
MILP algorithms: branch-and-bound and branch-and-cut
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.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
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}
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.
Integer Programming, Branch & Bound Method
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Sebastian Ceria Graduate School of Business and
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
EE/Econ 458 Integer Programming
5.3 Mixed-Integer Nonlinear Programming (MINLP) Models
Exact Algorithms for Mixed-Integer Bilevel Linear Programming
The CPLEX Library: Mixed Integer Programming
6.5 Stochastic Prog. and Benders’ decomposition
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Matteo Fischetti, University of Padova
Gomory Cuts Updated 25 March 2009.
5.3 Mixed Integer Nonlinear Programming Models
Chapter 6. Large Scale Optimization
Integer Linear Programming
MIP Tools Branch and Cut with Callbacks Lazy Constraint Callback
Instructors: Fei Fang (This Lecture) and Dave Touretzky
Gomory’s cutting plane algorithm for integer programming
Chapter 6. Large Scale Optimization
Matteo Fischenders, University of Padova
2. Generating All Valid Inequalities
Matteo Fischetti, University of Padova
Cynthia Phillips (Sandia National Laboratories)
Integer Linear Programming
6.5 Stochastic Prog. and Benders’ decomposition
Intersection Cuts from Bilinear Disjunctions
Branch-and-Bound Algorithm for Integer Program
1.2 Guidelines for strong formulations
Integer LP: Algorithms
Chapter 6. Large Scale Optimization
1.2 Guidelines for strong formulations
Intersection Cuts for Quadratic Mixed-Integer Optimization
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

Decomposing the initial formulation P

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. Husk: konvekst problem, hvis integer feasible, kan ikke finne en bedre integer feasible løsning lengre ned i treet. Husk: children node kan ikke være bedre enn foreldrenoden.

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.

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: s s

Software MILP software: CPLEX Gurobi Xpress-MP Optimization modeling languages: Matlab through YALMIP GAMS: Generalized Algebraic Modeling System AMPL: A mathematical programming language MILP software: CPLEX Gurobi Xpress-MP

Recall the LP relaxation: Check first: is y in conv(X)? If not, find a cut.

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:

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.