lemon/cycle_canceling.h
changeset 919 e0cef67fe565
parent 877 141f9c0db4a3
child 922 9312d6c89d02
equal deleted inserted replaced
8:8e22680054e8 9:816a23c0d248
    65   /// \tparam C The number type used for costs and potentials in the
    65   /// \tparam C The number type used for costs and potentials in the
    66   /// algorithm. By default, it is the same as \c V.
    66   /// algorithm. By default, it is the same as \c V.
    67   ///
    67   ///
    68   /// \warning Both number types must be signed and all input data must
    68   /// \warning Both number types must be signed and all input data must
    69   /// be integer.
    69   /// be integer.
    70   /// \warning This algorithm does not support negative costs for such
    70   /// \warning This algorithm does not support negative costs for
    71   /// arcs that have infinite upper bound.
    71   /// arcs having infinite upper bound.
    72   ///
    72   ///
    73   /// \note For more information about the three available methods,
    73   /// \note For more information about the three available methods,
    74   /// see \ref Method.
    74   /// see \ref Method.
    75 #ifdef DOXYGEN
    75 #ifdef DOXYGEN
    76   template <typename GR, typename V, typename C>
    76   template <typename GR, typename V, typename C>
   114     /// Enum type containing constants for selecting the used method
   114     /// Enum type containing constants for selecting the used method
   115     /// for the \ref run() function.
   115     /// for the \ref run() function.
   116     ///
   116     ///
   117     /// \ref CycleCanceling provides three different cycle-canceling
   117     /// \ref CycleCanceling provides three different cycle-canceling
   118     /// methods. By default, \ref CANCEL_AND_TIGHTEN "Cancel and Tighten"
   118     /// methods. By default, \ref CANCEL_AND_TIGHTEN "Cancel and Tighten"
   119     /// is used, which proved to be the most efficient and the most robust
   119     /// is used, which is by far the most efficient and the most robust.
   120     /// on various test inputs.
       
   121     /// However, the other methods can be selected using the \ref run()
   120     /// However, the other methods can be selected using the \ref run()
   122     /// function with the proper parameter.
   121     /// function with the proper parameter.
   123     enum Method {
   122     enum Method {
   124       /// A simple cycle-canceling method, which uses the
   123       /// A simple cycle-canceling method, which uses the
   125       /// \ref BellmanFord "Bellman-Ford" algorithm with limited iteration
   124       /// \ref BellmanFord "Bellman-Ford" algorithm with limited iteration
   347     /// and the required flow value.
   346     /// and the required flow value.
   348     /// If neither this function nor \ref supplyMap() is used before
   347     /// If neither this function nor \ref supplyMap() is used before
   349     /// calling \ref run(), the supply of each node will be set to zero.
   348     /// calling \ref run(), the supply of each node will be set to zero.
   350     ///
   349     ///
   351     /// Using this function has the same effect as using \ref supplyMap()
   350     /// Using this function has the same effect as using \ref supplyMap()
   352     /// with such a map in which \c k is assigned to \c s, \c -k is
   351     /// with a map in which \c k is assigned to \c s, \c -k is
   353     /// assigned to \c t and all other nodes have zero supply value.
   352     /// assigned to \c t and all other nodes have zero supply value.
   354     ///
   353     ///
   355     /// \param s The source node.
   354     /// \param s The source node.
   356     /// \param t The target node.
   355     /// \param t The target node.
   357     /// \param k The required amount of flow from node \c s to node \c t
   356     /// \param k The required amount of flow from node \c s to node \c t