Maximum Flow Algorithms
      Let G be a directed graph, s and t 
        nodes of G, and cap a non-negative capacity 
        function on the edges of G. A flow from s 
        to t must satisfy the capacity constraints, i.e., the flow 
        over an edge must not exceed its capacity, and the flow conservation constraints, 
        i.e., the flow out of s must be the same as the flow into 
        t. In a maximum flow the flow out of s is maximum 
        among all flows from s to t. 
      MAX_FLOW_T() is the LEDA function for computing a 
        maximum flow in a directed graph. MAX_FLOW_T() is a template 
        function. The template parameter NT can be instantiated with 
        any number type.  
      Example of How 
        to Use MAX_FLOW_T() 
      Additionally, LEDA provides several specialized (template) functions 
        for maximum flow that allow to study the effect of different heuristics 
        and of different selection rules on the preflow push method. These functions 
        are mainly intended for specialists. A list of available functions can 
        be found on the Manual 
        Page of Maximum Flow.  
      MAX_FLOW() is the name of the preinstantiated versions 
        of MAX_FLOW_T(). There is one function MAX_FLOW() 
        for edge capacities of type int and one for double. 
       
      Example of How to 
        Use MAX_FLOW() 
      Important Notice: MAX_FLOW() only performs correctly 
        if all arithmetic is performed without rounding errors and without overflows. 
        If you are not sure about this, you should use MAX_FLOW_T() 
        with one of the LEDA number types. MAX_FLOW() for int 
        issues a warning if incorrect results are possible. MAX_FLOW() 
        for double computes a maximum flow for modified edge capacities 
        in order to avoid internal arithmetic problems. Details can be found in 
        the LEDA Book. Using 
        the following function you can do the capacity modification explicitely. 
      MAX_FLOW_SCALE_CAPS() modifies the edge capacities 
        in order to avoid internal arithmetic problems. The function returns false 
        if it changed some edge capacities and true otherwise. 
      Running Times
      The running time of MAX_FLOW_T() and MAX_FLOW() 
        is cubic in the number of nodes of the graph (O(|V|3)). 
        MAX_FLOW_SCALE_CAPS() is linear in the size of the graph. 
      Tips
      
        - Use 
MAX_FLOW_T()to compute a maximum flow. 
        - If you are determined to use 
MAX_FLOW()be aware of the 
          arithmetic problems that may arise. In case of double edge 
          capacities use MAX_FLOW_SCALE_CAPS() to modify the edge 
          capacities explicitely. 
       
       |