Progress in Linear Programming Based Branch-and-Bound Algorithms

Slides:



Advertisements
Similar presentations
Thursday, April 11 Some more applications of integer
Advertisements

1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
Branch-and-Bound Technique for Solving Integer Programs
Chapter 3 Workforce scheduling.
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.
Lecture 10: Integer Programming & Branch-and-Bound
Water Resources Development and Management Optimization (Integer Programming) CVEN 5393 Mar 11, 2013.
Shuai Li and Cheng-Kok Koh School of Electrical and Computer Engineering, Purdue University West Lafayette, IN, Mixed Integer Programming Models.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Introduction to Linear and Integer Programming
Integer Programming 3 Brief Review of 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
1 A Second Stage Network Recourse Problem in Stochastic Airline Crew Scheduling Joyce W. Yen University of Michigan John R. Birge Northwestern University.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
Branch and Bound Algorithm for Solving Integer Linear Programming
5-1 Chapter 5 Tree Searching Strategies. 5-2 Breadth-first search (BFS) 8-puzzle problem The breadth-first search uses a queue to hold all expanded nodes.
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.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Airline Schedule Planning: Accomplishments and Opportunities Airline Schedule Planning: Accomplishments and Opportunities C. Barnhart and A. Cohn, 2004.
1 Global Meta-Hybrids for Large-Scale Combinatorial Optimization Professor Leyuan Shi Department of Industrial Engineering University of Wisconsin-Madison.
Decision Procedures An Algorithmic Point of View
1 Hyong-Mo Jeon Reliability Models for Facility Location with Risk Pooling ISE 2004 Summer IP Seminar Jul
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Rensselaer Polytechnic Institute Rajagopal Iyengar Combinatorial Approaches to QoS Scheduling in Multichannel Wireless Systems Rajagopal Iyengar Rensselaer.
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
MILP algorithms: branch-and-bound and branch-and-cut
Logical Topology Design
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
WOOD 492 MODELLING FOR DECISION SUPPORT
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Optimal Fueling Strategies for Locomotive Fleets in Railroad Networks Seyed Mohammad Nourbakhsh Yanfeng Ouyang 1 William W. Hay Railroad Engineering Seminar.
1 Lagrangean Relaxation --- Bounding through penalty adjustment.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
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 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
8/14/04 J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 6 – Integer Programming Models Topics.
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
A Two-Phase Linear programming Approach for Redundancy Problems by Yi-Chih HSIEH Department of Industrial Management National Huwei Institute of Technology.
Introduction to Integer Programming Integer programming models Thursday, April 4 Handouts: Lecture Notes.
Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
Tabu Search Applications Outlines: 1.Application of Tabu Search 2.Our Project with Tabu Search: EACIIT analytics.
0 Integer Programming Introduction to Integer Programming (IP) Difficulties of LP relaxation IP Formulations Branch and Bound Algorithms Reference: Chapter.
Water Resources Development and Management Optimization (Integer and Mixed Integer Programming) CVEN 5393 Mar 28, 2011.
Data Driven Resource Allocation for Distributed Learning
Lecture 11: Tree Search © J. Christopher Beck 2008.
The CPLEX Library: Mixed Integer Programming
Basic Project Scheduling
Introduction to Operations Research
MILP algorithms: branch-and-bound and branch-and-cut
1.206J/16.77J/ESD.215J Airline Schedule Planning
Chapter 1. Formulations (BW)
Chapter 1. Formulations.
Presentation transcript:

Progress in Linear Programming Based Branch-and-Bound Algorithms Andrew Miller University of Wisconsin

Objectives To discuss what techniques are being used to solve mixed integer programs in practice To discuss what can be accomplished with commercial mixed integer optimizers and modeling languages

Outline Introduction and linear programming based branch-and-bound Branch-and-cut and branch-and-price

Mixed 0-1 Integer Programming

Why Use MIP ? Indivisible commodities Binary choices Logical relations Start up or fixed costs Economies of scale Combinatorial modeling

Applicability Tremendous increase of the use of MIPs in the last decade Large-scale MIPs are solvable (provably good solutions) on PCs with commercially available software

Recent Applications Transportation planning and operations Facility location Production scheduling Supply-chain management Many others

Transportation planning and operations Aircraft arrival slot allocation at American. Network optimization used to allocate arrival slots of canceled flights, leading to reduced delays, translates into direct annual operating cost savings of $5.2M (1991) Optimizing airline scheduling of planes and crews. Delta's Cold Start solves its fleet assignment with expected savings of $300M over three years (1994)

Facility location Base closing in Germany (US Department of Defense). 0-1 IP used to determine base closures and optimal stationing plan for US troops in Europe after force reductions, annual savings of up to $58M (1996)

Production scheduling Fiber-optic cable manufacturing (AT&T). MIP models select fibers and schedule cable production resulting in more efficient use of fibers and fewer delays in customer orders (1998)

Supply-chain management Global supply chain management (Digital). MIP used to design production, distribution and vendor network so as to minimize cost of production and distribution times, saved $100M (1995) Restructuring the supply chain (Proctor and Gamble). MIP is used to help restructure the supply chain (1997)

LP Based Branch and Bound Implicit enumeration tree At every node, an LP relaxation is solved Upper bounds come from LP solutions; lower bounds come from MIP feasible solutions

LP Based Branch and Bound Initialization zip=-, xip= List empty? xip optimal Choose problem Solve LPzlp,xlp If infeasible, then fathom If zlp zip, then fathom If xlp integral, then zip zlp,xip xlp and fathom Branch

How to improve performance? 1. Faster computer 2. Faster linear programming optimizer 3. Smaller zlp 4. Larger zip 5. Improved branching 6. Smaller linear programs

Formulations Most MIPs have many correct formulations, but while one formulation may be easy to solve, another may be very hard to solve Failure to solve a MIP may not be the fault of the algorithm, but the result of a “bad” formulation Smaller size formulations (number of variables and constraints) may not be better and can be much worse

Uncapacitated Facility Location xij: fraction of demand of client i satisfied from depot j yj: 1 if depot j is open 0 otherwise

Uncapacitated Facility Location

Uncapacitated Facility Location Question: Can we do this automatically ?

Parallel Machine Scheduling xij:1 if job j is scheduled on machine i C: makespan

Parallel Machine Scheduling

Parallel Machine Scheduling Problem: Symmetry Swapping assignments to two machines gives the exact same solution! Solution: Remove symmetry from solution

Parallel Machine Scheduling

Branching Strategies Variable selection Node selection

Variable Selection Variable dichotomy: ( xj =  xj  + fj ) GOAL: Select a variable that improves the upper bound the most

Prediction Methods Estimation methods Lower bounding methods

Estimation Methods Pseudocosts Pj+ Per unit change in objective function value when the variable j is rounded up Pj- Per unit change in objective function value when the variable j is rounded down Estimates Dj+ = Pj+ (1 - fj ) Dj- = Pj- fj

Lower Bounding Lj+ Lower bound on the per unit change in objective function value when the variable j is rounded up Lj- Lower bound on the per unit change in objective function value when the variable j is rounded down

Combining Estimation and Lower Bounding Estimation provides global information Lower bounding provides local information Compute parameters a priori Compute parameters dynamically

Using Predictors How to select branching variable ?

Node Selection GOAL: (1) Find good feasible solution (2) Prove optimality

Node Selection Methods static estimate-based two-phase backtracking

Static Methods best-first (best-bound) advantages disadvantages minimizes number of evaluated nodes disadvantages high memory requirements high node evaluation times

Static Methods depth-first advantages disadvantages minimizes memory requirements low node evaluation times high chance of finding feasible solutions quickly disadvantages large search trees

Estimate-based Methods best projection

Estimate-based Methods best estimate Note: Does not require zbest

Two-phase Methods Phase I: Find good feasible solution Phase II: Prove optimality

Two-phase Methods Phase I: Depth-first Phase II: Best-first

Two-phase Methods Phase I: Best estimate Phase II: Maximize Percentage Error

Backtracking Methods Go depth-first as often as possible If zlp  E, then depth-first If zlp  E, then best-first or best-estimate

Preprocessing and Probing Detecting infeasibility Detecting redundancy Improving bounds

Detecting Infeasibility

Detecting Infeasibility If z > bi, then infeasible Approximation Simple Approximation

Detecting Infeasibility 3x1 - 4x2 + 2x3  6  -3x1 + 4x2 - 2x3  -6  -3 + 0 - 2 = -5 > -6  infeasible

Probing Tentatively fixing a variable at one of its bounds and examining the consequences Three activities Fixing variables Improving coefficients Identifying logical implications

Fixing Variables

Fixing Variables If zk > bi, then infeasible Conclusion: xk  1 or xk = 0 Simple Approximation

Fixing Variables Probing x2 = 1 3x1 - 4x2 + 2x3  2  -3 + 4 - 2 = -1 > -2  infeasible  x2 = 0

Identifying logical implications xj = 0, fixes xk = 0  xk  xj fixes xk = 1  1- xk  xj xj = 1, fixes xk = 0  xk  1 - xj fixes xk = 1  1- xk  1 - xj

Identifying logical implications

Diving Heuristic Solve LP Give up Infeasible? Stop Integral? Analyze LP solution. Fix some variables. Round up or down some variables and fix them.

Diving Heuristic Issues How many variables to fix? How many variables to round and fix? How many iterations?

Local Branching Reference solution v Local branching constraint S := {j | vj = 1} Local branching constraint (v) = jS (1-xj) + jS xj  k Left branch (v)  k Right branch (v)  k+1

Local Branching