Discrete (and Continuous) Optimization WI4 131

Size: px
Start display at page:

Download "Discrete (and Continuous) Optimization WI4 131"

Transcription

1 Discrete (and Continuous) Optimization WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek URL: roos November December, A.D. 2004

2 Course Schedule 1. Formulations (18 pages) 2. Optimality, Relaxation, and Bounds (10 pages) 3. Well-solved Problems (13 pages) 4. Matching and Assigments (10 pages) 5. Dynamic Programming (11 pages) 6. Complexity and Problem Reduction (8 pages) 7. Branch and Bound (17 pages) 8. Cutting Plane Algorithms (21 pages) 9. Strong Valid Inequalities (22 pages) 10. Lagrangian Duality (14 pages) 11. Column Generation Algorithms (16 pages) 12. Heuristic Algorithms (15 pages) 13. From Theory to Solutions (20 pages) Optimization Group 1

3 Capter 5 Dynamic Programming Optimization Group 2

4 Motivation: Shortest Paths in a Network Given a directed graph D = (V, A) with nonnegative arc lengths c e for e A, and an initial node s V, the problem is to find the shortest path from s to every other node t V. s p 7 8 Observation 1 If the shortest path from s to t passes by node p, the subpaths (s, p) and (p, t) are shortest paths from s to p, and from p to t respectively. Observation 2 Let d(j) denote the length of the shortest path from s to j. Then 4 6 t d(j) = min i V (j) ( d(i) + cij ). Observation 3 If D = (V, A) is acyclic, then the nodes can be ordered such that i < j for all arcs (i, j) A (Why? N.B. Not every node can have an incoming arc!). Then the above recursion yields an O( E )-algorithm for finding the shortest paths from node 1 to all other nodes. (Apply the recursion to compute d(j) in the natural order, starting with d(1) = 0.) In a general (not acyclic) network an O( E V )-algorithm is obtained by using the recursion d k (j) = min { d k 1 (j), min i V (j) [ dk 1 (i) + c ij ] }, where d k (i) denotes the length of a shortest path form s to i containing at most k arcs. Optimization Group 3

5 Uncapacitated Lot-Sizing The problem is to find a minimum cost production plan for an n-period horizon that satisfies all the nonnegative demands d t, given the costs for production p t, storage h t and set-up f t, for t = 1,..., n. Earlier we derived the following MIP formulation: min t=1 p t x t + t=1 h t s t + s t 1 + x t = d t + s t, t=1 f t y t t = 1,..., n x t My t, t = 1,..., n s 0 = s n = 0, s R n+1, x R n, y {0,1} n. Every feasible solution corresponds to a feasible flow in the following network: 0 x 1 x 2 x 3 x 4 x 5 1 s 1 2 s 2 3 s 3 4 s 4 5 d 1 d 2 d 3 d 4 d 5 Optimization Group 4

6 Uncapacitated Lot-Sizing (cont.) 0 x 1 x 2 x 3 x 4 x 5 1 s 1 2 s 2 3 s 3 4 s 4 5 d 1 d 2 d 3 d 4 d 5 Proposition 1 (i) There exists an optimal solution with s t 1 x t = 0 for all t. (ii) There exists an optimal solution such that if x t > 0, then x t = t+k i=t d t for some k 0. Proof: The arcs used by an optimal flow form a tree. This implies (i). The second statement follows from (i). From now we use d it = t j=i d j, the total demand in periods i up to t. We can eliminate the stock variables s t from the objective function. With c t = p t + n i=t h i one has t=1 p t x t + t=1 h t s t = t=1 p t x t + t h t t=1 i=1 x i d 1t = t=1 c t x t t=1 h t d 1t, Let H(k) be the minimum cost for meeting the demands in periods 1 to k. Then we have the recursion H(k) = min 1 t k {H(t 1) + f t + c t d tk }, H(0) = 0. O(n 2 ) operations suffice to compute H(n) as well as an optimal solution. Optimization Group 5

7 Example Consider an instance of ULS with n = 4, d = (2,4,5,1), p = (3,3,3,3), h = (1,2,1,1) and f = (12,20,16,8). We then have c = (8,7,5,4), (d tk ) = , h t d 1t = t=1 Using the recursion H(k) = min 1 t k {H(t 1) + f t + c t d tk } we compute the values of H(k), starting with H(0) = 0: H(1) = H(0) + f 1 + c 1 d 11 = 28. H(2) = min[h(0) + f 1 + c 1 d 12, H(1) + f 2 + c 2 d 22 ] = min[ , ] = min[60,76] = 60. H(3) = min[h(0) + f 1 + c 1 d 13, H(1) + f 2 + c 2 d 23, H(2) + f 3 + c 3 d 33 ] = min[ , , ] = min[100,111,101] = 100. H(4) = min[h(0) + f 1 + c 1 d 14, H(1) + f 2 + c 2 d 24, H(2) + f 3 + c 3 d 34, H(2) + f 3 + c 3 d 44 ] = min[ , , , ] = min[108,118,106,112] = 106. The solution can be found by working backwards: H(4) = 106 = H(2)+f 3 +c 3 d 34, so y 3 = 1, x 3 = 6, y 4 = x 4 = 0. Furthermore, H(2) = 60 = f 1 + c 1 d 12, so y 1 = 1, x 1 = 6, y 2 = x 2 = 0. Thus we find as optimal solution: x = (6, 0, 6, 0), y = (1, 0, 1, 0), s = (4, 0, 1, 0), whose value in the original costs is = 69. Optimization Group 6

8 Example: alternative solution We can the ULS also formulate as a shortest path problem. We use nodes (0,1,..., n) and arcs (i, j) for all i < j. The cost f i+1 + c i+1 d i+1,j of arc (i, j) represent the cost of starting production in i + 1 and satisfying the demands in the periods i + 1 to j Using the data of the previous example the above network arises. In this network H(k) is equal to the length of a shortest path from node 0 tot node k, and as the graph is acyclic, the corresponding shortest path algorithm is O(m) = O(n 2 ). 90 Optimization Group 7

9 An Optimal Rooted Subtree of a Tree Given are a tree T = (V, E) and weights c v for v V. One specific node of the tree is called its root r. The problem is to find a (connected) subtree of T rooted at r with maximal positive weight. If no positive weight rooted subtree exists, the empty tree is the solution, with weight 0. For each node v( r) V its predecessor p(v) is the node immediately preceding v on the unique path form r to v; its immediate successors form the set S(v) = {w : p(w) = v}. Furthermore, the subtree T(v) is the subtree of T whose nodes are the nodes w for which the path from r to w contains v. For each node v let H(v) denote the optimal value of the optimal subtree problem for the subtree T(v) rooted at v. If the optimal subtree is empty, then H(v) = 0. Otherwise it contains v, and possibly other subtrees of T(w) for w S(v). By the principle of optimality these subtrees must themselves be optimal rooted subtrees. Thus we have the recursion: H(v) = max 0, c v + w S(v) H(w). Optimization Group 8

10 Example of an Optimal Rooted Subtree r We start with the end nodes: H(4) = H(6) = H(7) = H(11) = 0, H(9) = 5, H(10) = H(12) = H(13) = 3. Climbing one level higher we obtain: H(5) = max {0, } = 2, H(8) = max {0, } = 8. Proceeding further in this way: and finally, H(2) = max {0,2 + 2} = 4, H(3) = max {0, 8 + 8} = 0, H(1) = max {0, } = 2. Working back, we find the colored subtree being optimal, with value 2. Optimization Group 9

11 First we consider the 0-1 knapsack problem: z = max 0-1 Knapsack Problem c j x j : a j x j b, x {0,1} n Thinking of the right hand side λ as the state, with λ = 0, 1..., b, and the subset of variables x 1,..., x k as the stage, represented by k, we define the subproblems f k (λ) = max k c j x j : k The optimal value is given by f n (b). We have the recursion which can be initialized by. a j x j λ, x {0,1} k f k (λ) = max { f k 1 (λ), c k + f k 1 (λ a k ) }, f k (λ) =, k 0, λ < 0, f k (0) = 0, k 0, f 0 (λ) = 0, λ 0. The complexity of the algorithm is O(nb).. Optimization Group 10

12 Example of 0-1 Knapsack Problems Solution: λ f 0 f 1 f 2 f 3 f z = max10x 1 + 7x x x 4 2x 1 + 1x 2 + 6x 3 + 5x 4 7 x {0,1} 7. f k (λ) = max {f k 1 (λ), c k + f k 1 (λ a k )}. We first construct the table at the left, column by column, starting at the top. We find that the highest value is f 4 (7) = 34. This was obtained from f 4 (7) = c 4 + f 3 (2) = So, to obtain this value, we should have x 4 = 1 From f 3 (2) = c 1 + f 2 (2) = we deduce that x 1 = 1. The other values should be taken 0. So the optimal solution is x = (1,0,0,1). Optimization Group 11

13 Integer Knapsack Problem Now we consider the integer knapsack problem: z = max c j x j : Just as in the previous case we define the subproblems f k (λ) = max k c j x j : a j x j b, x Z n + k. a j x j λ, x Z k + The optimal value is given by f n (b). We now may use the recursion which can be initialized as before: f k (λ) = max { f k 1 (λ), c k + f k (λ a k ) }, f k (λ) =, k 0, λ < 0, f k (0) = 0, k 0, f 0 (λ) = 0, λ 0. The complexity of the algorithm is O(nb).. Optimization Group 12

14 Example of Integer Knapsack Problems z = max7x 1 + 9x 2 + 2x x 4 3x 1 + 4x 2 + 1x 3 + 7x 4 10 Solution: f 1 f 2 f 3 f 4 λ = x Z 7 +. f k (λ) = max {f k 1 (λ), c k + f k (λ a k )}, Using the recursive formula we construct the table at the left, column by column, starting at the top. We find that the highest value is f 4 (10) = 23. This was obtained from f 4 (10) = f 3 (10) = f 2 (10) = c 2 +f 2 (6) = So, to obtain this value, we should have x 2 = 1 From f 2 (6) = f 1 (6) = c 1 + f 1 (3) = 2c 1 = 14 we deduce that x 1 = 2. The other values should be taken 0. So the optimal solution is x = (2, 1, 0, 0). Optimization Group 13

15 Imrpoved Recursion for the Integer Knapsack Problem λ f 1 f 2 f 3 f Looking at the table left we see that all the important information is contained in its 4-th column, which contains the values of f n (λ). Can we write down a recursive formula for f n (λ)? The answer is yes. Again the principle of optimality works: if x is an optimal solution of h(λ) = max k c j x j : k a j x j λ, x Z k + with x j 1 then h(λ) = c j + h(λ a j ), for each j. Thus we obtain the recursion: h(λ) = max { 0, max j:a j λ. { h(λ) = cj + h(λ a j } }. The optimal value is given by h(b), and we can initialize by h(0) = 0. This also leads to an algorithm with complexity O(nb). Optimization Group 14

16 Example: Longest Path form of Integer Knapsack Problem z = max10x 1 + 7x x x 4 2x 1 + 1x 2 + 6x 3 + 5x 4 7 x Z 7 +. Construct acyclic digraph D = (V, A) with nodes 0, 1..., b, arcs (λ, λ+a j ) for λ Z +, λ b a j with weight c j for j = 1,... n, and arcs (λ, λ+1) for λ b 1 with weight 0. Then h(λ) is precisely the length of a longest path from node 0 to node λ. For the above example problem the digraph is shown below. The zero weight arcs are omitted because of dominance by the arcs with weight Optimization Group 15

Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131

Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131 Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek

More information

Discrete (and Continuous) Optimization WI4 131

Discrete (and Continuous) Optimization WI4 131 Discrete (and Continuous) Optimization WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek e-mail: C.Roos@ewi.tudelft.nl

More information

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

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 6. Lagrangian Relaxation 6.3 Lagrangian Relaxation and Integer Programming Fall 2010 Instructor: Dr. Masoud Yaghini Integer Programming Outline Branch-and-Bound Technique

More information

Introduction to Bin Packing Problems

Introduction to Bin Packing Problems Introduction to Bin Packing Problems Fabio Furini March 13, 2015 Outline Origins and applications Applications: Definition: Bin Packing Problem (BPP) Solution techniques for the BPP Heuristic Algorithms

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Sito web: http://home.deib.polimi.it/amaldi/ott-13-14.shtml A.A. 2013-14 Edoardo

More information

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

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications François Vanderbeck University of Bordeaux INRIA Bordeaux-Sud-Ouest part : Defining Extended Formulations

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-16-17.shtml Academic year 2016-17

More information

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

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 Summary so far z =max{c T x : Ax apple b, x 2 Z n +} I Modeling with IP (and MIP, and BIP) problems I Formulation for a discrete set that is a feasible region of an IP I Alternative formulations for the

More information

Decision Diagrams and Dynamic Programming

Decision Diagrams and Dynamic Programming Decision Diagrams and Dynamic Programming J. N. Hooker Carnegie Mellon University CPAIOR 13 Decision Diagrams & Dynamic Programming Binary/multivalued decision diagrams are related to dynamic programming.

More information

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

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Lagrangian Relaxation Lecture 12 Single Machine Models, Column Generation 2. Dantzig-Wolfe Decomposition Dantzig-Wolfe Decomposition Delayed Column

More information

Recoverable Robustness in Scheduling Problems

Recoverable Robustness in Scheduling Problems Master Thesis Computing Science Recoverable Robustness in Scheduling Problems Author: J.M.J. Stoef (3470997) J.M.J.Stoef@uu.nl Supervisors: dr. J.A. Hoogeveen J.A.Hoogeveen@uu.nl dr. ir. J.M. van den Akker

More information

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

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs Computational Integer Programming Lecture 2: Modeling and Formulation Dr. Ted Ralphs Computational MILP Lecture 2 1 Reading for This Lecture N&W Sections I.1.1-I.1.6 Wolsey Chapter 1 CCZ Chapter 2 Computational

More information

Extreme Point Solutions for Infinite Network Flow Problems

Extreme Point Solutions for Infinite Network Flow Problems Extreme Point Solutions for Infinite Network Flow Problems H. Edwin Romeijn Dushyant Sharma Robert L. Smith January 3, 004 Abstract We study capacitated network flow problems with supplies and demands

More information

Maximum flow problem (part I)

Maximum flow problem (part I) Maximum flow problem (part I) Combinatorial Optimization Giovanni Righini Università degli Studi di Milano Definitions A flow network is a digraph D = (N,A) with two particular nodes s and t acting as

More information

Chapter 7 Network Flow Problems, I

Chapter 7 Network Flow Problems, I Chapter 7 Network Flow Problems, I Network flow problems are the most frequently solved linear programming problems. They include as special cases, the assignment, transportation, maximum flow, and shortest

More information

Chapter 8 Dynamic Programming

Chapter 8 Dynamic Programming Chapter 8 Dynamic Programming Copyright 007 Pearson Addison-Wesley. All rights reserved. Dynamic Programming Dynamic Programming is a general algorithm design technique for solving problems defined by

More information

A maritime version of the Travelling Salesman Problem

A maritime version of the Travelling Salesman Problem A maritime version of the Travelling Salesman Problem Enrico Malaguti, Silvano Martello, Alberto Santini May 31, 2015 Plan 1 The Capacitated TSP with Pickup and Delivery 2 The TSPPD with Draught Limits

More information

In the original knapsack problem, the value of the contents of the knapsack is maximized subject to a single capacity constraint, for example weight.

In the original knapsack problem, the value of the contents of the knapsack is maximized subject to a single capacity constraint, for example weight. In the original knapsack problem, the value of the contents of the knapsack is maximized subject to a single capacity constraint, for example weight. In the multi-dimensional knapsack problem, additional

More information

The Generalized Regenerator Location Problem

The Generalized Regenerator Location Problem The Generalized Regenerator Location Problem Si Chen Ivana Ljubić S. Raghavan College of Business and Public Affairs, Murray State University Murray, KY 42071, USA Faculty of Business, Economics, and Statistics,

More information

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t.

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t. Modelling with Integer Variables jesla@mandtudk Department of Management Engineering Technical University of Denmark What is an integer program? Let us start with a linear program: st Ax b x 0 where A

More information

Column Generation. i = 1,, 255;

Column Generation. i = 1,, 255; Column Generation The idea of the column generation can be motivated by the trim-loss problem: We receive an order to cut 50 pieces of.5-meter (pipe) segments, 250 pieces of 2-meter segments, and 200 pieces

More information

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

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Definition: An Integer Linear Programming problem is an optimization problem of the form (ILP) min

More information

Introduction to integer programming III:

Introduction to integer programming III: Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability

More information

Integer Programming. Wolfram Wiesemann. December 6, 2007

Integer Programming. Wolfram Wiesemann. December 6, 2007 Integer Programming Wolfram Wiesemann December 6, 2007 Contents of this Lecture Revision: Mixed Integer Programming Problems Branch & Bound Algorithms: The Big Picture Solving MIP s: Complete Enumeration

More information

3.10 Lagrangian relaxation

3.10 Lagrangian relaxation 3.10 Lagrangian relaxation Consider a generic ILP problem min {c t x : Ax b, Dx d, x Z n } with integer coefficients. Suppose Dx d are the complicating constraints. Often the linear relaxation and the

More information

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.

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. ex-.-. Foundations of Operations Research Prof. E. Amaldi. Dual simplex algorithm Given the linear program minx + x + x x + x + x 6 x + x + x x, x, x. solve it via the dual simplex algorithm. Describe

More information

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Guy Desaulniers École Polytechnique de Montréal and GERAD Column Generation 2008 Aussois, France Outline Introduction

More information

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Totally unimodular matrices Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and

More information

Introduction to Integer Linear Programming

Introduction to Integer Linear Programming Lecture 7/12/2006 p. 1/30 Introduction to Integer Linear Programming Leo Liberti, Ruslan Sadykov LIX, École Polytechnique liberti@lix.polytechnique.fr sadykov@lix.polytechnique.fr Lecture 7/12/2006 p.

More information

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective Vehicle routing problem 1 / 33 Cutting stock

More information

Introduction into Vehicle Routing Problems and other basic mixed-integer problems

Introduction into Vehicle Routing Problems and other basic mixed-integer problems Introduction into Vehicle Routing Problems and other basic mixed-integer problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability and Mathematical

More information

Graphs and Network Flows IE411. Lecture 12. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 12. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 12 Dr. Ted Ralphs IE411 Lecture 12 1 References for Today s Lecture Required reading Sections 21.1 21.2 References AMO Chapter 6 CLRS Sections 26.1 26.2 IE411 Lecture

More information

x 1 + 4x 2 = 5, 7x 1 + 5x 2 + 2x 3 4,

x 1 + 4x 2 = 5, 7x 1 + 5x 2 + 2x 3 4, LUNDS TEKNISKA HÖGSKOLA MATEMATIK LÖSNINGAR LINJÄR OCH KOMBINATORISK OPTIMERING 2018-03-16 1. a) The rst thing to do is to rewrite the problem so that the right hand side of all constraints are positive.

More information

Discrete Optimization 23

Discrete Optimization 23 Discrete Optimization 23 2 Total Unimodularity (TU) and Its Applications In this section we will discuss the total unimodularity theory and its applications to flows in networks. 2.1 Total Unimodularity:

More information

RO: Exercices Mixed Integer Programming

RO: Exercices Mixed Integer Programming RO: Exercices Mixed Integer Programming N. Brauner Université Grenoble Alpes Exercice 1 : Knapsack A hiker wants to fill up his knapsack of capacity W = 6 maximizing the utility of the objects he takes.

More information

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

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2 ex-5.-5. Foundations of Operations Research Prof. E. Amaldi 5. Branch-and-Bound Given the integer linear program maxz = x +x x +x 6 x +x 9 x,x integer solve it via the Branch-and-Bound method (solving

More information

Determine the size of an instance of the minimum spanning tree problem.

Determine the size of an instance of the minimum spanning tree problem. 3.1 Algorithm complexity Consider two alternative algorithms A and B for solving a given problem. Suppose A is O(n 2 ) and B is O(2 n ), where n is the size of the instance. Let n A 0 be the size of the

More information

CS483 Design and Analysis of Algorithms

CS483 Design and Analysis of Algorithms CS483 Design and Analysis of Algorithms Lectures 15-16 Dynamic Programming Instructor: Fei Li lifei@cs.gmu.edu with subject: CS483 Office hours: STII, Room 443, Friday 4:00pm - 6:00pm or by appointments

More information

Cutting Plane Separators in SCIP

Cutting Plane Separators in SCIP Cutting Plane Separators in SCIP Kati Wolter Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies 1 / 36 General Cutting Plane Method MIP min{c T x : x X MIP }, X MIP := {x

More information

The Separation Problem for Binary Decision Diagrams

The Separation Problem for Binary Decision Diagrams The Separation Problem for Binary Decision Diagrams J. N. Hooker Joint work with André Ciré Carnegie Mellon University ISAIM 2014 Separation Problem in Optimization Given a relaxation of an optimization

More information

arxiv: v1 [cs.ds] 26 Feb 2016

arxiv: v1 [cs.ds] 26 Feb 2016 On the computational complexity of minimum-concave-cost flow in a two-dimensional grid Shabbir Ahmed, Qie He, Shi Li, George L. Nemhauser arxiv:1602.08515v1 [cs.ds] 26 Feb 2016 Abstract We study the minimum-concave-cost

More information

Chapter 8 Dynamic Programming

Chapter 8 Dynamic Programming Chapter 8 Dynamic Programming Copyright 2007 Pearson Addison-Wesley. All rights reserved. Dynamic Programming Dynamic Programming is a general algorithm design technique for solving problems defined by

More information

3.7 Strong valid inequalities for structured ILP problems

3.7 Strong valid inequalities for structured ILP problems 3.7 Strong valid inequalities for structured ILP problems By studying the problem structure, we can derive strong valid inequalities yielding better approximations of conv(x ) and hence tighter bounds.

More information

On the Equivalence of Strong Formulations for Capacitated Multi-level Lot Sizing Problems with Setup Times

On the Equivalence of Strong Formulations for Capacitated Multi-level Lot Sizing Problems with Setup Times On the Equivalence of Strong Formulations for Capacitated Multi-level Lot Sizing Problems with Setup Times Tao Wu 1, Leyuan Shi 1, Joseph Geunes 2, Kerem Akartunalı 3 1 Department of Industrial and Systems

More information

Stochastic Shortest Path Problems

Stochastic Shortest Path Problems Chapter 8 Stochastic Shortest Path Problems 1 In this chapter, we study a stochastic version of the shortest path problem of chapter 2, where only probabilities of transitions along different arcs can

More information

BBM402-Lecture 20: LP Duality

BBM402-Lecture 20: LP Duality BBM402-Lecture 20: LP Duality Lecturer: Lale Özkahya Resources for the presentation: https://courses.engr.illinois.edu/cs473/fa2016/lectures.html An easy LP? which is compact form for max cx subject to

More information

3.8 Strong valid inequalities

3.8 Strong valid inequalities 3.8 Strong valid inequalities By studying the problem structure, we can derive strong valid inequalities which lead to better approximations of the ideal formulation conv(x ) and hence to tighter bounds.

More information

Disconnecting Networks via Node Deletions

Disconnecting Networks via Node Deletions 1 / 27 Disconnecting Networks via Node Deletions Exact Interdiction Models and Algorithms Siqian Shen 1 J. Cole Smith 2 R. Goli 2 1 IOE, University of Michigan 2 ISE, University of Florida 2012 INFORMS

More information

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

Column Generation. ORLAB - Operations Research Laboratory. Stefano Gualandi. June 14, Politecnico di Milano, Italy ORLAB - Operations Research Laboratory Politecnico di Milano, Italy June 14, 2011 Cutting Stock Problem (from wikipedia) Imagine that you work in a paper mill and you have a number of rolls of paper of

More information

A Dynamic Programming algorithm for minimizing total cost of duplication in scheduling an outtree with communication delays and duplication

A Dynamic Programming algorithm for minimizing total cost of duplication in scheduling an outtree with communication delays and duplication A Dynamic Programming algorithm for minimizing total cost of duplication in scheduling an outtree with communication delays and duplication Claire Hanen Laboratory LIP6 4, place Jussieu F-75 252 Paris

More information

2007/87. Valid inequalities for the single-item capacitated lot sizing problem with step-wise costs. Ayse Akbalik and Yves Pochet

2007/87. Valid inequalities for the single-item capacitated lot sizing problem with step-wise costs. Ayse Akbalik and Yves Pochet 2007/87 Valid inequalities for the single-item capacitated lot sizing problem with step-wise costs Ayse Akbalik and Yves Pochet CORE DISCUSSION PAPER 2007/87 Valid inequalities for the single-item capacitated

More information

CAPACITATED LOT-SIZING PROBLEM WITH SETUP TIMES, STOCK AND DEMAND SHORTAGES

CAPACITATED LOT-SIZING PROBLEM WITH SETUP TIMES, STOCK AND DEMAND SHORTAGES CAPACITATED LOT-SIZING PROBLEM WITH SETUP TIMES, STOCK AND DEMAND SHORTAGES Nabil Absi,1 Safia Kedad-Sidhoum Laboratoire d Informatique d Avignon, 339 chemin des Meinajariès, 84911 Avignon Cedex 09, France

More information

Flow Shop and Job Shop Models

Flow Shop and Job Shop Models Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 11 Flow Shop and Job Shop Models 1. Flow Shop 2. Job Shop Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Resume Permutation

More information

On improving matchings in trees, via bounded-length augmentations 1

On improving matchings in trees, via bounded-length augmentations 1 On improving matchings in trees, via bounded-length augmentations 1 Julien Bensmail a, Valentin Garnero a, Nicolas Nisse a a Université Côte d Azur, CNRS, Inria, I3S, France Abstract Due to a classical

More information

Integer Linear Programming (ILP)

Integer Linear Programming (ILP) Integer Linear Programming (ILP) Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU in Prague March 8, 2017 Z. Hanzálek (CTU) Integer Linear Programming (ILP) March 8, 2017 1 / 43 Table of contents

More information

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM EXERCISES Prepared by Natashia Boland 1 and Irina Dumitrescu 2 1 Applications and Modelling 1.1

More information

Decision Diagrams: Tutorial

Decision Diagrams: Tutorial Decision Diagrams: Tutorial John Hooker Carnegie Mellon University CP Summer School Cork, Ireland, June 2016 Decision Diagrams Used in computer science and AI for decades Logic circuit design Product configuration

More information

Contents college 5 and 6 Branch and Bound; Beam Search (Chapter , book)! general introduction

Contents college 5 and 6 Branch and Bound; Beam Search (Chapter , book)! general introduction Contents college 5 and 6 Branch and Bound; Beam Search (Chapter 3.4-3.5, book)! general introduction Job Shop Scheduling (Chapter 5.1-5.3, book) ffl branch and bound (5.2) ffl shifting bottleneck heuristic

More information

Travelling Salesman Problem

Travelling Salesman Problem Travelling Salesman Problem Fabio Furini November 10th, 2014 Travelling Salesman Problem 1 Outline 1 Traveling Salesman Problem Separation Travelling Salesman Problem 2 (Asymmetric) Traveling Salesman

More information

Introduction to integer programming II

Introduction to integer programming II Introduction to integer programming II Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability and Mathematical Statistics Computational Aspects of Optimization

More information

1 Basic Definitions. 2 Proof By Contradiction. 3 Exchange Argument

1 Basic Definitions. 2 Proof By Contradiction. 3 Exchange Argument 1 Basic Definitions A Problem is a relation from input to acceptable output. For example, INPUT: A list of integers x 1,..., x n OUTPUT: One of the three smallest numbers in the list An algorithm A solves

More information

Computational Complexity

Computational Complexity Computational Complexity Algorithm performance and difficulty of problems So far we have seen problems admitting fast algorithms flow problems, shortest path, spanning tree... and other problems for which

More information

Math 5490 Network Flows

Math 5490 Network Flows Math 90 Network Flows Lecture 8: Flow Decomposition Algorithm Stephen Billups University of Colorado at Denver Math 90Network Flows p./6 Flow Decomposition Algorithms Two approaches to modeling network

More information

3.4 Relaxations and bounds

3.4 Relaxations and bounds 3.4 Relaxations and bounds Consider a generic Discrete Optimization problem z = min{c(x) : x X} with an optimal solution x X. In general, the algorithms generate not only a decreasing sequence of upper

More information

Sequential pairing of mixed integer inequalities

Sequential pairing of mixed integer inequalities Sequential pairing of mixed integer inequalities Yongpei Guan, Shabbir Ahmed, George L. Nemhauser School of Industrial & Systems Engineering, Georgia Institute of Technology, 765 Ferst Drive, Atlanta,

More information

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

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018 Section Notes 9 Midterm 2 Review Applied Math / Engineering Sciences 121 Week of December 3, 2018 The following list of topics is an overview of the material that was covered in the lectures and sections

More information

Branching Rules for Minimum Congestion Multi- Commodity Flow Problems

Branching Rules for Minimum Congestion Multi- Commodity Flow Problems Clemson University TigerPrints All Theses Theses 8-2012 Branching Rules for Minimum Congestion Multi- Commodity Flow Problems Cameron Megaw Clemson University, cmegaw@clemson.edu Follow this and additional

More information

This observation leads to the following algorithm.

This observation leads to the following algorithm. 126 Andreas Jakoby A Bounding-Function for the Knapsack Problem Finding a useful bounding-function is for most problems a difficult task. Let us consider the Knapsack Problem: Let us consider the version

More information

All-Pairs Shortest Paths

All-Pairs Shortest Paths All-Pairs Shortest Paths Version of October 28, 2016 Version of October 28, 2016 All-Pairs Shortest Paths 1 / 26 Outline Another example of dynamic programming Will see two different dynamic programming

More information

On the Complexity of Mapping Pipelined Filtering Services on Heterogeneous Platforms

On the Complexity of Mapping Pipelined Filtering Services on Heterogeneous Platforms On the Complexity of Mapping Pipelined Filtering Services on Heterogeneous Platforms Anne Benoit, Fanny Dufossé and Yves Robert LIP, École Normale Supérieure de Lyon, France {Anne.Benoit Fanny.Dufosse

More information

On the Sandwich Theorem and a approximation algorithm for MAX CUT

On the Sandwich Theorem and a approximation algorithm for MAX CUT On the Sandwich Theorem and a 0.878-approximation algorithm for MAX CUT Kees Roos Technische Universiteit Delft Faculteit Electrotechniek. Wiskunde en Informatica e-mail: C.Roos@its.tudelft.nl URL: http://ssor.twi.tudelft.nl/

More information

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

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502) Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik Combinatorial Optimization (MA 4502) Dr. Michael Ritter Problem Sheet 1 Homework Problems Exercise

More information

CS360 Homework 12 Solution

CS360 Homework 12 Solution CS360 Homework 12 Solution Constraint Satisfaction 1) Consider the following constraint satisfaction problem with variables x, y and z, each with domain {1, 2, 3}, and constraints C 1 and C 2, defined

More information

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

where X is the feasible region, i.e., the set of the feasible solutions. 3.5 Branch and Bound Consider a generic Discrete Optimization problem (P) z = max{c(x) : x X }, where X is the feasible region, i.e., the set of the feasible solutions. Branch and Bound is a general semi-enumerative

More information

Integer programming: an introduction. Alessandro Astolfi

Integer programming: an introduction. Alessandro Astolfi Integer programming: an introduction Alessandro Astolfi Outline Introduction Examples Methods for solving ILP Optimization on graphs LP problems with integer solutions Summary Introduction Integer programming

More information

Decomposition Methods for Integer Programming

Decomposition Methods for Integer Programming Decomposition Methods for Integer Programming J.M. Valério de Carvalho vc@dps.uminho.pt Departamento de Produção e Sistemas Escola de Engenharia, Universidade do Minho Portugal PhD Course Programa Doutoral

More information

Decision Diagrams for Discrete Optimization

Decision Diagrams for Discrete Optimization Decision Diagrams for Discrete Optimization Willem Jan van Hoeve Tepper School of Business Carnegie Mellon University www.andrew.cmu.edu/user/vanhoeve/mdd/ Acknowledgments: David Bergman, Andre Cire, Samid

More information

Greedy Algorithms My T. UF

Greedy Algorithms My T. UF Introduction to Algorithms Greedy Algorithms @ UF Overview A greedy algorithm always makes the choice that looks best at the moment Make a locally optimal choice in hope of getting a globally optimal solution

More information

On the Polyhedral Structure of a Multi Item Production Planning Model with Setup Times

On the Polyhedral Structure of a Multi Item Production Planning Model with Setup Times CORE DISCUSSION PAPER 2000/52 On the Polyhedral Structure of a Multi Item Production Planning Model with Setup Times Andrew J. Miller 1, George L. Nemhauser 2, and Martin W.P. Savelsbergh 2 November 2000

More information

Uncapacitated Lot Sizing with Backlogging: The Convex Hull

Uncapacitated Lot Sizing with Backlogging: The Convex Hull Mathematical Programming manuscript No. (will be inserted by the editor) Simge Küçükyavuz Yves Pochet Uncapacitated Lot Sizing with Backlogging: The Convex Hull January 2007, revised July 2007 Abstract

More information

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

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP) INTEGER PROGRAMMING Integer Programming g In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

More information

On solving multi-type railway line planning problems

On solving multi-type railway line planning problems On solving multi-type railway line planning problems Jan-Willem Goossens Stan van Hoesel Leo Kroon February 13, 2004 Abstract An important strategic element in the planning process of a railway operator

More information

Mathematics for Decision Making: An Introduction. Lecture 13

Mathematics for Decision Making: An Introduction. Lecture 13 Mathematics for Decision Making: An Introduction Lecture 13 Matthias Köppe UC Davis, Mathematics February 17, 2009 13 1 Reminder: Flows in networks General structure: Flows in networks In general, consider

More information

2001 Dennis L. Bricker Dept. of Industrial Engineering The University of Iowa. Reducing dimensionality of DP page 1

2001 Dennis L. Bricker Dept. of Industrial Engineering The University of Iowa. Reducing dimensionality of DP page 1 2001 Dennis L. Bricker Dept. of Industrial Engineering The University of Iowa Reducing dimensionality of DP page 1 Consider a knapsack with a weight capacity of 15 and a volume capacity of 12. Item # Value

More information

Combinatorial optimization problems

Combinatorial optimization problems Combinatorial optimization problems Heuristic Algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) Optimization In general an optimization problem can be formulated as:

More information

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

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2017 04 07 Lecture 8 Linear and integer optimization with applications

More information

4y Springer NONLINEAR INTEGER PROGRAMMING

4y Springer NONLINEAR INTEGER PROGRAMMING NONLINEAR INTEGER PROGRAMMING DUAN LI Department of Systems Engineering and Engineering Management The Chinese University of Hong Kong Shatin, N. T. Hong Kong XIAOLING SUN Department of Mathematics Shanghai

More information

Unit 1A: Computational Complexity

Unit 1A: Computational Complexity Unit 1A: Computational Complexity Course contents: Computational complexity NP-completeness Algorithmic Paradigms Readings Chapters 3, 4, and 5 Unit 1A 1 O: Upper Bounding Function Def: f(n)= O(g(n)) if

More information

Polynomial time algorithms for some multi-level lot-sizing problems with production capacities

Polynomial time algorithms for some multi-level lot-sizing problems with production capacities Polynomial time algorithms for some multi-level lot-sizing problems with production capacities Stan van Hoesel, H. Edwin Romeijn, Dolores Romero Morales, Albert P.M. Wagelmans ERIM REPORT SERIES RESEARCH

More information

Weighted Acyclic Di-Graph Partitioning by Balanced Disjoint Paths

Weighted Acyclic Di-Graph Partitioning by Balanced Disjoint Paths Weighted Acyclic Di-Graph Partitioning by Balanced Disjoint Paths H. Murat AFSAR Olivier BRIANT Murat.Afsar@g-scop.inpg.fr Olivier.Briant@g-scop.inpg.fr G-SCOP Laboratory Grenoble Institute of Technology

More information

Advanced Linear Programming: The Exercises

Advanced Linear Programming: The Exercises Advanced Linear Programming: The Exercises The answers are sometimes not written out completely. 1.5 a) min c T x + d T y Ax + By b y = x (1) First reformulation, using z smallest number satisfying x z

More information

0-1 Reformulations of the Network Loading Problem

0-1 Reformulations of the Network Loading Problem 0-1 Reformulations of the Network Loading Problem Antonio Frangioni 1 frangio@di.unipi.it Bernard Gendron 2 bernard@crt.umontreal.ca 1 Dipartimento di Informatica Università di Pisa Via Buonarroti, 2 56127

More information

Stochastic Decision Diagrams

Stochastic Decision Diagrams Stochastic Decision Diagrams John Hooker CORS/INFORMS Montréal June 2015 Objective Relaxed decision diagrams provide an generalpurpose method for discrete optimization. When the problem has a dynamic programming

More information

Introduction to Integer Programming

Introduction to Integer Programming Lecture 3/3/2006 p. /27 Introduction to Integer Programming Leo Liberti LIX, École Polytechnique liberti@lix.polytechnique.fr Lecture 3/3/2006 p. 2/27 Contents IP formulations and examples Total unimodularity

More information

Modelling linear and linear integer optimization problems An introduction

Modelling linear and linear integer optimization problems An introduction Modelling linear and linear integer optimization problems An introduction Karen Aardal October 5, 2015 In optimization, developing and analyzing models are key activities. Designing a model is a skill

More information

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

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 21 Dr. Ted Ralphs IE406 Lecture 21 1 Reading for This Lecture Bertsimas Sections 10.2, 10.3, 11.1, 11.2 IE406 Lecture 21 2 Branch and Bound Branch

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making (discrete optimization) problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock,

More information

Projection in Logic, CP, and Optimization

Projection in Logic, CP, and Optimization Projection in Logic, CP, and Optimization John Hooker Carnegie Mellon University Workshop on Logic and Search Melbourne, 2017 Projection as a Unifying Concept Projection is a fundamental concept in logic,

More information

Lecture 9: Dantzig-Wolfe Decomposition

Lecture 9: Dantzig-Wolfe Decomposition Lecture 9: Dantzig-Wolfe Decomposition (3 units) Outline Dantzig-Wolfe decomposition Column generation algorithm Relation to Lagrangian dual Branch-and-price method Generated assignment problem and multi-commodity

More information

University of California Berkeley CS170: Efficient Algorithms and Intractable Problems November 19, 2001 Professor Luca Trevisan. Midterm 2 Solutions

University of California Berkeley CS170: Efficient Algorithms and Intractable Problems November 19, 2001 Professor Luca Trevisan. Midterm 2 Solutions University of California Berkeley Handout MS2 CS170: Efficient Algorithms and Intractable Problems November 19, 2001 Professor Luca Trevisan Midterm 2 Solutions Problem 1. Provide the following information:

More information