Integer Programming Part II

Similar documents
Part 4. Decomposition Algorithms

Linear integer programming and its application

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

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

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

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

Travelling Salesman Problem

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

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Section #2: Linear and Integer Programming

a 1 a 2 a 3 a 4 v i c i c(a 1, a 3 ) = 3

Decision Procedures An Algorithmic Point of View

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

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

Integer Programming. Wolfram Wiesemann. December 6, 2007

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

In complexity theory, algorithms and problems are classified by the growth order of computation time as a function of instance size.

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

Lecture 8: Column Generation

NP-Completeness. Until now we have been designing algorithms for specific problems

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

Unit 1A: Computational Complexity

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9

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

Large-scale optimization and decomposition methods: outline. Column Generation and Cutting Plane methods: a unified view

CS481: Bioinformatics Algorithms

Computational Complexity. IE 496 Lecture 6. Dr. Ted Ralphs

Operations Research Lecture 6: Integer Programming

Introduction to Complexity Theory

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

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

Dynamic Programming( Weighted Interval Scheduling)

Column Generation. ORLAB - Operations Research Laboratory. Stefano Gualandi. June 14, Politecnico di Milano, Italy

1 Column Generation and the Cutting Stock Problem

Integer Linear Programming

Lecture 8: Column Generation

Integer Linear Programming (ILP)

Decision Diagrams: Tutorial

Optimization in Process Systems Engineering

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

Introduction to Integer Programming

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

Introduction to Integer Linear Programming

Planning and Optimization

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications

Recoverable Robustness in Scheduling Problems

Introduction to integer programming II

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization

Maximum Flow Problem (Ford and Fulkerson, 1956)

Design and Analysis of Algorithms

Integer Programming and Branch and Bound

CSC 8301 Design & Analysis of Algorithms: Lower Bounds

Topic 17. Analysis of Algorithms

Logic, Optimization and Data Analytics

This means that we can assume each list ) is

3.10 Column generation method

23. Cutting planes and branch & bound

Decomposition Methods for Integer Programming

Σ w j. Σ v i KNAPSACK. for i = 1, 2,..., n. and an positive integers K and W. Does there exist a subset S of {1, 2,..., n} such that: and w i

Analysis of Algorithms. Unit 5 - Intractable Problems

Part III: Traveling salesman problems

CS Algorithms and Complexity

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

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014

IS703: Decision Support and Optimization. Week 5: Mathematical Programming. Lau Hoong Chuin School of Information Systems

Cable Trench Problem

Lecture 9: Dantzig-Wolfe Decomposition

3.10 Column generation method

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation

Parallel PIPS-SBB Multi-level parallelism for 2-stage SMIPS. Lluís-Miquel Munguia, Geoffrey M. Oxberry, Deepak Rajan, Yuji Shinano

Advanced linear programming

Limitations of Algorithm Power

Scheduling on Unrelated Parallel Machines. Approximation Algorithms, V. V. Vazirani Book Chapter 17

Column Generation. i = 1,, 255;

Distributed Optimization. Song Chong EE, KAIST

Integer and Combinatorial Optimization: Introduction

Part III: Traveling salesman problems

Stochastic Decision Diagrams

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

NP-Complete Problems and Approximation Algorithms

Algorithms. Outline! Approximation Algorithms. The class APX. The intelligence behind the hardware. ! Based on

Big O 2/14/13. Administrative. Does it terminate? David Kauchak cs302 Spring 2013

Computational Models Lecture 11, Spring 2009

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.

IV. Violations of Linear Programming Assumptions

NP-Completeness. f(n) \ n n sec sec sec. n sec 24.3 sec 5.2 mins. 2 n sec 17.9 mins 35.

PART 4 INTEGER PROGRAMMING

Computational Complexity

CS6999 Probabilistic Methods in Integer Programming Randomized Rounding Andrew D. Smith April 2003

4 Sequencing problem with heads and tails

Introduction to optimization and operations research

Copyright 2000, Kevin Wayne 1

CHAPTER 3: INTEGER PROGRAMMING

The P versus NP Problem. Ker-I Ko. Stony Brook, New York

An Exact Algorithm for the Steiner Tree Problem with Delays

Chapter 2: The Basics. slides 2017, David Doty ECS 220: Theory of Computation based on The Nature of Computation by Moore and Mertens

Integer Programming, Constraint Programming, and their Combination

Integer Linear Programming Modeling

Tractable & Intractable Problems

Admin NP-COMPLETE PROBLEMS. Run-time analysis. Tractable vs. intractable problems 5/2/13. What is a tractable problem?

Transcription:

Be the first in your neighborhood to master this delightful little algorithm. Integer Programming Part II The Branch and Bound Algorithm learn about fathoming, bounding, branching, pruning, and much more! a divide and conquer strategy Don t be caught out on a limb learn to branch and bound with ease and impunity! 1

Why not just round the LP solution? x 2 2 max z = x 1 + 5x 2 subj to: x 1 + 10x 2 <= 20 x 1 <= 2 x 1, x 2 are integers.. LP solution x 1 = 2, x 2 = 9/5 z * = 11 1.. Animated 1 2 x 1 2

Why not just round the LP solution? x 2 2 round infeasible max z = x 1 + 5x 2 subj to: x 1 + 10x 2 <= 20 x 1 <= 2 x 1, x 2 are integers.. LP solution x 1 = 2, x 2 = 9/5 z * = 11 1.. Animated 1 2 x 1 3

Why not just round the LP solution? x 2 2 round infeasible max z = x 1 + 5x 2 subj to: x 1 + 10x 2 <= 20 x 1 <= 2 x 1, x 2 are integers.. LP solution x 1 = 2, x 2 = 9/5 z * = 11 1.. feasible rounded solution x 1 = 2, x 2 = 1 z = 7 Animated 1 2 x 1 4

Why not just round the LP solution? x 2 2 optimal IP solution x 1 = 0, x 2 = 2 z = 10. round infeasible. max z = x 1 + 5x 2 subj to: x 1 + 10x 2 <= 20 x 1 <= 2 x 1, x 2 are integers LP solution x 1 = 2, x 2 = 9/5 z * = 11 1.. feasible rounded solution x 1 = 2, x 2 = 1 z = 7 Animated 1 2 x 1 5

Why not just round the LP solution? infeasible rounded solutions x 2 2. (1.5,2). 1.. optimal LP solution z = 10 Animated 1 2 x 1 6

Complexity Theory The search for fundamental distinctions in the tractability of problems. Classify problems in order of computational resources required to solve using digital computer algorithms. Number of computations expressed as O(n k ). Mainly concerned if computations grow with size: logarithmically (or slower). polynomially (tractable/easy). exponentially (intractable/hard). 7

Classifying Problems NP (Non-deterministic Polynomial time ) = set of all problems that can be solved by total enumeration P = subset of NP consisting of all problems having (known) efficient algorithms (bounded by a polynomial) NP-hard = subset of NP bounded exponentially at least as hard as any NP problem Open = problems in NP but not in P or NP-hard (unknown complexity) P Linear Programs Shortest path Min spanning tree Single machine scheduling sorting Open NP-hard Binary programs Traveling salesman job scheduling NP problems 9

Solution times n = 10 n = 100 O(log n) 1 sec 2 sec O(n 5 ) 1 sec 10 10 / 10 5 sec = 27.78 hr. O(2 n ) 1 sec? O(2 10 ) = 1 sec O(2 100 ) = 2 100 / 2 10 sec x 1 min/60 sec x 1 hr/60 min x 1 day/24 hr x 1 yr/365 day x 1 century/ 100 yr = 3.925 x 10 17 centuries What do you mean the problem is unsolvable. I have here a Pentium XX. 10

Branch and Bound Concepts 1. Relaxation relax conditions of original problem a. drop integer conditions b. omit some constraints c. omit non-negativity conditions 2. Separation (Branching) Separate problem into subproblems a. every feasible solution of the original problem is a feasible solution of exactly one subproblem. b. a feasible solution to any subproblem is a feasible solution to the original problem. 3. Fathoming (Bounding) comprehend or solve a subproblem a. test 1: relaxed solution z-value is less than (for maximization) a current integer solution b. test 2: relaxed solution is infeasible c. test 3: relaxed solution is integer 11

The Example Problem max z = 5x 1 + 6x 2 subj. to: x 1 + 4x 2 <= 14 4x 1 + 3x 2 <= 20 x 1, x 2 >=0 and integer A very interesting problem. 12

x 2 4 The LP Solution problem 1 x 1 = 2.923, x 2 = 2.769 z = 31.2308 max z = 5x 1 + 6x 2 subj. to: x 1 + 4x 2 <= 14 4x 1 + 3x 2 <= 20 3 (2.9,2.77) 2 1 1 2 z 3 4 5 6 x 1 13

problem 2 x 1 <= 2 x 1 = x 2 = z = The Tree problem 1 x 1 = 2.923, x 2 = 2.769 z = 31.2308 problem 3 x 1 >= 3 x 1 = x 2 = z = Animated 14

x 2 4 x 1 <= 2 Problem 2 problem 2 x 1 <= 2 x 1 = 2.0 x 2 = 3.0 z = 28 max z = 5x 1 + 6x 2 subj. to: x 1 + 4x 2 <= 14 4x 1 + 3x 2 <= 20 3 2 1 1 2 z 3 4 5 6 x 1 15

problem 2 x 1 <= 2 x 1 = 2.0 x 2 = 3.0 z = 28 The Tree problem 1 x 1 = 2.923, x 2 = 2.769 z = 31.2308 problem 3 x 1 >= 3 x 1 = x 2 = z = fathomed by integer solution 16

x 2 4 3 Problem 3 problem 3 x 1 >= 3 x 1 = 3.0 x 2 = 2.67 z = 31.0 x 1 >= 3 max z = 5x 1 + 6x 2 subj. to: x 1 + 4x 2 <= 14 4x 1 + 3x 2 <= 20 2 1 1 2 z 3 4 5 6 x 1 17

The Tree problem 1 x 1 = 2.923, x 2 = 2.769 z = 31.2308 problem 2 x 1 <= 2 x 1 = 2.0 x 2 = 3.0 z = 28 problem 3 x 1 >= 3 x 1 = 3.0 x 2 = 2.67 z = 31.0 problem 4 x 2 <= 2 x 1 = x 2 = z = problem 5 x 2 >= 3 x 1 = x 2 = z = Animated 18

x 2 4 3 Problem 4 problem 4 x 2 <= 2 x 1 = 3.5 x 2 = 2.0 z = 29.5 x 1 >= 3 max z = 5x 1 + 6x 2 subj. to: x 1 + 4x 2 <= 14 4x 1 + 3x 2 <= 20 2 1 x 2 <= 2 1 2 z 3 4 5 6 3.5 x 1 19

x 2 4 3 Problem 5 problem 5 x 2 >= 3 infeasible x 2 >= 3 x 1 >= 3 max z = 5x 1 + 6x 2 subj. to: x 1 + 4x 2 <= 14 4x 1 + 3x 2 <= 20 2 1 1 2 z 3 4 5 6 3.5 x 1 20

The Tree problem 1 x 1 = 2.923, x 2 = 2.769 z = 31.2308 problem 2 x 1 <= 2 x 1 = 2.0 x 2 = 3.0 z = 28 problem 3 x 1 >= 3 x 1 = 3.0 x 2 = 2.67 z = 31.0 problem 4 x 2 <= 2 x 1 = 3.5 x 2 = 2.0 z = 29.5 problem 5 x 2 >= 3 infeasible problem 6 x 1 <= 3 x 1 = x 2 = z = problem 7 x 1 >= 4 x 1 = x 2 = z = fathomed by infeasibility Animated 21

x 2 4 Problem 6 problem 6 x 1 <= 3 x 1 = 3.0 x 2 = 2.0 z = 27.0 max z = 5x 1 + 6x 2 subj. to: x 1 + 4x 2 <= 14 4x 1 + 3x 2 <= 20 3 x 1 >= 3 2 1 x 2 <= 2 x 1 <= 3 1 2 z 3 4 5 6 x 1 22

x 2 4 Problem 7 problem 7 x 1 >= 4 x 1 = 4.0 x 2 = 1.33 z = 28.0 max z = 5x 1 + 6x 2 subj. to: x 1 + 4x 2 <= 14 4x 1 + 3x 2 <= 20 3 x 1 >= 3 2 1.33 1 x 2 <= 2 x 1 >= 4 1 2 z 3 4 5 6 x 1 23

The Tree problem 1 x 1 = 2.923, x 2 = 2.769 z = 31.2308 problem 2 x 1 <= 2 x 1 = 2.0 x 2 = 3.0 z = 28 problem 3 x 1 >= 3 x 1 = 3.0 x 2 = 2.67 z = 31.0 problem 4 x 2 <= 2 x 1 = 3.5 x 2 = 2.0 z = 29.5 problem 5 x 2 >= 3 infeasible problem 6 x 1 <= 3 x 1 = 3.0 x 2 = 2.0 z = 27.0 fathomed by integer solution problem 7 x 1 >= 4 x 1 = 4.0 x 2 = 1.33 z = 28.0 fathomed by bounding 24

What about the computer? Why can t Solver handle this? 25

Some Final Comments on B&B Order of solving subproblems can affect solution time breadth search - attempt to solve all problems on current level before solving any descendants depth search solve a subproblem and any descendants created before solving next subproblem Other search techniques LIFO Solve descendants of subproblem having largest z value (best bound) Choice of branching variable greatest fractional value Mixed integer problems create subproblems from integer variables only (continue to relax continuous variables) Find near optimal solution where z LP - z current best integer < e 26

Laws of Engineering Law #1: In any calculation, any error which can creep in will do so. Law #2: Any error in any calculation will be in the direction of most harm. Law #3: If only one bid can be secured on any project, the price will be unreasonable. Law #4: If a test installation functions perfectly, all subsequent production units will malfunction. Law #5: All delivery promises must be multiplied by a factor of 2.0. Law #6: Any device requiring service or adjustment will be the least accessible. Law #7: If more than one person is responsible for a miscalculation, no one will be at fault. Law #8: The rule for engineers: "Change the data to fit the curve." 27

Integer Programming Part II The Branch and Bound Algorithm What significant, meaningful, and highly insightful questions do you have? 28