Partitioning Algorithm for the Parametric Maximum Flow

The article presents an approach to the maximum flow problem in parametric networks with linear capacity functions of a single parameter, based on the concept of shortest conditional augmenting directed path. In order to avoid working with piecewise linear functions, our approach uses a series of parametric residual networks defined for successive subintervals of the parameter values where the parametric residual capacities of all arcs remain linear functions. Besides working with linear instead piecewise linear functions, another main advantage of our approach is that every directed path in such a parametric residual network is also a conditional augmenting directed path for the subinterval for which the parametric residual network was defined. The complexity of the partitioning algorithm is where  2 O Kn m K is the number of partitioning points of the parameter values interval, n and m being the number of nodes, respectively the number of arcs in the network.


Introduction
Efficient algorithms for computing maximum flows in networks are important not only because they are applied directly to the analysis of traffic or communication networks, but also because they are often employed as subproblems in other general network problems.Fundamental algorithms for network flow were designed and efficient algorithms exist (Ahuja, Magnanti, & Orlin) [1] to solve different instances of this problem.A natural generalization of the maximum flow problem can be obtained by making the capacities of some arcs functions of a single parameter.The parametric maximum flow problem is to compute all maximum flows for every possible value of the parameter.For the parametric maximum flow problem with zero lower bounds and linear capacity functions of a single parameter, Hamacher and Foulds [2] investigated an approach for determining in each iteration an improvement of the flow defined on the whole interval of the parameter while for the same problem, Ruhe [3], [4] proposed a "piece-by-piece" approach.The partitioning type approach, which is presented in this paper, proposes an original algorithm for computing the maximum flow in networks with constant lower bounds and linear upper bound functions.
Partitioning technique in network has been, in the latest years, a more and more active research topic in both engineering and theoretical research.The reason why the problem under consideration is of genuine practical and theoretical interest lies in that graph partitioning applications are described on a wide variety of subjects as: data distribution in parallel-computing, VLSI circuit design, image processing, computer vision, route planning, air traffic control, mobile networks, social networks, etc. [5].Unfortunately, graph partitioning is an NP-hard problem, and therefore all known algorithms for generating partitions merely return approximations to the optimal solution.
Further on, this paper is organized as follows; Section 2 presents the basic network flow terminology and results used in the rest of the paper.More specialized terminology is developed in later sections.In Section 3, we introduce the parametric maximum flow problem and Section 4 presents the partitioning algorithm for solving this problem.Finally, Section 5 gives an example of how the algorithm works on a network with linear upper bound functions of a single parameter.In the presentation to follow, some familiarities with flow algorithms are assumed and many details are omitted, since they are straight forward modifications of known results.Further details on notions and results presented in Section 2 can be found in the papers of Ahuja et al. [1] and Ciurea et al. [6,7].

Terminology and Preliminaries
Let be a capacitated network with  , , , , , , for some , where is referred to as the value of the flow 0 v  v f .Any flow on a directed network satisfying the flow bound constraints: is referred to as a feasible flow.A cut is a partition of the node set into two subsets and , deno- and is referred to as a forward arc of the cut while an arc with and as a backward arc of the cut.Let denote the set of forward arcs in the cut and denote the set of backward arcs.A cut The maximum flow problem is to determine a flow f  for which is maximized.The maximum flow problem in a network can be solved in two phases: (1) establishing a feasible flow; (2) from a given feasible flow, establishing the maximum flow.For the first phase, see the algorithms presented in [1,7,8].v

The Parametric Maximum Flow
The parametric flow problem consists in generalising the classic problem of flows in networks by transforming the upper bounds of some arcs   are functions of a real parameter λ is referred to as a parametric network and is denoted by For a parametric network G , the parametric upper bound (capacity) function and for each of the parameter values λ in an interval   0,  , the real number   , referred to as the upper bound of arc   , , 0, .
where is a real valued function associating to each arc the real number , referred to as the parametric part of the upper bound of the arc   is the upper bound of the arc For the problem to be correctly formulated, the upper bound function of every arc , ; ,
The parametric maximum flow (PMF) problem is to compute all maximum flows for every possible value of , This problem looks like a classic maximum flow problem with the decisive difference that the variables

 
, ; f i j λ of this problem are piecewise linear functions instead of real numbers and that the upper bounds

 
, ; u i j λ are linear functions instead of constants.
For any two piecewise linear functions 1 f and 2 f , it is possible that neither the relation 1 2 hold for the entire interval   0,  and consequently, the two functions may not necessarily be comparable.But it is always possible that a partitioning B: to be defined such as on every subinterval   f f  , i.e. the two linear functions to become comparable.This means that the two functions have no crossing points within any subinterval   , the only crossing points taking place for ., λ Proposition 1.For the parametric maximum flow problem, the subintervals the parameter λ values can be defined so that a mini- to represent a minimum s t  cut for all the parameter λ values within the subinterval k J .

Definition 4. A parametric s t
 cut partitioning, denoted by   , together with a partitioning of the interval Definition 5.For the parametric maximum flow problem, the capacity   partitioning is a linear function on every subinterval k J , , defined as: , with the subintervals k J assuring that every cut is a minimum cut   within the subinterval , λ λ is referred to as a parametric minimum s t  cut and is denoted by ) If there is a feasible flow in the parametric network G , the value function v  of the parametric maximum flow f  from a source s to a sink t equals the capacity c  of the parametric minimum s t  cut ; from node i to node j along the arc   , j i .These flows are computed as differences between piecewise linear functions of λ .
Definition 7.For the parametric maximum flow problem, the parametric residual capacity , ; with respect to a given parametric flow f represents the maximum additional flow that can be sent from node i to node over the arcs j   , i j and   , j i and is given by: where an augmentation of the flow , ;  f i j λ is possible along the arc   , i j are defined as follows: Definition 9. Given a feasible flow f in the parametric network G , the network denoted by being the set consisting only of arcs with positive parametric residual capacities, is referred to as the parametric residual network with respect to the given flow f for the parametric maximum flow problem.
Definition 10.A conditional augmenting directed path is denoted by P  and is a directed path from the source s to the sink t in the parametric residual network with the restriction that:

Partitioning Algorithm for the Parametric Maximum Flow Problem
The partitioning algorithm (PA) for the parametric maximum flow problem presented in this paper determines in each of its iterations an improvement of the flow over a subinterval of the parameter values generated by the partition induced by the first (in increasing order of their λ values) of the breakpoints of the piecewise linear parametric residual capacity of the conditional augmenting directed paths P  in the parametric residual network.Since the parametric residual capacities for all the arcs in   In order to avoid working with piecewise linear functions, the algorithm works in several parametric residual networks defined for subintervals of the parameter values where the parametric residual capacities of all arcs remain linear functions.The parametric residual network working with linear instead piecewise linear functions, another main advantage of our approach is that every augmenting directed path in a parametric residual for which the residual network The first phase of finding a parametric maximum flow consists in establishing a feasible flow, if one exists, in a non-parametric network from the initial parametric network by only replacing the parametric upper bound functions with the non-parametric upper bounds: for this feasible flow.For the non-parametric flow 0 f , the parametric residual capacities for every arc represents the slope of the parametric residual capacity function and The second phase of the algorithm starts with the pa- , defined for the nonparametric feasible flow 0 f , which is also , where the parametric residual capacities of all arcs can be written as As can be easily seen, the restriction -The SSADP procedure maintains a partly conditional au gmenting directed path   P i  which is memorised in the predecessor vector π and executes ADVANCE and RETREAT operations from the current node i until the sink node t is reached, i.e. the partly conditional augmenting directed path is transformed in a conditional augmenting directed path P  .
DO s an adm arc ) THEN; , in order to assure that the parametric residual capacit equals  , the whole interval of the parameter has been orithm stops.F completed and the alg or each of the subintervals

Example
The algorithm is illustrated on the d in 0 s  , , and for the parameter λ taking the sink node 3 t  values in the interval    is incremented to and, since , a new iteration will be perfo After performing three more iterations, the value 1   λ rmed.
of λ , the parametric residual capacity  ; r P    λ of any conditional augmenting directed path P  in the parametric residual network is a piecewise linear function of λ with   K P  breakpoints.

, 1 λ
since the residual capacities of all arcs are linear functions.The algorithm repeatedly finds shortest augmenting directed paths from the source node to the sink node in the parametric residual network and increases the flow in the original parametric network G only in the subinterval is updated on each flow augmentation step so that the parametric residual capacities of all arcs not to have breakpoints within the interval which the parametric network is partitioned.This list is initialised as and is updated, each time the parametric residual network the new lower limit of the subinterval of the parameter values for which a new parametric residual network the list B .Then the current value k of the counter is incremented and, if the condition k   λ is not reached yet, the m reiterates for algorith the next subinterval

3 .Theorem 5 .Theorem 6 . 1 KFigure 1 2 O 2 K
The Successive Shortest Augmenting Dire ADP) procedure correctly computes a parametric maximum flow in the parametric network of the short st augmenting directed path algorithm for the non-parametric case.The Residual Capacity (RC) procedure correctly computes the parametric residual capacity   ; k P r   λ of a conditional augmenting directed path P  in the parametric residual network (Theorem of correctness) If there is a feasible flow in the parametric network algorithm obviously follows from Theorem 3. Actually, the algori a parametric max flow and with th ning of the interval of the parameter values: (Theorem of complexity) The partitioning algorithm (PA) for the parametric maximum flow prob- is the number of λ values in the set B at the end of the algorithm.Proof.For each of the K subintervals where the source node is hm makes a call to pro dure SSADP.Si ity of the cedure S DP ro equals the complexity of etr shortest augmenting directed paths algorithm, being   n m , the total complexity of the partitioning algorithm is  

5 .
function algorithm ends.The parametric flows computed by the algorithm are presented in Figure As can be noticed in Figure 5, the parametric max v  equals the capacity function the parametric minimum cut in the parametric network. ,