Title: Flow models, optimal routing, and topological network design
1Flow models, optimal routing, and topological
network design
- Single commodity network flows
- Max-flow/min cut
- The Ford-Fulkerson algorithm
- Minimum cost flows
- Constrained MST algorithms
- The Essau-William algorithm
- (Sharma algorithm)
2Flows in a network
- In a directed graph, if node i and node j are
joined by an arc (link), over this arc some
quantity f(i,j) (link flow) in data units/sec can
flow. - Associated with the arc connecting node i and
node j is a capacity c(i,j), so that f(i,j)
cannot exceed c(i,j). - There is a source node S, which has an external
supply of flow v. There is a sink node T, which
has a demand of flow v.
3Flows in a network example
- A network with the arc capacities as indicated
- conservation of flow (flow_out-flow_in0)
- node s f(S,1) f(S,2) v 0
- node 1 f(1,3) f(1,2) f(S,1) 0
- node 2 f(2,3) f(2,4)- f(S,2) f(1,2) 0
- node 3 f(3,T) f(3,4) f(2,3) f(1,3) 0
- node 4 f(4,T) - f(3,4) - f(2,4) 0
- v f(3,T) f(4,T) 0
4Flows in a network example (cont.)
- Arc capacity constraints f(S,1) ? 6, f(S,2) ?
8, f(1,2) ? 3, f(1,3) ? 3, f(2,3) ? 4, f(2,4) ?
2, f(3,4) ? 2, f(3,T) ? 8, f(4,T) ? 6
- A (path) flow is a collection of the link flows
f(i,j) . A feasible flow is a flow that
satisfies the flow conservation and arc
capacities constraints. - The objective is to maximize the total flow v
under the flow conservation and capacity
constraints.
3
1
3
6
8
4
3
S
T
2
v
v
8
6
2
4
2
5Flow-augmenting paths
- Consider the following feasible flow example
- The arcs in a flow network can be put into two
categories - I, the set of arcs whose flow can be increased,
these are those arcs whose flow is smaller than
its capacity, e.g. arcs S-1, 1-2, 2-6, 3-S, 4-2,
4-3 - R, the set of arcs whose flow can be reduced,
these are those arcs whose flow is non-zero, e.g.
all arcs in I and 3-2, T-4
capacity
Link flow
6Flow-augmenting paths (cont.)
- To increase the net flow from S to T, we can
- find a directed path from S to T which only
consists of arcs belonging to I then determine
the maximum increase in flow for these arcs, e.g.
the path S-1-2-T is such a path and the maximum
increase in flow without exceeding the arc
capacities is 1. This path may be called a flow
augmenting path. - find a directed path from T to S which only
consists of arcs belonging to R then determine
the maximum decrease in flow for these edges,
e.g. the path T-4-3-S is such a path and the
maximum decrease in flow is 1. This is also a
flow augmenting path. - combine the two approaches above i.e., find a
path P from S to T with the following properties - if arc(x,y) is on P and is directed from S to T
(a forward arc), then (x,y) is a member of I. - if arc(x,y) is on P and is directed from T to S
(a backward arc), then (x,y) is a member of R.
7Flow-augmenting paths (cont.)
- For the combined approach, the maximum increase
in flow is the minimum of the possible increase
in flow for those forward arcs, or the minimum
decrease in flow for those backward arcs,
whichever smaller. - e.g., in the previous example S-1-3-4-T is such a
path. The maximum increase in flow is 2 units.
Illustrating flow augmentation on S-1-3-4-T
8Residual network
- The residual network for any feasible flow is
constructed as follows. - If arc(x,y) is a member of I, then construct an
arc in the residual network from x to y and label
it with a residual capacity r(x,y) c(x,y)
f(x,y). - If arc(x,y) is a member of R, then construct an
arc in the residual network from y to x and label
it with a residual capacity r(y,x) f(x,y).
9Residual network example
3
10Flow-augmenting algorithm
- Every flow augmenting path from S to T in the
original network is a directed path from S to T
in the residual network. - A flow augmenting algorithm can be designed as
follows. - Step 1 Construct the residual network
corresponding to the current feasible flow. label
node S with e(s) ? and p(S) 0. All other
nodes are initially unlabeled. All arcs are
unmarked. - Step 2 Select a labeled node x which has not yet
been considered. If none exits, then stop no
flow-augmenting path from S to T exits. Otherwise
go to step 3. - Step 3 If y is currently unlabeled and if (x,y)
is a member of the forward star (outgoing arc) of
x, then label node y with e(y) min e(x),
r(x,y) and p(y) x. Mark arc(x,y). If T is
labeled, then stop since a flow-augmenting path
from S to T has been found Otherwise return to
step 2.
11Flow-augmenting algorithm example
e extra flow that can be sent down the
pathp predecessor
3
12Cut
- If a set of arcs are removed from a connected
graph, the number of components is increased.
This set of arcs is called a disconnecting set.
- A cut is a set of arcs in a directed graph such
that each path from S to T includes an arc in
this set. Thus a cut in a network is an S-T
disconnecting set (one component containing S,
the other T) in the corresponding directed graph.
a disconnecting set
1
2
3
4
6
5
13Cut (cont.)
- The capacity of a cut is the sum of the
capacities of the forward arcs in the cut. - When the cut capacity is the smallest, the cut is
called a minimum cut. - Note that there may be more than one minimum cut
in a network.
14Cut examples
cut 2
cut 1
Cut3
1
a
c
1
1
T
S
1
1
1
1
1
b
d
1
Cap.2
Cap.2
Cap.3
- The minimum cut is (S,a), (b,T) and the
capacity is equal to 2
15Ford and Fulkerson algorithm (Maximum-flow
algorithm)
- Max-Flow/Min-Cut theorem The value of the
maximum feasible flow from S to T is equal to the
capacity of the minimum S-T cut. - This algorithm makes use of the concepts of
residual network and flow-augmenting path
discussed previously.
16Ford and Fulkerson algorithm (cont.)
- Step 1 Let S denote the source node, and let T
denote the sink node.Select any initial flow
from S to T, i.e., any set of values for f(x,y)
that satisfies conservation of flow and capacity
constraints. If no such initial flow is known,
use as the initial flow f(x,y)0 for all (x,y). - Step 2 Construct the residual network relative
to the current flow. - Step 3 Perform the flow-augmenting algorithm to
determine a flow-augmenting path if no path is
found, stop the current flow is maximum
otherwise make the maximum possible flow
augmentation along the flow-augmenting path
discovered by the flow-augmenting algorithm.
Return to Step 2.
An example in flash movie
17Minimum cost flow
- A given cost per unit C(i,j) is associated with
the arc (i,j). - Given s-t flow, find the minimum cost of the s-t
flow, where the cost of a flow is defined as the
sum of the flow over all arcs times the cost per
unit for that arc. - Find the maximum flow with a minimum cost.
18Optimal routing
- In a network, there is a set of
origin-destination (O-D) pairs. The traffic for
each pair w(i,j) is denoted rw. - The transmission capacity of link (i,j) is
denoted c(i,j) in data units/sec. The link flow
for link (i,j) is f(i,j). - Optimal routing given traffic and link
capacities, find path flows to minimize
subject to flow conservation, where Dij
is a cost function. - Example use the average number of waiting data
units in the network as cost function. On link
(i,j), are waiting. Optimal
routing finding path flows to minimize
subject to flow
conservation.
19Subnet design and capacity assignment
- Subnet design problem given the location of
network nodes and traffic flow for each pair of
nodes, select capacity and flow of each link to
meet some delay and/or reliability constraints
while minimizing costs. - Capacity assignment problem choose the capacity
c(i,j) of each link (i,j) so as to minimize the
linear cost where p(i,j)
is a known positive price per unit capacity,
subject to average delay constraint.
20Iterative heuristic method for capacity
assignment problem
- At the start of each iteration, there is
available a current best topology and a trial
topology. - Current bets topology a topology found so far
that satisfies the constraints. - Trial topology the topology that will be
evaluated in the current iteration. - If the cost of the trial topology is less than
that of the current best topology, replace the
current best topology with the trial topology. - Heuristic rules for generating trial topologies
- Lower the capacity of a link with low
f(i,j)/c(i,j) - Increase the capacity of links with high
f(i,j)/c(i,j) when the delay constraint is not
met. - Branch exchange heuristic one link is deleted
and another link is added.
21Centralized network topology
- Multipoint line topology Selection of the links
connecting terminals to the center. - Terminal assignment The association of terminals
with specific concentrators. - Concentrator location Deciding where to place
concentrators, and whether or not to use them at
all.
22Multipoint line layout formalated
- Given N sites, site 1 to site N, and a center
site denoted by site 0. - The traffic from site i (i1..N) to the center is
denoted ti0 and t0i denotes the traffic from the
center to site i. - The cost of connecting site i and and site j is
denoted cij. - Let xij 1 if (i,j) is included in the topology
xij 0 otherwise.
23Problem statement
- Find zmin cij xij subject
to a b c d
24Constrained MST algorithm
- A matrix of input traffic tij from every node to
every other node is given. - An MST is to be designed suject to the constraint
that the flow on each arc will not exceed a given
upper bound. - Kruskal or Prim algorithms can be modified for
finding constrained MST at each iteration, a
check is made on the flow constraint.
25The Essau-Williams algorithm
- Start with a spanning tree where the central node
is directly connected with each of the N nodes.
At each successive itearation, a link (i,0) is
deleted from the current spanning tree and a link
(i,j) is added. The link (i,j) is so chosen - No cycle is formed
- The capacity constraints of all links of the new
spanning tree are satisfied. - The saving wi0 - wij in link weight obtained by
exchanging (i,0) with (i,j) is positive and is
maximized over all nodes i and j for which the
previous two conditions are satisfied.
example