You are on page 1of 10

EE236A (Fall 2007-08)

Lecture 8
Network optimization
network ows
minimum cost network ow problem
extreme ows
shortest path problem
bipartite matching
81
Networks
network (directed graph): m nodes connected by n directed arcs
arcs are ordered pairs (i, j)
we assume there is at most one arc from node i to node j
we assume there are no self-loops (arcs (i, i))
arc-node incidence matrix A R
mn
:
A
ij
=
_
_
_
1 arc j starts at node i
1 arc j ends at node i
0 otherwise
column sums of A are zero: 1
T
A = 0
reduced arc-node incidence matrix

A R
(m1)n
: the matrix formed
by the rst m1 rows of A
Network optimization 82
example (m = 6, n = 8)
1
2
3
4 5
6
1
2
3
4
5
6
7
8
A =
_

_
1 1 0 0 0 0 0 1
1 0 1 0 0 0 0 1
0 1 1 1 1 1 0 0
0 0 0 1 0 0 1 0
0 0 0 0 0 1 1 0
0 0 0 0 1 0 0 0
_

_
Network optimization 83
Network ow
ow vector x R
n
x
j
: ow (of material, trac, charge, information, . . . ) through arc j
positive if in direction of arc; negative otherwise
total ow leaving node i:
n

j=1
A
ij
x
j
= (Ax)
i
i
x
j
A
ij
= 1
x
k
A
ik
= 1
Network optimization 84
External supply
supply vector b R
m
b
i
: external supply at node i
negative b
i
represents external demand from the network
must satisfy 1
T
b = 0 (total supply = total demand)
i
x
j
A
ij
= 1
x
k
A
ik
= 1
b
i
balance equations: Ax = b
reduced balance equations:

Ax = (b
1
, . . . , b
m1
)
Network optimization 85
Minimum cost network ow problem
minimize c
T
x
subject to Ax = b
l x u
c
i
is unit cost of ow through arc i
l
j
and u
j
are limits on ow through arc j (typically, l
j
0, u
j
0)
we assume l
j
< u
j
, but allow l
j
= and u
j
=
includes many network problems as special cases
Network optimization 86
Max ow problem
maximize ow between node 1 (source) and node m (sink)
1
m
t t
maximize t
subject to Ax = te
l x u
where e = (1, 0, . . . , 0, 1)
Network optimization 87
interpretation as minimum cost ow problem
1
m
articial arc n + 1
minimize t
subject to
_
A e

_
x
t
_
= 0
l x u
Network optimization 88
Paths and cycles
path from node s to node t: sequence of arcs P
1
, . . . , P
N
P
k
= (i
k1
, i
k
) or P
k
= (i
k
, i
k1
), i
0
= s, i
N
= t
example (page 83): arcs 1, 3, 4, 7 form a path from node 1 to node 5
directed path sequence of arcs P
1
, . . . , P
N
P
k
= (i
k1
, i
k
) i
0
= s, i
N
= t
example: arcs 1, 3, 6 form a directed path from node 1 to node 5
(directed) cycle: (directed) path from a node to itself
example: arcs 1, 2, 3 form a cycle; arcs 4, 6, 7 form a directed cycle
Network optimization 89
Acyclic networks and trees
connected network: there exists a path between every pair of nodes
acyclic network: does not contain cycles
tree: connected acyclic network
connected, not acyclic
acyclic, not connected
tree
Network optimization 810
Topology and rank of incidence matrix
network is connected if and only if
rankA = rank

A = m1
Ax = b is solvable for all b with 1
T
b = 0
network is acyclic if and only if
rankA = rank

A = n
if Ax = b is solvable, its solution is unique
network is a tree if and only if
rank(A) = rank

A = n = m1
Ax = b has a unique solution for all b with 1
T
b = 0
Network optimization 811
Solving balance equations for tree networks
1
2
3
4
5
1
2 3
4
_

_
1 0 0 0
0 1 0 0
1 1 1 0
0 0 0 1
0 0 1 1
_

_
_

_
x
1
x
2
x
3
x
4
_

_
=
_

_
b
1
b
2
b
3
b
4
b
5
_

_
x
1
= b
1
, x
2
= b
2
, x
3
= b
1
b
2
b
3
, x
4
= b
4
in general, choose node m as root node and take
x
j
=

nodes i downstream of arc j


b
i
important consequence: x Z
n
if b Z
m
Network optimization 812
Solving balance equations for acyclic networks
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
x
1
= b
1
x
2
= b
2
x
3
= b
3
x
4
= b
4
x
5
= b
5
x
6
= b
1
b
2
b
6
x
7
= b
7
x
8
= b
3
b
4
b
5
b
8
can solve using only additions/subtractions
x Z
n
if b Z
m
Network optimization 813
Integrality of extreme ows
P is polyhedron of feasible ows
Ax = b, l x u
we will show that the extreme points of P are integer vectors if
the external supplies b
i
are integer
the ow limits l
i
, u
i
are integer (or )
Network optimization 814
proof. suppose x is an extreme ow with
l
j
< x
j
< u
j
, j = 1, . . . , K, x
j
=
_
l
j
j = K + 1, . . . , L
u
j
j = L + 1, . . . , n
we prove that x
1
,. . . , x
K
are integers
1. apply rank test of page 319 to the inequalities
l x u, Ax b, Ax b
rank test:
rank
_
_
_
_
_

_
0 I 0
0 0 I
B
0
B

B
+
B
0
B

B
+
_

_
_
_
_
_
= n
where A =
_
B
0
B

B
+

, B
0
R
mK
, etc.
conclusion: rankB
0
= K (subnetwork with arcs 1, . . . , K is acyclic)
Network optimization 815
2. y = (x
1
, . . . , x
K
) satises
B
0
y = b
_
B

B
+

_
_
x
K+1
.
.
.
x
n
_
_
(1)
interpretation: balance equations of an acyclic subnetwork with
incidence matrix B
0
, ow vector y, and integer external supplies
b
_
B

B
+

_
_
x
K+1
.
.
.
x
n
_
_
conclusion (from page 813): y is an integer vector
Network optimization 816
example (l
i
= 0, u
i
= for all arcs)
1
2
3
4 5
6
b
1
= 2
b
2
= 1
b
3
= 3
b
4
= 2 b
5
= 2
b
6
= 0
1
2
3
4
5
6
7
8
x = (0, 2, 1, 0, 0, 0, 2, 0) is an extreme ow:
it is feasible
subgraph with arcs 2, 3, 7 is acyclic
Network optimization 817
Shortest path problem
minimize 1
T
x
subject to Ax = (1, 0, . . . , 0, 1)
0 x 1
extreme optimal solutions satisfy x
i
{0, 1}
arcs with x
i
= 1 form a shortest (forward) path between nodes 1 and m
extends to networks with non-unit positive lengths
can be solved very eciently via specialized algorithms
Network optimization 818
Weighted (bipartite) matching
match N people to N tasks
each person assigned to one task; each task assigned to one person
cost of matching person i to task j is a
ij
minimum cost ow formulation
min.

N
i,j=1
a
ij
x
ij
s.t.

N
i=1
x
ij
= 1, j = 1, . . . , N

N
j=1
x
ij
= 1, i = 1, . . . , N
0 x
ij
1, i, j = 1, . . . , N
example (N = 3)
1
2
3
1
2
3
1
1
1
1
1
1
integrality: extreme optimal solution satises x
ij
{0, 1}
Network optimization 819

You might also like