Network Theory 9
Network Theory 9
Network Theory 9
IE 428
Sina Rastani
2
Pseudo-flows
A pseudo-flow is a "flow" vector such that satısfying only the capacity
and nonnegativity constraints.
Let denote the excess (deficit) at node where
Notice that , and hence where E and D are the set of excess and deficit
nodes respectively.
This implies that if the network contains an excess node, it must also
contain a deficit node.
3
Pseudo-flows
5 0 -2
2 10 -2 2 4
2 4 3
5 0 0
5 5 1 0
0
1 4 20
2 4
5 4 3 5
3 5
0 -3
2 -7
5 -2 5 -2
0 10
2 4 2 4
3 2
0 0 0
3 5
1 0 0 1 4 20
3
2 4 2
3 5 3 5
4
0 -3 0 -3
$3 $3 – π1 + π2
1 2 1 2
-$5 $1 $1 – π2 + π3
-$5 – π3 + π1
3 3
6
Optimality Conditions
Theorem. Suppose that x* is flow and π* is a vector of node
potential. Then x* and π* are optimal if
1. the flow x* is feasible and
2. cπ*ij ≥ 0 for all (i, j) ∈ G(x*).
The second property is often called dual feasibility.
7
Optimality Conditions
The cycle canceling algorithm starts with a feasible flow and
maintains a feasible flow at each iteration. It terminates with
dual feasibility.
Augmenting paths
5 10 -2 5 3 -2
2 4 2 4
2 0
0 0
3 5 0 0
1 4 20 1 4 8
3 0
2 0
3 5 3 5
0 4 -3 0 4 -3
A path P from i to j in G(x) is augmenting if e(i) > 0, e(j) < 0, and ∀ (v, w) ∈ P,
cπvw = 0.
Augmenting along a path
The capacity of an augmenting
5 -2 path P from node i to node j is
2 4
min { e(i), -e(j), min(v,w)∈P rvw}.
In this case, the capacity is
3 5
1 min {5, 2, 3} = 2
3
3 5
To augment along a path P is to
send δ units of flow from i to j in
P, where δ = capacity(P).
The augmenting path with
residual capacities.
13
14
5 10 -2 3 10 0
2 4 2 4
2
4
0 5 0
3 1 3
1 4 20 1 4 20
3 2
1
2 4
3 5 3 5
4 0 4 -3
0 -3
5 -2 3 3 0
3
2 4 2 4
0 0
0 0
0 0 0 0
1 4 8 1 4 8
2
0 0
0
0 0
3 5 3 5
4 4
0 -3 0 -3
Excesses and reduced costs Excesses and reduced costs after the
before the augmentation augmentation
Augmentations reduce the infeasibility by at least 1.
Augmentations maintain dual feasibility. Any arc added to G(x) is the reversal of an
arc with a reduced cost of 0.
16
A numerical example
18
A numerical example
19
0 0 1 3
6 5 6 5
1 2 1 -1 2 -1
G(x) with reduced costs on arcs and
shortest path distances. e(1) > 0. Node potentials πj - d(j) and
reduced costs
20
On Node Potentials
After adjusting node potentials, there is a path with 0-reduced cost arcs
in G(x) from node i to each other node (assuming that there is a path
from node 1).
-1 0
-2 0 7
-2
2 3 2 3
0 0 5
0 10 5 12
6 2
1 0 4 -4 1 10 4 -3
1 3 5 5
6 5 6 5
-1 2 -1 0 5 -5
Node potentials πj - d(j)and Excesses and capacities.
reduced costs
21
7
5
2
0 1 1
6
2
3 5
0 0
23
30
25
23 20
1 20
20
25
3 5
-7 -19
24
7
0 5 The shortest
2 path tree is
1 1
marked in
bold and blue.
6
2
3 5
6 8
25
7
0 5 0
6 2
0 1 1
0
6
2
3 5
0
-6 -8
26
Send Flow From a Supply Node to a Demand Node Along Shortest Paths (along
arcs with reduced costs of 0)
send 7 units
from node 1
20
25 to node 3
3 5
-7 -19
27
A comment
At this point, one would choose a source node, and then find the
shortest path from the source node to all other nodes, and then
update the residual network.
0 -19
30
5 -2 0
10
2 4
11
25
3 5
0 -19
31
0 -19
32
5 0
10
2 4
30 11 units of flow
25 were sent from node
14 18 1 to node 5
1 20
3 2
20
14
3 5
11 -8
0 -19
33
30
25 Send flow from node 1
to node 5
18
3 1 20
2
20
How much
flow will be
14 sent?
3 5
11 -8
0
36
12
3 5
13 -8
0 -6
37
-7 0 -11
2 4
0
0 To obtain the new
1 node potential,
0 subtract the shortest
2
0 1 0 path distance from
the old potential.
4
0
3 5
0
-9 -11
-12
-10
39
Send Flow From a Supply Node to a Demand Node Along Shortest Paths
5 0
8
2 4
2
28 Send flow from
25 node 2 to node 5
2 20
1 1 20
20 How much
flow can be
sent?
12
3 5
13
0 -6
40
5 0 0
3
2 4
7
28 5 units of flow were
25 sent from node 2 to
2 20 node 6.
1 1 5 15
20
12
3 5
-1
13
0 -6
41
12
3 5
-1
13
0
42
0 0
2
2 4
8 1 unit of flow was
27
25 sent from node 1 to
0 3 20 node 5.
1 1 6 14
20 The resulting flow
is feasible, and also
optimal.
12
3 5
-1
13
0 0
43
30,3
25
23 20
1 20,6
20,20 25,13
3 5
-7 -19
44
Flow is at
0 1 lower
2
0 1 0 bound.
-4
3 5
Flow is at 0
upper -10 -12
bound
45