Lecture Notes Discrete Optimization - Applied Mathematics
Lecture Notes Discrete Optimization - Applied Mathematics
Lecture Notes Discrete Optimization - Applied Mathematics
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
mizes the ratio c(C)/|C|. A minimum mean cost cycle can be computed in time O(nm).<br />
Using this idea, one can show that the resulting algorithm has an overall running time of<br />
O(n 2 m 3 logn).<br />
6.4 Successive Shortest Path Algorithm<br />
We derive an alternative optimality condition. Suppose we associate a potential π(u) with<br />
every node u∈ V. Define the reduced cost c π (u,v) of an edge(u,v) as<br />
c π (u,v)=c(u,v)−π(u)+π(v).<br />
Note that this definition is applicable to both the original network and the residual graph.<br />
Theorem 6.4 (Reduced cost optimality conditions). A feasible flow f of G is a minimum<br />
cost flow if and only if there exist some node potentials π : V →R such that c π (u,v)≥0<br />
for every edge(u,v)∈E f of G f .<br />
Proof. Suppose that there exist node potentials such that c π (u,v) ≥ 0 for every edge<br />
(u,v) ∈ E f of the residual graph G f . Let C be an arbitrary simple directed cycle in G f .<br />
Then<br />
∑<br />
e∈C<br />
c(e)= ∑ c π (e)≥0.<br />
e∈C<br />
We conclude that G f does not contain any negative cost cycle. By Theorem 6.1, f is a<br />
minimum cost flow.<br />
Let f be a minimum cost flow. By Theorem 6.1, G f contains no negative cycle. Let<br />
δ : V → R be the shortest path distances from an arbitrarily chosen source node s ∈ V<br />
to every other node u ∈ V (with respect to c). Note that δ is well-defined because G f<br />
contains no negative cycles. The distance function δ must satisfy the triangle inequality<br />
(see Lemma 4.2), i.e., for every edge (u,v) ∈ E f , δ(v) ≤ δ(u)+c(u,v). Define π(u)=<br />
−δ(u) for every node u∈ V. With this definition, we have for every(u,v)∈E f :<br />
which concludes the proof.<br />
c π (u,v)=c(u,v)−π(u)+π(v)= c(u,v)+δ(u)−δ(v)≥ 0,<br />
We next introduce the notion of a pseudoflow. A pseudoflow x of G is a function x : E →<br />
R + that satisfies the nonnegativity and capacity constraints; it need not satisfy the flow<br />
balance constraints. Given a pseudoflow x, define the excess of a node u∈ V as<br />
exs(u)=b(u)+ ∑ x(v,u)− ∑ x(u,v).<br />
(v,u)∈E (u,v)∈E<br />
Intuitively, exs(u)>0means that node u has an excess of exs(u) units of flow; exs(u)