Chapter 7 Network Flow Problems, I

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

Relation of Pure Minimum Cost Flow Model to Linear Programming

Transportation Problem

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

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

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

A simplex method for uncapacitated pure-supply and pure-demand infinite network flow problems

Discrete Optimization 23

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

Introduction 1.1 PROBLEM FORMULATION

9.1 Linear Programs in canonical form

The dual simplex method with bounds

Matrices and Vectors

Math 5490 Network Flows

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

Lecture 2: The Simplex method

3. Vector spaces 3.1 Linear dependence and independence 3.2 Basis and dimension. 5. Extreme points and basic feasible solutions

Linear Equations in Linear Algebra

directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time

Advanced Linear Programming: The Exercises

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

Lecture 3. 1 Polynomial-time algorithms for the maximum flow problem

MAT016: Optimization

Simplex tableau CE 377K. April 2, 2015

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

Dynamic System Properties of Biochemical Reaction Systems

Linear Programming. Scheduling problems

arxiv: v1 [cs.ds] 26 Feb 2016

Maximum flow problem (part I)

Operations Research Lecture 2: Linear Programming Simplex Method

ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES

AM 121: Intro to Optimization Models and Methods Fall 2018

Introduction to Linear and Combinatorial Optimization (ADM I)

TRANSPORTATION PROBLEMS

Linear Programming Redux

Linear graph theory. Basic definitions of linear graphs

Linear Equations in Linear Algebra

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

Discrete Optimization

MATH 3511 Lecture 1. Solving Linear Systems 1

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

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #06. The Simplex Method

Strongly Polynomial Algorithm for a Class of Minimum-Cost Flow Problems with Separable Convex Objectives

An Exact Algorithm for the Steiner Tree Problem with Delays

IE 5531: Engineering Optimization I

Introduction to Integer Programming

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


DS-GA 1002 Lecture notes 0 Fall Linear Algebra. These notes provide a review of basic concepts in linear algebra.

3.7 Cutting plane methods

IE 5531: Engineering Optimization I

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

Linear and Integer Programming - ideas

Example. 1 Rows 1,..., m of the simplex tableau remain lexicographically positive

Robust Network Codes for Unicast Connections: A Case Study

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

Network Flows. CTU FEE Department of control engineering. March 28, 2017

12. Cholesky factorization

ORIE 633 Network Flows October 4, Lecture 10

Lecture 20 : Markov Chains

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

2 GRAPH AND NETWORK OPTIMIZATION. E. Amaldi Introduction to Operations Research Politecnico Milano 1

6. Linear Programming

CS 246 Review of Linear Algebra 01/17/19

CO350 Linear Programming Chapter 8: Degeneracy and Finite Termination

A Generalized Eigenmode Algorithm for Reducible Regular Matrices over the Max-Plus Algebra

15-780: LinearProgramming

EE263 Review Session 1

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

Extreme Point Solutions for Infinite Network Flow Problems

Preliminaries and Complexity Theory

Linear Programming and its Extensions Prof. Prabha Shrama Department of Mathematics and Statistics Indian Institute of Technology, Kanpur

21. Solve the LP given in Exercise 19 using the big-m method discussed in Exercise 20.

Lesson 27 Linear Programming; The Simplex Method

Developing an Algorithm for LP Preamble to Section 3 (Simplex Method)

if b is a linear combination of u, v, w, i.e., if we can find scalars r, s, t so that ru + sv + tw = 0.

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Research Reports on Mathematical and Computing Sciences

Flows. Chapter Circulations

Section 9.2: Matrices. Definition: A matrix A consists of a rectangular array of numbers, or elements, arranged in m rows and n columns.

Advanced Mathematical Programming IE417. Lecture 24. Dr. Ted Ralphs

A bad example for the iterative rounding method for mincost k-connected spanning subgraphs

Simplex method(s) for solving LPs in standard form

Modeling and Stability Analysis of a Communication Network System

2. A vertex in G is central if its greatest distance from any other vertex is as small as possible. This distance is the radius of G.

ECE 307 Techniques for Engineering Decisions

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

Spring 2017 CO 250 Course Notes TABLE OF CONTENTS. richardwu.ca. CO 250 Course Notes. Introduction to Optimization

Ω R n is called the constraint set or feasible set. x 1

Dual Basic Solutions. Observation 5.7. Consider LP in standard form with A 2 R m n,rank(a) =m, and dual LP:

Linear equations in linear algebra

Mathematics for Decision Making: An Introduction. Lecture 13

Maximum Flow Problem (Ford and Fulkerson, 1956)

AM 121: Intro to Optimization

Chapter 1: Systems of linear equations and matrices. Section 1.1: Introduction to systems of linear equations

Chapter 1 Matrices and Systems of Equations

An ɛ-relaxation method for separable convex cost generalized network flow problems

An Introduction to Spectral Graph Theory

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

Contents. Introduction

Transcription:

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 path problems, and they arise naturally in the analysis and design of communication, transportation, and logistics networks, as well as in many other contexts. An undirected graph G = (N, E) consists of a set N of nodes and a set E of undirected edges, where an edge e is an unordered pair of distinct nodes, that is, a two-element subset {i, j} of N. We say that the edge {i, j} is incident to nodes i and j, and these nodes are called the endpoints of the edge. The degree of a node in an undirected graph is the number of edges incident to that node. A walk from node i 1 to node i t in an undirected graph is defined as a finite sequence of nodes i 1, i 2,..., i t such that {i k, i k+1 } E for k = 1,..., t 1. A walk is called a path if it has no repeated nodes. A cycle is defined as a walk i 1,..., i t such that the nodes i 1,..., i t 1 are distinct and i t = i 1. In addition, we require the number t 1 of distinct nodes to be at least 3. An undirected graph is said to be connected if for every distinct pair of nodes i, j N, there exists a path from i to j. A directed graph G = (N, A) consists of a set N of nodes and a set A of arcs, where an arc is an ordered pair (i, j) of distinct nodes. For any arc (i, j), we say i is the start node and j is the end node. The arc is said to be outgoing from node i, incoming to node j, and incident to both i and j. We define I(i) and O(i) as the set of start nodes (respectively, end nodes) of arcs that are incoming to (respectively, outgoing from) node i. That is, I(i) = {j N (j, i) A}, O(i) = {j N (i, j) A}. We say that a directed graph is connected if the resulting undirected graph is connected. A walk is defined as a sequence i 1,..., i t of nodes, together with an associated sequence a 1,..., a t 1 of arcs such that for k = 1,..., t 1, we have either a k = (i k, i k+1 ) as a forward arc, or a k = (i k+1, i k ) as a backward arc. A walk is said to be a path if all of its nodes i 1,..., i t are 1

distinct, and a cycle if the nodes i 1,..., i t 1 are distinct and i t = i 1. A walk, path, or cycle is said to be directed if it only contains forward arcs. An undirected graph G = (N, E) is called a tree if it is connected and has no cycles. If a node of a tree has degree equal to 1, it is called a leaf. We have the following properties for a tree: 1. Every tree with more than one node has at least one leaf. 2. An undirected graph is a tree if and only if it is connected and has N 1 edges. 3. For any two distinct nodes i and j in a tree, there exists a unique path from i to j. 4. If we start with a tree and add a new edge, the resulting graph contains exactly one cycle. Given a connected undirected graph G = (N, E), let E 1 be a subset of E such that T = (N, E 1 ) is a tree. Such a tree is called a spanning tree. Let G = (N, E) be a connected undirected graph and let E 0 be some subset of the set E of edges. Suppose that the edges in E 0 do not form any cycles. Then, the set E 0 can be augmented to a set E 1 E 0 so that (N, E 1 ) is a spanning tree. A network is a directed network G = (N, A) together with some additional numerical information, such as numbers b i, representing the external supply to each node i N, nonegative (possibly infinite) numbers u ij representing the capacity of each arc (i, j) A, and numbers c ij representing the cost per unit of flow along arc (i, j). We use f ij to denote the amount of flow through arc (i, j). We impose the following flow conservation and capacity conditions on the flow variables: b i + j I(i) f ji k O(i) f ik = 0, i N, 0 f ij u ij, (i, j) A. The parameters must satisfy i N b i = 0. The general minimum cost network flow problem deals with the minimization of a linear cost function of the form (i,j) A c ij f ij. We can arrive to a concise formulation of the network flow problem. We assume that N = {1,..., n} and let m be the number of arcs. Let us fix a particular ordering of the arcs, and let f be the vector of flows that results when the components f ij are ordered accordingly. We define the node-arc incidence matrix A as follows: its dimensions are n m and its (i, k)th entry a ik is associated with the ith node and the kth arc. We let +1, if i is the start node of the kth arc, a ik = 1, if i is the end node of the kth arc, 0, otherwise. 2

Thus, every column of A has exactly two nonzero entries, one equal to +1, one equal to 1, indicating the start and the end node of the corresponding arc. Now we have a if = f ij f ki. j O(i) k I(i) So we can write the flow conservation constraint as Af = b. Hence, the formulation can be concisely presented as min c f s.t. Af = b, 0 f u. Any flow vector f that satisfies Af = 0 is called a circulation. Let us now consider a cycle C. We let F and B be the set of forward and backward arcs of the cycle, respectively. The flow vector h C with components +1, if (i, j) F, h C ij = 1, if (i, j) B, 0, otherwise, is called a simple circulation associated with the cycle C. We see that Ah C = 0. We define the cost of a cycle C to be equal to c h C = c ij c ij. (i,j) F (i,j) B If f is a flow vector, C is a cycle, and θ is a scalar, we say that the flow vector f + θh C is obtained from f by pushing θ units of flow around the cycle C. We may apply the network simplex method to the uncapacitated min-cost network flow problem. We assume that i N b i = 0 and the underlying graph G is connected. The rows of A sum to the zero vector and are therefore linearly dependent. Let us define the truncated node-arc incidence matrix à to be the matrix of dimensions (n 1) m, which consists of the first n 1 rows of the matrix A. Let b = (b 1,..., b n 1 ). We replace the original equality constraint Af = b by the constraints Ãf = b. The connectivity of G will guarantee that à has linearly independent rows. A flow vector f is called a tree solution if it can be constructed by the following procedure: a) Pick a set T A of n 1 arcs that form a tree when their directions are ignored. b) Let f ij = 0 for every (i, j) / T. c) Use the flow conservation equation Ãf = b to determine the flow variables f ij, for 3

(i, j) T. A tree solution that also satisfies f 0 is called a feasible tree solution. Let T A be a set of n 1 arcs that form a tree when their directions are ignored. Then, the system of linear equations Ãf = b and f ij = 0 for all (i, j) / T has a unique solution. This is because, we can renumber nodes and arcs involved in T so that the (n 1) (n 1) basic matrix B is lower triangular and has nonzero diagonal entries. A flow vector is a basic solution if and only if it is a tree solution. Change of basis is equivalent to pushing flow through a cycle. Picking a nonbasic variable is the same as choosing an arc (i, j) that does not belong to T. Then, the arc (i, j) together with some of the arcs in T form a cycle. Suppose (i, j) is a forward arc for the cycle. Let F and B be the sets of forward and backward arcs in the cycle, respectively. When pushing θ units of flow around the cycle, the new flow variables ˆf kl are given by f kl + θ, if (k, l) F, ˆf kl = f kl θ, if (k, l) B, f kl, otherwise. The largest θ is equal to θ = min (k,l) B f kl. The backward arc attaining the maximum will exit from the basis. The problem is unbounded when there is no backward arc. To select the nonbasic variable for the basis change, we calculate the reduced costs c ij : c ij (p i p j ), if i, j n, c ij = c ij p i, if j = n, c ij + p j, if i = n. To calculate the dual variables p i, we use p i p j = c ij, (i, j) T, p n = 0. (1) The simplex method for uncapacitated network flow problems runs as follows: 1. A typical iteration starts with a basic feasible solution f associated with a tree T. 2. To compute the dual vector p, solve the system of equations (1), by proceeding from the root towards the leaves. 3. Compute the reduced costs c ij for (i, j) / T. If they are all nonnegative, the current basic feasible solution is optimal and the algorithm terminates; else, choose some (i, j) with c ij < 0 to be brought into the basis. 4. The entering arc (i, j) and the arcs in T form a unique cycle. If all arcs in the cycle 4

are oriented the same way as (i, j), the optimal cost is and the algorithm terminates. 5. Let θ = min (k,l) B f kl, and push θ units of flow around the cycle. A new flow vector will be determined. Consider an uncapacitated network flow problem and assume that the underlying graph is connected. a) For every basis matrix B, the matrix B 1 has integer entries. b) If the supplies b i are integer, then every basic solution has integer coordinates. c) If the cost coefficients c ij are integer, then every dual solution has integer coordinates. 5