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

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

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

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

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms

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

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

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

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

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Travelling Salesman Problem

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

Decomposition-based Methods for Large-scale Discrete Optimization p.1

PART 4 INTEGER PROGRAMMING

Separation, Inverse Optimization, and Decomposition. Some Observations. Ted Ralphs 1 Joint work with: Aykut Bulut 1

3.10 Lagrangian relaxation

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

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

3.4 Relaxations and bounds

Lagrangean relaxation

Introduction to Integer Programming

Separation, Inverse Optimization, and Decomposition. Some Observations. Ted Ralphs 1 Joint work with: Aykut Bulut 1

Integer Programming ISE 418. Lecture 13b. Dr. Ted Ralphs

Introduction to Integer Linear Programming

Discrete Optimization 2010 Lecture 8 Lagrangian Relaxation / P, N P and co-n P

3.7 Cutting plane methods

Lagrangian Relaxation in MIP

Integer Programming Duality

Computational Integer Programming Universidad de los Andes. Lecture 1. Dr. Ted Ralphs

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

Solving the MWT. Recall the ILP for the MWT. We can obtain a solution to the MWT problem by solving the following ILP:

Decision Procedures An Algorithmic Point of View

Operations Research Lecture 6: Integer Programming

Introduction to optimization and operations research

Bilevel Integer Optimization: Theory and Algorithms

Separation Techniques for Constrained Nonlinear 0 1 Programming

1 Column Generation and the Cutting Stock Problem

A Review of Linear Programming

Discrete (and Continuous) Optimization WI4 131

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

Integer Linear Programming

Duality of LPs and Applications

Dual bounds: can t get any better than...

A Benders Algorithm for Two-Stage Stochastic Optimization Problems With Mixed Integer Recourse

An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory

LP Relaxations of Mixed Integer Programs

3. Linear Programming and Polyhedral Combinatorics

1 Solution of a Large-Scale Traveling-Salesman Problem... 7 George B. Dantzig, Delbert R. Fulkerson, and Selmer M. Johnson

Lecture notes on the ellipsoid algorithm

Linear Programming Duality

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Linear Programming. Scheduling problems

New Integer Programming Formulations of the Generalized Travelling Salesman Problem

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

LP Duality: outline. Duality theory for Linear Programming. alternatives. optimization I Idea: polyhedra

Resource Constrained Project Scheduling Linear and Integer Programming (1)

Chapter 1 Linear Programming. Paragraph 5 Duality

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

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

Lecture 9: Dantzig-Wolfe Decomposition

Discrete Optimization

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

The traveling salesman problem

Lecture 8: Column Generation

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

7. Lecture notes on the ellipsoid algorithm

Benders Decomposition

Integer Programming. Wolfram Wiesemann. December 6, 2007

Notes taken by Graham Taylor. January 22, 2005

Introduction to integer programming II

Bounds on the Traveling Salesman Problem

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

EE364a Review Session 5

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

Chapter 1. Preliminaries

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

Solving LP and MIP Models with Piecewise Linear Objective Functions

Polyhedral Approach to Integer Linear Programming. Tepper School of Business Carnegie Mellon University, Pittsburgh

arxiv: v1 [cs.cc] 5 Dec 2018

Lectures 6, 7 and part of 8

1 Review Session. 1.1 Lecture 2

Farkas Lemma, Dual Simplex and Sensitivity Analysis

Lecture #21. c T x Ax b. maximize subject to

Integer Programming, Part 1

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

3. Linear Programming and Polyhedral Combinatorics

21. Set cover and TSP

Critical Reading of Optimization Methods for Logical Inference [1]

March 2002, December Introduction. We investigate the facial structure of the convex hull of the mixed integer knapsack set

Lift-and-Project Inequalities

1. Algebraic and geometric treatments Consider an LP problem in the standard form. x 0. Solutions to the system of linear equations

Combinatorial Optimization

IE418 Integer Programming

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model

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

Section #2: Linear and Integer Programming

Relation of Pure Minimum Cost Flow Model to Linear Programming

Integer Linear Programming (ILP)

The Primal-Dual Algorithm P&S Chapter 5 Last Revised October 30, 2006

MAT-INF4110/MAT-INF9110 Mathematical optimization

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

Transcription:

Integer Programming ISE 418 Lecture 8 Dr. Ted Ralphs

ISE 418 Lecture 8 1 Reading for This Lecture Wolsey Chapter 2 Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Duality for Mixed-Integer Linear Programs, Güzelsoy and Ralphs

ISE 418 Lecture 8 2 The Efficiency of Branch and Bound In general, our goal is to solve the problem at hand as quickly as possible. The overall solution time is the product of the number of nodes enumerated and the time to process each node. Typically, by spending more time in processing, we can achieve a reduction in tree size by computing stronger (closer to optimal) bounds. This highlights another of the many tradeoffs we must navigate. Our goal in bounding is to achieve a balance between the strength of the bound and the efficiency with which we can compute it. How do we compute bounds? Relaxation: Relax some of the constraints and solve the resulting mathematical optimization problem. Duality: Formulate a dual problem and find a feasible to it. In practice, we will use a combination of these two closely-related approaches.

ISE 418 Lecture 8 3 Relaxation As usual, we consider the MILP z IP = max{c x x S}, (MILP) where P = {x R n + Ax b} (FEAS-LP) S = P (Z p + R n p + ) (FEAS-MIP) Definition 1. A relaxation of IP is a maximization problem defined as with the following two properties: z R = max{z R (x) x S R } S S R c x z R (x), x S.

ISE 418 Lecture 8 4 Importance of Relaxations The main purpose of a relaxation is to obtain an upper bound on z IP. Solving a relaxation is one simple method of bounding in branch and bound. The idea is to choose a relaxation that is much easier to solve than the original problem, but still yields a bound that is strong enough. Note that the relaxation must be solved to optimality to yield a valid bound. We consider three types of formulation-based relaxations. LP relaxation Combinatorial relaxation Lagrangian relaxation Relaxations are also used in some other bounding schemes we ll look at.

ISE 418 Lecture 8 5 Aside: How Do You Spell Lagrangian? Some spell it Lagrangean. Some spell it Lagrangian. We ask Google. In 2002: Lagrangean returned 5,620 hits. Lagrangian returned 14,300 hits. In 2007: Lagrangean returns 208,000 hits. Lagrangian returns 5,820,000 hits. In 2010: Lagrangean returns 110,000 hits (and asks Did you mean: Lagrangian? ) Lagrangian returns 2,610,000 hits. In 2014 (strange regression!): Lagrangean returns 1,140,000 hits Lagrangian returns 1,820,000 hits.

ISE 418 Lecture 8 6 The Branch and Bound Tree as a Meta-Relaxation The branch-and-bound tree itself encodes a relaxation of our original problem, as we mentioned in the last lecture. As observed previously, the set T of leaf nodes of the tree (including those that have been pruned) constitute a valid disjunction, as follows. When we branch using admissible disjunctions, we associate with each t T a polyhedron X t described by the imposed branching constraints. The collection {X t } t T then defines a disjunction. The subproblem associated with node i is an integer program with feasible region S P X t. The problem max max c x t T x P X t is then a relaxation according to our definition. (OPT) Branch and bound can be seen as a method of iteratively strengthening this relaxation. We will later see how we can add valid inequalities to the constraint of P X t to strengthen further.

ISE 418 Lecture 8 7 Obtaining and Using Relaxations Properties of relaxations If a relaxation of (MILP) is infeasible, then so is (MILP). If z R (x) = c x, then for x argmax x SR z R (x), if x S, then x is optimal for (MILP). The easiest way to obtain relaxations of (MILP) is to relax some of the constraints defining the feasible set S. It is obvious how to obtain an LP relaxation, but combinatorial relaxations are not as obvious.

ISE 418 Lecture 8 8 Example: Traveling Salesman Problem The TSP is a combinatorial problem (E, F) whose ground set is the edge set of a graph G = (V, E). V is the set of customers. E is the set of travel links between the customers. A feasible solution is a subset of E consisting of edges of the form {i, σ(i)} for i V, where σ is a simple permutation V specifying the order in which the customers are visited. IP Formulation: n j=1 x ij = 2 i N i S j S x ij 2 S V, S > 1. where x ij is a binary variable indicating whether σ(i) = j.

ISE 418 Lecture 8 9 Combinatorial Relaxations of the TSP The Traveling Salesman Problem has several well-known combinatorial relaxations. Assignment Problem The problem of assigning n people to n different tasks. Can be solved in polynomial time. Obtained by dropping the subtour elimination constraints and the upper bounds on the variables. Minimum 1-tree Problem A 1-tree in a graph is a spanning tree of nodes {2,... n} plus exactly two edges incident to node one. A minimum 1-tree can be found in polynomial time. This relaxation is obtained by dropping all subtour elimination constraints involving node 1 and also all degree constraints not involving node 1.

ISE 418 Lecture 8 10 Exploiting Relaxations How can we use our ability to solve a relaxation to full advantage? The most obvious way is simply to straightforwardly use the relaxation to obtain a bound. However, by solving the relaxation repeatedly, we can get additional information. For example, we can generate extreme points of conv(s R ). In an indirect way (using the Farkas Lemma), we can even obtain facet-defining inequalities for conv(s R ). We can use this information to strengthen the original formulation. This is one of the basic principles of many solution methods.

ISE 418 Lecture 8 11 Lagrangian Relaxation A Lagrangian relaxation is obtained by relaxing a set of constraints from the original formulation. However, we also try to improve the bound by modifying the objective function, penalizing violation of the dropped constraints. Consider a pure IP defined by max c x s.t. A x b A x b x Z n +, (IP) where S R = {x Z n + A x b } bounded and optimization over S R is easy. Lagrangian Relaxation: LR(u) : z LR (u) = max x S R {(c ua )x + ub }.

ISE 418 Lecture 8 12 Properties of the Lagrangian Relaxation For any u 0, LR(u) is a relaxation of (IP) (why?). Solving LR(u) yields an upper bound on the value of the optimal solution. We will show later that this bound is at least as good as the bound yielded by solving the LP relaxation. Generally, we try to choose a relaxation that allows LR(u) to be evaluated relatively easily. Recalling LP duality, one can think of u as a vector of dual variables.

ISE 418 Lecture 8 13 A (Very) Brief Tour of Duality Suppose we could obtain an optimization problem dual to (MILP) similar to the standard one we can derive for an LP. Such a dual allows us to obtain bounds on the value of an optimal solution. The advantage of a dual over a relaxation is that we need not solve it to optimality 1. Any feasible solution to the dual yields a valid bound. For (MILP), there is apparently no single standard dual problem. Nevertheless, there is a well-developed duality theory that generalizes that of LP duality, which we summarize next. This duality theory will be discussed in more detail later in the course. 1 Note, however, that duals and relaxations are close relatives in a sense we will discuss later

ISE 418 Lecture 8 14 A Quick Overview of LP Duality We consider the LP relaxation of (MILP) in standard form { x R n + Āx = b }, (LP) where Ā = [A I] and x is extended to include the slack variables. Recall that there always exists an optimal solution that is basic. We construct basic solutions by Choosing a basis B of m linearly independent columns of Ā. Solving the system Bx B = b to obtain the values of the basic variables. Setting remaining variables to value 0. If x B 0, then the associated basic solution is feasible. With respect to any basic feasible solution, it is easy to determine the impact of increasing a given activity. The reduced cost c j = c j c BB 1 Ā j. of (nonbasic) variable j tells us how the objective function value changes if we increase the level of activity j by one unit.

ISE 418 Lecture 8 15 The LP Value Function From the resource (dual) perspective, the quantity u = c B B 1 vector that tells us the marginal economic value of each resource. is a Thus, the vector u gives us a price for each resource. This price vector can be seen as the gradient of the value function φ LP (β) = max x S(β) c x, of an LP, where for a given β R m, S(d) = {x R n + Āx = d}. (LPVF) We let φ LP (β) = if β Ω = {β R m S(β) = }. These gradients can be seen as linear over-estimators of the value function. The dual problems we ll consider are essentially aimed at producing such over-estimators. We ll generalize to non-linear functions.

ISE 418 Lecture 8 16 LP Value Function Example φ LP (β) = min 6y 1 + 7y 2 + 5y 3 s.t. 2y 1 7y 2 + y 3 = β y 1, y 2, y 3 R + Note that we are minimizing here!

ISE 418 Lecture 8 17 The LP Dual To understand the structure of the value function in more detail, first note that it is easy to see φ LP is concave. Now consider an optimal basis matrix B for the instance (LP). The gradient of φ LP at b is û = c B B 1. Since φ LP (b) = û b and φ LP is concave, we know that φ LP (β) û β for all β R m. The traditional LP dual problem can be viewed as that of finding a linear function that bounds the value function from above and has minimum value at b.

ISE 418 Lecture 8 18 The LP Dual (cont d) As we have seen, for any u R m, the following gives a upper bound on φ LP (b). [ g(u) = max c x + u (b Āx)] c x + u (b x 0 Āx ) = c x = φ LP (b) With some simplification, we can obtain an explicit form for this function. g(u) = max x 0 [ c x + u (b Āx)] = u b + max x 0 (c u Ā)x Note that max x 0 (c u Ā)x = { 0, if c u Ā 0,, otherwise,

ISE 418 Lecture 8 19 The LP Dual (cont d) So we have g(u) = { u b, if c u Ā 0,, otherwise, which is again a linear over-estimator of the value function. An LP dual problem is obtained by computing the strongest linear over-estimator with respect to b. min g(u) = min u R m b u s.t. u Ā c (LPD)

ISE 418 Lecture 8 20 Combinatorial Representation of the LP Value Function From the fact that there is always an extremal optimum to (LPD), we conclude that the LP value function can be described combinatorially. φ LP (β) = min u E u β (LPVF) for β R m, where E = { c B Ā 1 E E is the index set of a dual feasible bases of Ā} Note that E is also the set of extreme points of the dual polyhedron {u R m u Ā c }.

ISE 418 Lecture 8 21 The MILP Value Function We now generalize the notions seen so far to the MILP case. The value function associated with (MILP) is φ(β) = max x S(β) c x (VF) for β R m, where S(β) = {x Z p + R n p + Āx = β}. Again, we let φ(β) = if β Ω = {β R m S(β) = }.

ISE 418 Lecture 8 22 Example: MILP Value Function φ(β) = min 1 2 x 1 + 2x 3 + x 4 s.t x 1 3 2 x 2 + x 3 x 4 = β and x 1, x 2 Z +, x 3, x 4 R +. φ(β) 3 5 2 2 3 2 1 1 2-4 7-3 5-2 3-1 0 1 2 3 4 2 2 1 1 3 5 7 2 2 2 2 2 2 Note again that we are minimizing here! β

ISE 418 Lecture 8 23 A General Dual Problem A dual function F : R m R is one that satisfies F (β) φ(β) for all β R m. How to select such a function? We may choose one that is easy to construct/evaluate and/or for which F (b) φ(b). This results in the following generalized dual of (MILP). min {F (b) : F (β) φ(β), β R m, F Υ m } (D) where Υ m {f f : R m R}. We call F strong for this instance if F is a feasible dual function and F (b) = φ(b). This dual instance always has a solution F that is strong if the value function is bounded and Υ m {f f : R m R}. Why?

ISE 418 Lecture 8 24 LP Dual Function It is straightforward to obtain a dual function: simply take the dual of the LP relaxation. In practice, working with this dual just means using dual simplex to solve the relaxations. Note again that since dual simplex maintains a dual feasible solution at all times, we can stop anytime we like. In particular, as soon as the upper bound goes below the current lower bound, we can stop solving the LP. This can save significant effort. With an LP dual, we can close the gap by adding valid inequalities to strengthen the LP relaxation. The size of the gap in this case is a measure of how well we are able to approximate the convex hull of feasible solutions (near the optimum).

ISE 418 Lecture 8 25 The Lagrangian Dual We can obtain a dual function from a Lagrangian relaxation by letting L(β, u) = where S R (d) = {x Z n + A x d} max (c x S R (β) ua )x + uβ, Then the Lagrangian dual function, φ LD, is φ LD (β) = min u 0 L(β, u) We will see a number of ways of computing φ LD (b) later in the course.

ISE 418 Lecture 8 26 Dual Functions from Branch-and-Bound As before, let T be set of the terminating nodes of the tree. Then, assuming we are branching on variable disjunctions, in a leaf node t T, the relaxation we solve is: The dual at node t: φ t (β) = max c x s.t. Āx = β, l t x u t, x 0 φ t (β) = min {π t β + π t l t + π t u t } s.t. π t A + π t + π t c π 0, π 0 We obtain the following strong dual function: max t T {ˆπt β + ˆπ t l t + ˆ π t u t }, where (ˆπ t, ˆπ t, ˆ π t ) is an optimal solution to the dual at node t.

ISE 418 Lecture 8 27 The Duality Gap In most cases, the the value of an optimal solution to a given dual problem is not equal to the value of an optimal solution to (MILP). The difference between these values for a particular instance is known as the duality gap or just the gap. It is typically reported as a percentage of the value of the best known solution (this is called the relative gap). The size of the relative gap is a rough measure of the difficulty of a problem. It can help us estimate how long it will take to solve a given problem by branch and bound.

ISE 418 Lecture 8 28 Strong Duality When the duality gap is guaranteed to be zero, we say we have a strong dual. For linear programs, the LP dual is a strong dual. For integer programs, the dual (D) is a strong dual, since the value function itself is a solution for which the gap is zero. Of course, obtaining a description of the value function is more difficult than solving theinteger program itself.