Network Flows. 7. Multicommodity Flows Problems. Fall 2010 Instructor: Dr. Masoud Yaghini

Similar documents
Part 1. The Review of Linear Programming

Part 4. Decomposition Algorithms

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

Relation of Pure Minimum Cost Flow Model to Linear Programming

DEPARTMENT OF STATISTICS AND OPERATIONS RESEARCH OPERATIONS RESEARCH DETERMINISTIC QUALIFYING EXAMINATION. Part I: Short Questions

Network Flows. 4. Maximum Flows Problems. Fall 2010 Instructor: Dr. Masoud Yaghini

Linear Programming. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Linear Programming 1 / 47

Minimum cost transportation problem

Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004

Chapter 7 Network Flow Problems, I

Part 1. The Review of Linear Programming

4.6 Linear Programming duality

(includes both Phases I & II)

A Capacity Scaling Procedure for the Multi-Commodity Capacitated Network Design Problem. Ryutsu Keizai University Naoto KATAYAMA

Multicommodity Flows and Column Generation

Exercises - Linear Programming

(includes both Phases I & II)

Lecture 9: Dantzig-Wolfe Decomposition

IE 5531: Engineering Optimization I

The use of shadow price is an example of sensitivity analysis. Duality theory can be applied to do other kind of sensitivity analysis:

Chap6 Duality Theory and Sensitivity Analysis

Linear Programming in Matrix Form

Sensitivity Analysis and Duality in LP

An example of LP problem: Political Elections

Worked Examples for Chapter 5

Linear Programming Duality

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

Maximum Flow Problem (Ford and Fulkerson, 1956)

56:171 Operations Research Midterm Exam--15 October 2002

Lecture 9 Tuesday, 4/20/10. Linear Programming


Part 1. The Review of Linear Programming Introduction

TRANSPORTATION PROBLEMS

(P ) Minimize 4x 1 + 6x 2 + 5x 3 s.t. 2x 1 3x 3 3 3x 2 2x 3 6

Simplex tableau CE 377K. April 2, 2015

u = 50 u = 30 Generalized Maximum Flow Problem s u = 00 2 u = 00 u = 50 4 = 3=4 u = 00 t capacity u = 20 3 u = 20 = =2 5 u = 00 gain/loss factor Max o

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

Notes on Dantzig-Wolfe decomposition and column generation

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

Discrete Optimization 23

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

4.4 The Simplex Method and the Standard Minimization Problem

On the Number of Solutions Generated by the Simplex Method for LP

Slack Variable. Max Z= 3x 1 + 4x 2 + 5X 3. Subject to: X 1 + X 2 + X x 1 + 4x 2 + X X 1 + X 2 + 4X 3 10 X 1 0, X 2 0, X 3 0

Review Solutions, Exam 2, Operations Research

MATH 373 Section A1. Final Exam. Dr. J. Bowman 17 December :00 17:00

OPERATIONS RESEARCH. Michał Kulej. Business Information Systems

29 Linear Programming

The Dual Simplex Algorithm

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

4. Duality Duality 4.1 Duality of LPs and the duality theorem. min c T x x R n, c R n. s.t. ai Tx = b i i M a i R n

56:171 Operations Research Fall 1998

The simplex algorithm

56:270 Final Exam - May

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

Lecture 11 Linear programming : The Revised Simplex Method

Note 3: LP Duality. If the primal problem (P) in the canonical form is min Z = n (1) then the dual problem (D) in the canonical form is max W = m (2)

Linear Programming: Chapter 5 Duality

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

min 4x 1 5x 2 + 3x 3 s.t. x 1 + 2x 2 + x 3 = 10 x 1 x 2 6 x 1 + 3x 2 + x 3 14

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017

Week 4. (1) 0 f ij u ij.

Network Flow Problems Luis Goddyn, Math 408

Lecture 8: Column Generation

Math Models of OR: Some Definitions

Part IB Optimisation

Lecture 13: Polynomial-Time Algorithms for Min Cost Flows. (Reading: AM&O Chapter 10)

. CS711008Z Algorithm Design and Analysis. Lecture 10. Algorithm design technique: Network flow and its applications 1. Dongbo Bu

Minimum Cost Flow Problem on Dynamic Multi Generative Networks

Duality of LPs and Applications

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique.

Lecture 5. x 1,x 2,x 3 0 (1)


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

Advanced Linear Programming: The Exercises

Math Models of OR: Sensitivity Analysis

0-1 Reformulations of the Network Loading Problem

Solving Dual Problems

/3 4 1/2. x ij. p ij

Introduction 1.1 PROBLEM FORMULATION

6.1 Matrices. Definition: A Matrix A is a rectangular array of the form. A 11 A 12 A 1n A 21. A 2n. A m1 A m2 A mn A 22.

Overview of course. Introduction to Optimization, DIKU Monday 12 November David Pisinger

December 2014 MATH 340 Name Page 2 of 10 pages

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

2. Network flows. Balance of flow: At each node, demand plus total shipments out must equal supply plus total shipments in. Reno. Denver.

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

"SYMMETRIC" PRIMAL-DUAL PAIR

F 1 F 2 Daily Requirement Cost N N N

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

Welcome to CPSC 4850/ OR Algorithms

On the Approximate Linear Programming Approach for Network Revenue Management Problems

CS 6820 Fall 2014 Lectures, October 3-20, 2014

Friday, September 21, Flows

Column Generation. i = 1,, 255;

Modeling Network Optimization Problems

The dual simplex method with bounds

+ 5x 2. = x x. + x 2. Transform the original system into a system x 2 = x x 1. = x 1

On the number of distinct solutions generated by the simplex method for LP

March 13, Duality 3

Transcription:

In the name of God Network Flows 7. Multicommodity Flows Problems 7.3 Column Generation Approach Fall 2010 Instructor: Dr. Masoud Yaghini

Path Flow Formulation

Path Flow Formulation Let first reformulate the multicommodity flow problem using path flows instead of arc flows. Let assume that for every commodity the arc flow costs are all nonnegative. we can represent any potentially optimal solution as the sum of flows on directed paths.

Path Flow Formulation The path flow formulation: p k : the collection of all directed paths from the source node s k to the sink node t k, for each commodity k, in the underlying network G = (N, A). f(p) : variables for every directed path P in p k, that is the flow on some path P and for the kth commodity δ ij (P) : an arc-path indicator variable, that is, δ ij (P) = 1 if arc(i, j) is contained in the path P, and is 0 otherwise. We can always decompose some optimal arc flow into path flows as follows:

Path Flow Formulation The path flow formulation: c k (P) : the per unit cost of flow on the path PœP k with respect to the commodity k. if we substitute for the arc flow variables in the objective if we substitute for the arc flow variables in the objective function, interchange the order of the summations, and collect terms, we find that:

Path Flow Formulation The path flow formulation :

Path Flow Formulation The path flow formulation: The problem has a single constraint for each arc (i, j) which states that the sum of the path flows passing through the arc is at most u ij, the capacity of the arc. The problem has a single constraint for each commodity k which states that the total flow on all the paths connecting the source node s k and sink node t k of commodity k must equal the demand d k for this commodity.

Path Formulation vs. Arc Formulation The path formulation vs. arc formulation For a network with n nodes, m arcs, and K commodities, the path flow formulation contains m + K constraints The arc formulation contains m + nk constraints since it contains one mass balance constraint for every node and commodity combination.

Path Formulation vs. Arc Formulation The path formulation vs. arc formulation a network with n = 1000 nodes and m = 5000 arcs and with a commodity between every pair of nodes has approximately K = n 2 = 1,000,000 commodities. The path flow formulation contains about 1,005,000 constraints. The arc flow formulation contains about 1,000,005,000 constraints. We can apply a specialized version of the simplex method, known as the generalized upper bounding simplex method, to solve the path flow formulation very efficiently.

Path Formulation vs. Arc Formulation The path formulation vs. arc formulation The path flow formulation has a variable for every path connecting a source and sink node for each of the commodities. The number of these variables will typically be enormous, growing exponentially in the size of the network. We might expect that only very few of the paths will carry flow in the optimal solution to the problem. Linear programming theory permits us to show that at most K + m paths carry positive flow in some optimal solution to the problem.

Path Formulation vs. Arc Formulation The path formulation vs. arc formulation For a problem with 1,000,000 commodities and 5,000 arcs, we could, in principle, solve the path flow formulation using 1,005,000 paths. If we knew the optimal set of paths, or a very good set of paths, we could obtain an optimal solution (i.e., values for the path flows) by solving a linear program containing just the commodities with two or more sets of paths.

Optimality Conditions

Optimality Conditions The revised simplex method of linear programming maintains a basis at every step, and using this basis determines a vector of simplex multipliers for the constraints. The path flow formulation contains: one bundle constraint for each arc, and one demand constraint for every commodity,

Optimality Conditions The dual program of the path flow formulation contains : w ij : (arc price) a dual variable for each arc σ k : (commodity cost) a dual variable for each commodity k = 1, 2,, K. The reduced cost for each path flow variable The reduced cost for each path flow variable f(p) is:

Optimality Conditions Path flow complementary slackness conditions: The path flows f(p) are optimal in the path flow formulation if and only if for some arc prices w ij and commodity prices σ k, the reduced costs and arc flows satisfy the following conditions:

Optimality Conditions The complementary slackness condition (b) states that the price w ij of arc (i, j) is zero if the optimal solution f(p) does not use all of the capacity u ij of the arc. That is, if the optimal solution does not fully use the capacity of that arc, we could ignore the constraint (place no price on it).

Optimality Conditions In reduced cost of path P : Since the cost c k (P) of path P is just the sum of the cost of the arcs contained in that path, that is, we can write the reduced cost of path P as That is, the reduced cost of path P is just the cost of that path with respect to the modified costs minus the commodity cost σ k.

Optimality Conditions In the complementary slackness condition (b) Since, So, it states that the modified path cost for each path connecting the source node s k and the sink node t k of commodity k must be at least as large as the commodity cost σ k.

Optimality Conditions The complementary slackness condition (c) This condition implies that reduced cost must be zero for any path P that carries flow in the optimal solution i.e., for which the flow f(p) > 0; that is, the modified cost of this path must equal the commodity cost σ k.

Optimality Conditions Conditions (b) and (c) imply that σ k is the shortest path distance from node s k to node t k with respect to the modified costs and in the optimal solution every path from node s k to node t k that carries a positive flow must be a shortest path with respect to the modified costs. This result shows that the arc costs w ij permit us to decompose the multicommodity flow problem into a set of independent "modified" cost shortest path problems.

Column Generation Solution Procedure

Column Generation Solution Procedure In the path flow formulation there is an enormous number of columns-with one flow variable for each path connecting the source and sink of any commodity. We have also shown how to characterize any optimal solution to this formulation in terms of the linear programming dual variables w ij and σ k, interpreting these conditions as shortest path conditions with respect to the modified arc costs:

Column Generation Solution Procedure The key idea in column generation is never to list explicitly all of the columns of the problem formulation, but rather to generate them only "as needed." The revised simplex method is perfectly suited for carrying out this algorithmic strategy. The revised simplex method maintains a basis B each iteration. It uses this basis to define a set of simplex multipliers π via the matrix computation π B = c B (in our application, the multipliers are w and σ).

Column Generation Solution Procedure The method defines the simplex multipliers so that the reduced costs of the basic variables are zero; that is, To find the simplex multipliers, the method requires no information about columns (variables) not in the basis. It then uses the multipliers to price-out the nonbasic columns, that is, compute their reduced costs.

Column Generation Solution Procedure If any reduced cost is negative (assuming a minimization formulation), the method will introduce one nonbasic variable into the basis in place of one of the current basic variables, recompute the simplex multipliers π, and then repeat these computations. To use the column generation approach, the columns To use the column generation approach, the columns should have structural properties that permit us to perform the pricing out operations without explicitly examining every column.

Column Generation Solution Procedure When applied to the path flow formulation, with respect to the current basis at any step (which is composed of a set of columns, or path variables), the revised simplex method defines the simplex multipliers w ij and σ k so that the reduced cost of every variable in the basis is zero. Therefore, if a path P connecting the source s k and sink t k for commodity k is one of the basic variables, then: or equivalently,

Column Generation Solution Procedure Therefore, the revised simplex method determines the simplex multipliers w ij and σ k so that they satisfy the following equations for every path P in the basis.

Column Generation Solution Procedure Since each basis consists of K + m paths, each basis gives rise to K + m of these equations. Moreover, the equations contain K + m variables (i.e., m arc prices w ij and K shortest path distances σ k ). The revised simplex method uses matrix computations to solve the K + m equations and determines the unique values of the simplex multipliers.

Column Generation Solution Procedure The complementary slackness condition (c) dictates that for every path P in the network. Since each path P in the basis satisfies this condition, we can send any amount of flow on it and still satisfy the condition (c). To satisfy this condition for a path P not in the basis, we set f(p) = 0.

Column Generation Solution Procedure Consider, the complementary slackness condition (a). If the slack variable: is not in the basis, s ij = 0, so the solution satisfies condition (a). If the slack variable s ij is in the basis, its reduced cost, which equals 0 - w ij, is zero, implying that w ij = 0 and the solution satisfies condition (a).

Column Generation Solution Procedure We have thus shown that the solution defined by the current basis satisfies conditions (a) and (c); It is optimal if it satisfies condition (b) i.e., the reduced cost of every path flow variable is nonnegative How can we check to see if for each commodity k, or, equivalently,

Column Generation Solution Procedure The left-hand side of this inequality is just the length of the shortest path connecting the source and sink nodes, s k and t k, of commodity k with respect to the modified costs To see whether the arc prices w ij together with current path distances σ k satisfy the complementary slackness conditions, we solve a shortest path problem for each commodity k.

Column Generation Solution Procedure If for all commodities k, the length of the shortest path for that commodity is at least as large as σ k, we satisfy the complementary slackness condition (b). Otherwise, if for some commodity k, Q denotes the shortest path with respect to the current modified costs and the reduced cost of path Q is less than the length σ k of the minimum cost path from the set P k, then,

Column Generation Solution Procedure The path Q has a negative reduced cost, so we can profitably use it in the linear program in place of one of the paths P in the current basis That is using the usual steps of the simplex method, we would perform a basis change introducing the path Q into the current basis. Doing so would permit us to determine a new set of arc prices w ij and a new modified shortest path distance k between the source and sink nodes of commodity k.

Column Generation Solution Procedure We choose the values of these variables so that the reduced cost of every basic variable is zero. That is, using matrix operations, we would once again solve the system: in the variables w ij and σ k. We would then, as before, solve a shortest path problem for each commodity k and see whether any path has a shorter length than σ k.

Column Generation Solution Procedure If so, we would introduce this path into the basis and continue by alternately (1) finding new values for the arc prices w ij and for the path lengths σ k, and (2) solving shortest path problems. This discussion shows us how we would determine the variable to introduce into the basis at each step. The rest of the steps for implementing the simplex method (e.g., determining the variable to remove from the basis t each step) are the same as those of the usual implementation, so we do not specify any further details.

The End