Title: Flow in Network
1 2Graph, 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
3
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
1
1
3
3
2
4 - 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
1
1
3
3
2
2
5 - A chain in a graph G is a sequence of distinct
edges a1, a2, , ap - such that there exist (p1) nodes u1, u2,
, up1 where ai (ui, ui1). - c
- a b
- d
-
-
- The sequence a, c is a chain.
1
3
2
6 - A cycle in a graph G is a chain such that u1
up1 -
- c
- a b
- d
- The sequence c, b, d is a cycle.
1
3
2
7 - 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.
1
3
2
8 - A tree is a connected graph with no cycle
- Property A tree with n nodes includes
exactly (n 1) edges
9 - 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
1
1
3
3
2
2
10 - 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
1
1
3
3
2
2
11 - 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
1
1
3
3
2
2
12 - 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)
2
1
4
3
13 - 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 a1, a2, , ap 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.
14 - 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 dij corresponding to
an upper bound on the flow in the - arc
- a lower bound lij on the flow in
the arc - Moreover, 0 lij dij
-
0, 2
2, 9 -
0, 6 3, 4 -
0, 4 1, 6 - At each arc (i, j) is associated a
pair lij , dij.
2
1
4
3
15Minimum cost flow model
- Consider a network where the following attributs
are associated with each arc (i, j) - dij the capacity of the arc
- lij the lower bound on the flow in
the arc - cij flow unitary cost in the arc
- xij the variable including the
value of the flow in the arc - Furthermore, associate the following two sets of
nodes with each node i -
16 -
- Exemple
- B1 F , B2 1, 3, B3
1, 2, B4 2, 3 - P1 2, 3, P2 3, 4,
P3 2, 4, P4 F -
0, 2 2, 9 -
0, 6 3, 4 -
0, 4 1, 6 -
2
1
4
3
17 - 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
18 - For each node, the total flow going in the node
must be equal to the total flow going out of the
node. - v
2
1
4
3
19 - For each node, the total flow going in the node
must be equal to the total flow going out of the
node. -
-
v
2
1
4
3
20 - For each node, the total flow going in the node
must be equal to the total flow going out of the
node.
2
1
4
3
21 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.
22 - 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)
colonne (i, j)
ligne i
ligne j
23 - Exemple of an incidence matrix
2
1
4
3
24 - The nodes-arcs incidence matrix has the
unimodularity property indicating - that the simplex algorithm generates an
integer solution for problem (MCF) when lij, dij
et v are integer.
25Properties 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 (m1). - 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
26 - Exemple of incidence matrix
2
1
4
3
27 28 - Exemple of incidence matrix
2
1
4
3
29 30 - 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. -
31 - Proof Let T be a spanning tree of G illustrated
in red.
2
1
4
3
32 - 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. -
2
1
4
3
33 - Proof Let T be a spanning tree of G illustrated
in red. Denote by A(T) the - mx(m1) 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)) (m1).
2
1
4
3
34 - Proof Let T be a spanning tree of G illustrated
in red. Denote by A(T) the - mx(m1) 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)) (m1).
- Then all (m 1)x (m 1) sub matrices obtained
by eliminating a row of A(T) - is non singular.
- But these sub matrices
- are also sub matrices
- of A.
2
1
4
3
35 - Let B be a (m 1)x (m 1) square non
singular sub matrix of A. -
2
1
4
3
36 - Let B be a (m 1)x (m 1) square non
singular sub matrix of A. -
2
1
4
3
37 - 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. -
2
1
4
3
38 - 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.
2
1
4
3
39 - 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.
- Theorem The incidence matrix A of a connected
simple oriented graph having m nodes and n arcs
has a rank equal to (m1).
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.
40The simplex method forthe 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)
41 - 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 xij are such
that - xij 0 ou dij.
- The basic variables xij correspond to the
arcs of a spanning tree T of the network. -
42 - Entering criterion
- determine the relative costs of the
variables xij -
- that can be written as
- Moreover, for the basic variables
associated to the arcs - of the spanning tree T
ligne i
ligne j
43 - In a tree
- ( arcs) ( nodes) 1.
- The preceding system includes (m 1)
équations (associated to the arcs
) et m unknown pi (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.
44 p11
pt0
ps5
1
p31
p24
3
45 - 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
-
-
pt0
p11
ps5
p31
p24
46 - 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.
47 - 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
-
-
pt0
p11
ps5
x21 is admissible to increase
p31
p24
x3t is admissible to decrease
48Recall Step 1 Selecting the entering variable
- The criterion to select the entering
variable must be modified to account for the non
basic variables xj being equal to their upper
bounds uj since these variables can be reduced. - Hence, for an index
- if
, it is interesting to increase xj - if
, it is interesting to
decrease xj -
49 - 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
-
-
-
pt0
p11
ps5
x21 is admissible to increase
p31
p24
x3t is admissible to decrease
Entering variable
50 51 52 0?
0?
4-?
4-?
4-?
53 54 - Second iteration
- Entering criterion
- Determine the multipliers by
- solving the system
55 3
1
56 -
- Determine the relavive costs of the
- non basic variables
p1 2
pt 0
ps 6
4
2
1
3
p2 5
p3 2
57 4
2
1
3
58 59 - Leaving criterion
- Then ? 2 since for this value,
- xs1 2 2 0
- x21 0 2 2 d21.
2-?
0?
2?
60 - Leaving criterion
- Then ? 2 since for this value,
- xs1 2 2 0
- x21 0 2 2 d21.
61 - Third iteration
- Entering criterion
- Determine the multipliers
-
- Determine the relative costs of
- the non basic variables
pt0
ps6
p13
2
2
1
3
p25
p32
62 63 - 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.
64Multiple sources and multiple destinations
s1
t1
Rest of network
s2
t2
sp
tq
65 - Generate the network G1 (V1, E1 )
-
s1
t1
Rest of network
s2
t2
s
t
sp
tq
66 - Generate the network G1 (V1, E1 )
-
s1
t1
Reste du réseau
s2
t2
s
t
sp
tq
67 - Generate the network G1 (V1, E1 )
-
s1
t1
Rest of network
s2
t2
s
t
sp
tq
68 - Generate the network G1 (V1, E1 )
- v
v -
s1
t1
Rest of network
s2
t2
s
t
sp
tq
69References
- 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