equal
deleted
inserted
replaced
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 |