1.1 --- a/lemon/min_cost_flow.h Wed Feb 27 11:39:03 2008 +0000
1.2 +++ b/lemon/min_cost_flow.h Thu Feb 28 02:54:27 2008 +0000
1.3 @@ -43,9 +43,7 @@
1.4 /// \ref NetworkSimplex.
1.5 ///
1.6 /// There are four implementations for the minimum cost flow problem,
1.7 - /// which can be used exactly the same way except for the fact that
1.8 - /// \ref CycleCanceling does not provide dual solution (node
1.9 - /// potentials) since it is a pure primal method.
1.10 + /// which can be used exactly the same way.
1.11 /// - \ref CapacityScaling The capacity scaling algorithm.
1.12 /// - \ref CostScaling The cost scaling algorithm.
1.13 /// - \ref CycleCanceling A cycle-canceling algorithm.
1.14 @@ -60,20 +58,16 @@
1.15 /// \warning
1.16 /// - Edge capacities and costs should be \e non-negative \e integers.
1.17 /// - Supply values should be \e signed \e integers.
1.18 - /// - \c LowerMap::Value must be convertible to \c CapacityMap::Value.
1.19 - /// - \c CapacityMap::Value and \c SupplyMap::Value must be
1.20 - /// convertible to each other.
1.21 - /// - All value types must be convertible to \c CostMap::Value, which
1.22 - /// must be signed type.
1.23 + /// - The value types of the maps should be convertible to each other.
1.24 + /// - \c CostMap::Value must be signed type.
1.25 ///
1.26 /// \author Peter Kovacs
1.27
1.28 template < typename Graph,
1.29 typename LowerMap = typename Graph::template EdgeMap<int>,
1.30 - typename CapacityMap = LowerMap,
1.31 + typename CapacityMap = typename Graph::template EdgeMap<int>,
1.32 typename CostMap = typename Graph::template EdgeMap<int>,
1.33 - typename SupplyMap = typename Graph::template NodeMap
1.34 - <typename CapacityMap::Value> >
1.35 + typename SupplyMap = typename Graph::template NodeMap<int> >
1.36 class MinCostFlow :
1.37 public NetworkSimplex< Graph, LowerMap, CapacityMap,
1.38 CostMap, SupplyMap >
1.39 @@ -85,7 +79,7 @@
1.40
1.41 public:
1.42
1.43 - /// General constructor of the class (with lower bounds).
1.44 + /// General constructor (with lower bounds).
1.45 MinCostFlow( const Graph &graph,
1.46 const LowerMap &lower,
1.47 const CapacityMap &capacity,
1.48 @@ -100,7 +94,7 @@
1.49 const SupplyMap &supply ) :
1.50 MinCostFlowImpl(graph, capacity, cost, supply) {}
1.51
1.52 - /// Simple constructor of the class (with lower bounds).
1.53 + /// Simple constructor (with lower bounds).
1.54 MinCostFlow( const Graph &graph,
1.55 const LowerMap &lower,
1.56 const CapacityMap &capacity,
1.57 @@ -110,7 +104,7 @@
1.58 MinCostFlowImpl( graph, lower, capacity, cost,
1.59 s, t, flow_value ) {}
1.60
1.61 - /// Simple constructor of the class (without lower bounds).
1.62 + /// Simple constructor (without lower bounds).
1.63 MinCostFlow( const Graph &graph,
1.64 const CapacityMap &capacity,
1.65 const CostMap &cost,