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