n
f f f
x x x
⎡∂ ∂ ∂ ⎤
⎢∂ ∂ ∂ ⎥
⎣ ⎦
if this exits, by fx. If the derivative fx exists at ˆx, then fxs ≦ 0 at ˆx for feasible directions s from ˆx. In particular, if ˆx is an interior point of X, then
fx = 0 (3.2.3)
at ˆx. Criterion (3.2.3) is the classic stationary condition, the condition that ˆx be a stationary point of f. For the weak Lagrangian principle, an appropriate stationary point of the Lagrangian form is located, and y is then adjusted until the constraint (3.2.1) is satisfied at the stationary point.
3.3 Maximum Flow Algorithm
Network flow problems are linear programs with the particularly useful property that they posses optimal solutions in integers. In this subsection we review “classical”
network flow theory, including the max-flow min-cut theorem and computation of minimum cost flows.
Suppose that each arc (i, j) of a directed graph G has assigned to it a non-negative number cij, the capacity of (i, j). The capacity can be thought of as representing the maximum amount of some commodity that can “flow” through the arc per unit time in a steady-state situation. Such a flow is permitted only in the indicated direction of the arc, i.e., from i to j.
Consider the problem of finding a maximal flow from a source node s to a sink node t, which can be formulated as follows. Let
xij = the amount of flow through arc (i, j).
Then, 0 ≦ xij ≦ Cij. (3.3.1)
A conversation law is observed at each of the nodes other than s or t. That is, what goes out of node i must be equal to what comes in. So we have flow, or simply a flow, and v is its value. The problem of finding a maximum value flow from s to t is a linear program in which the objective is to maximize v subject to constraints (3.3.1) and (3.3.2).
Let P be an undirected path from s to t. An arc (i, j) in P is said to be a forward arc if it is directed from s toward t and backward otherwise. P is said to be a flow augmenting path with respect to a given flow x = (xij) if xij < cij for each forward arc (i, j) and xij > 0 for each backward arc in P.
A (s, t)-cutset is identified by a pair (S, T) of complementary subsets of nodes, with s∈S and t∈T. The capacity of the cutset (S, T) is defined as
(
,)
ij i S j Tc S T c
∈ ∈
=
∑∑
,i.e., the sum of the capacities of all arcs which are directed from S to T. The value of any (s, t)-flow cannot exceed the capacity of any (s, t)-cutset. Suppose that x = (xij) is a flow and (S, T) is an (s, t)-cutset. Sum the equations (3.3.2) identified with nodes i∈S to obtain
It follows that from the preceding analysis that the flow is maximal and that the cutest has minimal capacity. Notice that each arc (i, j) is saturated, i.e., xij = cij, if i∈S, j∈T and void, i.e., xij = 0, if i∈T, j∈S. We now state three of the principle theorems of network flow theory. They will later be applied to yield good algorithms for maximal flow problems.
Theorem (Augmenting Path Theorem) A flow is maximal if and only if it admits no augmenting path from s to t.
Theorem (Integral Flow Theorem) If all arc capacities are integers there is a
maximal flow which is integral.
Theorem (Max-Flow Min-Cut Theorem) The maximum value of an (s, t)-flow is equal to the minimum capacity of an (s, t)-cutset.
The problem of finding a maximum capacity flow augmenting path is evidently
quite similar to the problem of finding a shortest path, or, more precisely, a path in which the minimum arc length is maximum. We can make the similarity quite clear, as follows. Let
{ }
ˆij max ij ij, ji
c = c −x x ,
where cij = 0, if there is no arc (i, j). Let ui = the capacity of a maximum capacity augmenting path from node s to node i. Then the analogues of Bellman’s equations are:
It is clear that the ui values and the corresponding maximum capacity paths can be found by Dijkstra-like computation which is O(n2). Actually, we shall be satisfied with a computation which does not necessarily compute maximum capacity paths. A procedure in which labels are given to nodes is proposed. These labels are of the form (i+, δj) or (i-, δj). A label (i+, δj) indicates that these exists an augmenting path with capacityδj from the source to the node j in question, and that (i, j) is the last arc in this path. A label (i-, δj) indicates that (j, i) is the last arc in the path, i.e., (j, i) will be a backward arc if the path is extended to the sink t. Initially only the source node s is labeled with the special label (-, ∞ ). Thereafter, additional nodes are labeled in one of two ways:
When the procedure succeeds in labeling node t, an augmenting path has been found and the value of the flow can be augmented by δt . If the procedure concludes without labeling node t, then no augmenting path exists. A minimum capacity cutest (S, T) is constructed by letting S contain all labeled nodes and T contain all unlabeled nodes.
A labeled node is either “scanned” or “unscanned.” A node is scanned by examining all incident arcs and applying labels to previously unlabeled adjacent nodes, according to the rules given above.
The maximal flow algorithm is shown as follows:
Step 0 (Start)
Let x = (xij) be any integral feasible flow, possibly the zero flow. Give node s thee permanent label (-, ∞).
Step 1 (Labeling and Scanning)
(1.1) If all labeled nodes have been scanned, go to Step 3.
(1.2) Find a labeled but unscanned node i and scan it as follows: For each arc (i, j), if xij < cij and j is unlabeled, give j the label (i+, δj), where
{ }
min ,
j cij xij i
δ = − δ
For each arc (j, i), if xji > 0 and j is unlabeled, give j the label (i-, δj), where
{ }
min ,
j xji i
δ = δ .
(1.3) If node t has been labeled, go to Step 2; otherwise go to Step 1.1.
Step 2 (Augmentation)
Starting at node t, use the index labels to construct an augmenting path. (The label on node t indicates the second-to-last node in the path, the label on that node indicates the third-to-last node, and so on.) Augment the flow by increasing and decreasing the arc flows byδt , as indicated by the superscripts on the index labels.
Erase all labels, except the label on node s. Go to Step 1.
Step 3 (Construction of Minimal Cut)
The existing flow is maximal. A cutset of minimum capacity is obtained by placing all labeled nodes in S and all unlabeled nodes in T. The computation is completed.
Chapter 4 Proposed Scheme
In this chapter, first we will formulate this routing problem to the constrained Markov decision process, and find the optimal policy (the partitions on each link) corresponding to the value of Lagrangian multiplier called here by using value determine and policy improvement procedure. Second, the original maximum flow algorithm is modified and we will describe our modified algorithm at each source node for choosing the best feasible route or the shortest-path to avoid more calls lost in the future when a new call is arriving.
Lambda