Flow in Network. Graph, oriented graph, network A graph G =(V, E) is specified by a non empty set of nodes V and a set of edges E such that each edge.

Slides:



Advertisements
Similar presentations
Duality for linear programming. Illustration of the notion Consider an enterprise producing r items: f k = demand for the item k =1,…, r using s components:
Advertisements

Outline LP formulation of minimal cost flow problem
Introduction to Algorithms
MINIMUM COST FLOWS: NETWORK SIMPLEX ALGORITHM A talk by: Lior Teller 1.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
MS&E 211 Minimum Cost Flow LP Ashish Goel. Minimum Cost Flow (MCF) Need to ship some good from “supply” nodes to “demand” nodes over a network – Example:
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Trees and BFSs Page 1 The Network Simplex Method Spanning Trees and Basic Feasible Solutions.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Breadth-first search (BFS) 8-puzzle problem The breadth-first search uses a queue to hold all expanded nodes.
5.6 Maximization and Minimization with Mixed Problem Constraints
Chapter 3 The Inverse. 3.1 Introduction Definition 1: The inverse of an n  n matrix A is an n  n matrix B having the property that AB = BA = I B is.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
Max-flow/min-cut theorem Theorem: For each network with one source and one sink, the maximum flow from the source to the destination is equal to the minimal.
15.082J, 6.855J, and ESD.78J September 21, 2010 Eulerian Walks Flow Decomposition and Transformations.
GRAPH Learning Outcomes Students should be able to:
1. The Simplex Method.
The Theory of the Simplex Method
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
1 © 2010 Pearson Education, Inc. All rights reserved © 2010 Pearson Education, Inc. All rights reserved Chapter 9 Matrices and Determinants.
WEEK 8 SYSTEMS OF EQUATIONS DETERMINANTS AND CRAMER’S RULE.
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
Kerimcan OzcanMNGT 379 Operations Research1 Linear Programming: The Simplex Method Chapter 5.
Minimum Cost Flows. 2 The Minimum Cost Flow Problem u ij = capacity of arc (i,j). c ij = unit cost of shipping flow from node i to node j on (i,j). x.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
Pareto Linear Programming The Problem: P-opt Cx s.t Ax ≤ b x ≥ 0 where C is a kxn matrix so that Cx = (c (1) x, c (2) x,..., c (k) x) where c.
1 1 Slide © 2005 Thomson/South-Western Linear Programming: The Simplex Method n An Overview of the Simplex Method n Standard Form n Tableau Form n Setting.
Chapter 4 Linear Programming: The Simplex Method
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
1 THE REVISED SIMPLEX METHOD CONTENTS Linear Program in the Matrix Notation Basic Feasible Solution in Matrix Notation Revised Simplex Method in Matrix.
Hon Wai Leong, NUS (CS6234, Spring 2009) Page 1 Copyright © 2009 by Leong Hon Wai CS6234: Lecture 4  Linear Programming  LP and Simplex Algorithm [PS82]-Ch2.
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
OR Chapter 7. The Revised Simplex Method  Recall Theorem 3.1, same basis  same dictionary Entire dictionary can be constructed as long as we.
Chapter 8 Maximum Flows: Additional Topics All-Pairs Minimum Value Cut Problem  Given an undirected network G, find minimum value cut for all.
Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,
Hon Wai Leong, NUS (CS6234, Spring 2009) Page 1 Copyright © 2009 by Leong Hon Wai CS6234: Lecture 4  Linear Programming  LP and Simplex Algorithm [PS82]-Ch2.
Supplementary: Feasible Labels and Linear Programming  Consider the LP formulation of the shortest s-t path problem: (P) Minimize  (i, j)  A c ij x.
TH EDITION LIAL HORNSBY SCHNEIDER COLLEGE ALGEBRA.
5 5.1 © 2016 Pearson Education, Ltd. Eigenvalues and Eigenvectors EIGENVECTORS AND EIGENVALUES.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
The minimum cost flow problem. Solving the minimum cost flow problem.
1 GRAPH Learning Outcomes Students should be able to: Explain basic terminology of a graph Identify Euler and Hamiltonian cycle Represent graphs using.
1 Maximum Flows CONTENTS Introduction to Maximum Flows (Section 6.1) Introduction to Minimum Cuts (Section 6.1) Applications of Maximum Flows (Section.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
Network Topology Single-level Diversity Coding System (DCS) An information source is encoded by a number of encoders. There are a number of decoders, each.
CHAPTER 7 Determinant s. Outline - Permutation - Definition of the Determinant - Properties of Determinants - Evaluation of Determinants by Elementary.
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
CSE 504 Discrete Mathematics & Foundations of Computer Science
Part 3 Linear Programming
Lap Chi Lau we will only use slides 4 to 19
Topics in Algorithms Lap Chi Lau.
The minimum cost flow problem
Network Simplex Animations
The assignment problem
Flow in Network.
Duality for linear programming.
problems with bounded variables
The Network Simplex Method
James B. Orlin Presented by Tal Kaminker
The Simplex Method.
Part 3 Linear Programming
Introduction Basic formulations Applications
Chapter 8. General LP Problems
Flow Feasibility Problems
Chapter 8. General LP Problems
Part 3 Linear Programming
The Network Simplex Method
Chapter 8. General LP Problems
Presentation transcript:

Flow in Network

Graph, oriented graph, network A graph G =(V, E) is specified by a non empty set of nodes V and a set of edges E such that each edge a is identified by a pair of nodes (u, v). c a b d V = {1, 2, 3} E = {a, b, c, d} a = b = (1, 2) ; c = (1, 3) ; d =(2, 3) 1 2 3

A graph g is a sub graph of a graph G if all the nodes and all the edges of g are nodes and edges of G. c c a b d G g

A sub graph of a graph G including all the nodes of G is a partial graph of G. c c a b d d G g

A chain in a graph G is a sequence of distinct edges a 1, a 2, …, a p such that there exist (p+1) nodes u 1, u 2, …, u p+1 where a i = (u i, u i+1 ). c a b d The sequence a, c is a chain

A cycle in a graph G is a chain such that u 1 = u p+1 c a b d The sequence c, b, d is a cycle

A graph G is connected if for all pair of nodes, there exists a chain linking them. c a b d This graph is connected

A tree is a connected graph with no cycle Property : A tree with n nodes includes exactly (n – 1) edges

A partial tree ( spanning tree) of a connected graph G is a partial graph of G being a tree c c a b d d G partial tree

A fondamental cycle with respect to a partial tree is a cycle including an edge of the graph not included in the partial tree and edges of the tree. c c a b d d G partial tree

A fondamental cycle with respect to a spanning tree is a cycle including an edge of the graph not included in the partial tree and edges of the tree. c c a b a d d G fondamental cycle

An oriented graph G = (V, E) is specified by a non empty set of nodes V and a set of arcs E such that each arc a is identified by an ordered pair of nodes (u, v). a b c d e f V = {1, 2, 3, 4} E = {a, b, c, d, e, f} a = (1, 2), b = (2, 4), c = (2, 3), d =(3, 2), e = (1, 3), f = (3, 4)

A non oriented graph obtained from an oriented graph G by eliminating the direction of the arc is denoted the corresponding graph. The notions of chain, cycle, connectedness, tree, spanning tree, and fondamental cycle for an oriented graph refer to the corresponding graph. A path in an oriented graph is a sequence of distinct arcs a 1, a 2, …, a p being a chain where all the arcs are oriented in the same direction. A directed graph is simple if the nodes identifying each arc are distinct, and if there is no pairs of arcs specified by the same pair of nodes.

A network is a connected oriented graph in which a flow can move over the arcs. Each arc (i, j) est characterized as follows a capacity d ij corresponding to an upper bound on the flow in the arc a lower bound l ij on the flow in the arc Moreover, 0≤ l ij ≤ d ij [0, 2] [2, 9] [0, 6] [3, 4] [0, 4] [1, 6] At each arc (i, j) is associated a pair [l ij, d ij ]

Minimum cost flow model Consider a network where the following attributs are associated with each arc (i, j) : d ij the capacity of the arc l ij the lower bound on the flow in the arc c ij flow unitary cost in the arc x ij the variable including the value of the flow in the arc Furthermore, associate the following two sets of nodes with each node i:

Exemple B 1 = Φ, B 2 = {1, 3}, B 3 = {1, 2}, B 4 = {2, 3} P 1 = {2, 3}, P 2 = {3, 4}, P 3 = {2, 4}, P 4 = Φ [0, 2] [2, 9] [0, 6] [3, 4] [0, 4] [1, 6]

The minimum cost flow problem is to determine how to send a fixed quantity of flow v from a source to a destination along the arcs of the network satisfying the lower bound and the capacity constraints of the arcs in order to minimize the total cost. Constraints of the problem: 1. lower bound and the capacity constraints of the arcs: 2. flow conservation constraints (specific to network flow problems): For each node the total flow going in the node must be equal to the total flow going out of the node

For each node, the total flow going in the node must be equal to the total flow going out of the node. v

For each node, the total flow going in the node must be equal to the total flow going out of the node. v

For each node, the total flow going in the node must be equal to the total flow going out of the node

Model for the minimum cost flow problem The minimum cost flow problem is to determine how to send a fixed quantity of flow v from a source to a destination along the arcs of the network satisfying the lower bound and the capacity constraints of the arcs in order to minimize the total cost.

The matrix associated with the flow conservation constraints are denoted the nodes-arcs incidence matrix: row i ↔ node i column (i, j) ↔ arc (i, j) ligne i ligne j colonne (i, j)

Exemple of an incidence matrix

The nodes-arcs incidence matrix has the unimodularity property indicating that the simplex algorithm generates an integer solution for problem (MCF) when l ij, d ij et v are integer.

Properties of the incidence matrix Now we show that the columns of any basis correspond to arcs in a spanning tree and vice versa. Theorem: The incidence matrix A of a connected simple oriented graph having m nodes and n arcs has a rank equal to (m–1). Proof: First we show that Each column of A includes only one component equal to 1, another one equal to -1, and all the other elements are equal to 0. Hence if we sum up the rows of A, then we obtain a row vector having all its elements equal to 0. Consequently the rows of A are linearly dependent. Thus

Exemple of incidence matrix

2 3 14

Theorem: Consider an incidence matrix A associated with a simple connected directed graph G including m nodes and n arcs. A square (m – 1)x (m – 1) sub matrix of A is non singular if and only if the arcs associated to its columns are those specifying a spanning tree of G.

Proof: Let T be a spanning tree of G illustrated in red

Proof: Let T be a spanning tree of G illustrated in red. Denote by A(T) the mx(m ˗ 1) sub matrix A being the incidence matrix of T

Proof: Let T be a spanning tree of G illustrated in red. Denote by A(T) the mx(m–1) sub matrix A being the incidence matrix of T. Since T is a simple connected graph, it follows from the preceding theorem that rank(A(T)) = (m–1)

Proof: Let T be a spanning tree of G illustrated in red. Denote by A(T) the mx(m–1) sub matrix A being the incidence matrix of T. Since T is a simple connected graph, it follows from the preceding theorem that rank(A(T)) = (m–1). Then all (m – 1)x (m – 1) sub matrices obtained by eliminating a row of A(T) is non singular is non singular. But these sub matrices are also sub matrices of A

Let B be a (m – 1)x (m – 1) square non singular sub matrix of A

Let B be a (m – 1)x (m – 1) square non singular sub matrix of A

Let B be a (m – 1)x (m – 1) square non singular sub matrix of A. B is obtained by eliminating a row from an incident matrix of a spanning tree g of G

Let B be a (m – 1)x (m – 1) square non singular sub matrix of A. B is obtained by eliminating a row from an incident matrix of a spanning tree g of G. This sub graph g is simple, connected, including (m – 1) arcs. Then g is a spanning tree of G

Theorem: The incidence matrix A of a connected simple oriented graph having m nodes and n arcs has a rank equal to (m–1). Theorem: Consider an incidence matrix A associated with a simple connected directed graph G including m nodes and n arcs. A square (m – 1)x (m – 1) sub matrix of A is non singular if and only if the arcs associated to its columns are those specifying a spanning tree of G. Any base from the incidence matrix is such that its columns correspond to variables associated with the arcs of a spanning tree, and vice versa. The basic variables of a basic solution of a (MCF) problem correspond to the arcs of a spanning tree and vice-versa.

The simplex method for the minimum cost flow problem We use the variant of the simplex method when the variables are bounded to solve the minimum cost flow problem (MCF):

To analyse one iteration of the simplex method, suppose that we have a basic feasible solution x of the problem. Then the non basic variables x ij are such that x ij = 0 ou d ij. The basic variables x ij correspond to the arcs of a spanning tree T of the network.

Entering criterion determine the relative costs of the variables x ij : that can be written as Moreover, for the basic variables associated to the arcs of the spanning tree T : ligne i ligne j

In a tree (# arcs) = (# nodes) –1. The preceding system includes (m – 1) équations (associated to the arcs ) et m unknown π i (associated to the nodes i of T). But since any sub matrix (m – 1)x (m – 1) of the incidence matrix T is non singular, we can fix the value of one multiplier and to evaluate the others using the system. The system of equations being triangular, it is easy to show that the multipliers are evaluated sequentially one by one.

In our exemple Let π t = 0 π 3 =1 π t =0 π 1 =1 π s =5 π 2 =4 1 3

Once the values of the multipliers are known, determine the relative costs of the non basic variables associated to the arcs that are not belonging to the spanning tree T. In our exemple π t =0π 1 =1π s =5 π 2 =4 π 3 =1

Once the values of the multipliers are known, determine the relative costs of the non basic variables associated to the arcs that are not belonging to the spanning tree T.

Once the values of the multipliers are known, determine the relative costs of the non basic variables associated to the arcs that are not belonging to the spanning tree T. In our exemple π t =0π 1 =1π s =5 π 2 =4 π 3 =1 x 21 is admissible to increase x 3t is admissible to decrease

Recall: Step 1: Selecting the entering variable The criterion to select the entering variable must be modified to account for the non basic variables x j being equal to their upper bounds u j since these variables can be reduced. Hence, for an index if, it is interesting to increase x j if, it is interesting to decrease x j

Once the values of the multipliers are known, determine the relative costs of the non basic variables associated to the arcs that are not belonging to the spanning tree T. In our exemple π t =0π 1 =1π s =5 π 2 =4 π 3 =1 x 21 is admissible to increase x 3t is admissible to decrease Entering variable

Leaving criterion In our exemple: x 3t is the entering variable

4-θ 0+θ

Second iteration : Entering criterion Determine the multipliers by solving the system:

Let π t = 0 3 1

Determine the relavive costs of the non basic variables π t = 0 π 3 = 2 π 2 = 5 π s = 6 π 1 = 2

Leaving criterion Then θ = 2 since for this value, x s1 = 2 – 2 = 0 x 21 = = 2 = d θ0+θ 2+θ 2-θ

Leaving criterion Then θ = 2 since for this value, x s1 = 2 – 2 = 0 x 21 = = 2 = d 21.

Third iteration : Entering criterion Determine the multipliers Determine the relative costs of the non basic variables π t =0π s =6 π 2 =5π 3 =2 π 1 =3

The solution is optimal

The simplex version for the minimum cost flow problem is simplified because of the incidence matrix structure. There is a lot of degeneracy in flow problem. This may induce degenerate iteration (where the values of the variables dont change) sinply to modify the basis. There exists procedures to guide in chosing the basic solutions in order to reduce the number of degenerate iterations.

Multiple sources and multiple destinations s1s1 s2s2 spsp t1t1 t2t2 tqtq Rest of network

Generate the network G 1 = (V 1, E 1 ) s1s1 s2s2 spsp t1t1 t2t2 tqtq Rest of network st

Generate the network G 1 = (V 1, E 1 ) s1s1 s2s2 spsp t1t1 t2t2 tqtq Reste du réseau st

Generate the network G 1 = (V 1, E 1 ) s1s1 s2s2 spsp t1t1 t2t2 tqtq Rest of network st

Generate the network G 1 = (V 1, E 1 ) v v s1s1 s2s2 spsp t1t1 t2t2 tqtq Rest of network st

References M.S. Bazaraa, J.J. Jarvis, H.D. Sherali, “ Linear Programming and Network Flows”, 3rd edition, Wiley-Interscience (2005), Chapter9 F.S. Hillier, G.J. Lieberman, “Introduction to Operations Research”, Mc Graw Hill (2005), Section 9.7 D. G. Luenberger, “ Linear and Nonlinear Programming ”, 2nd edition, Addison-Wesley (1984), Chapter 5