lemon/min_cost_flow.h
changeset 2576 ae092c63d3ba
parent 2556 74c2c81055e1
child 2579 691ce54544c5
     1.1 --- a/lemon/min_cost_flow.h	Mon Feb 18 03:32:06 2008 +0000
     1.2 +++ b/lemon/min_cost_flow.h	Mon Feb 18 03:32:56 2008 +0000
     1.3 @@ -36,33 +36,35 @@
     1.4    /// \ref MinCostFlow provides an efficient algorithm for finding
     1.5    /// a minimum cost flow.
     1.6    ///
     1.7 -  /// \note \ref MinCostFlow is just an alias for \ref NetworkSimplex,
     1.8 -  /// which is the most efficient implementation for the minimum cost
     1.9 -  /// flow problem in the LEMON library according to our benchmark
    1.10 -  /// tests.
    1.11 -  ///
    1.12 -  /// \note There are three implementations for the minimum cost flow
    1.13 -  /// problem, that can be used exactly the same way.
    1.14 -  /// - \ref CapacityScaling
    1.15 -  /// - \ref CycleCanceling
    1.16 -  /// - \ref NetworkSimplex
    1.17 -  ///
    1.18 -  /// \note For the detailed documentation of this class see
    1.19 +  /// This class is just an alias for \ref NetworkSimplex,
    1.20 +  /// which is the most efficient algorithm for the minimum cost
    1.21 +  /// flow problem in LEMON according to our benchmark tests.
    1.22 +  /// For the detailed documentation of this class see
    1.23    /// \ref NetworkSimplex.
    1.24    ///
    1.25 -  /// \param Graph The directed graph type the algorithm runs on.
    1.26 -  /// \param LowerMap The type of the lower bound map.
    1.27 -  /// \param CapacityMap The type of the capacity (upper bound) map.
    1.28 -  /// \param CostMap The type of the cost (length) map.
    1.29 -  /// \param SupplyMap The type of the supply map.
    1.30 +  /// There are four implementations for the minimum cost flow problem,
    1.31 +  /// which can be used exactly the same way except for the fact that
    1.32 +  /// \ref CycleCanceling does not provide dual solution (node
    1.33 +  /// potentials) since it is a pure primal method.
    1.34 +  /// - \ref CapacityScaling The capacity scaling algorithm.
    1.35 +  /// - \ref CostScaling The cost scaling algorithm.
    1.36 +  /// - \ref CycleCanceling A cycle-canceling algorithm.
    1.37 +  /// - \ref NetworkSimplex The network simplex algorithm.
    1.38 +  ///
    1.39 +  /// \tparam Graph The directed graph type the algorithm runs on.
    1.40 +  /// \tparam LowerMap The type of the lower bound map.
    1.41 +  /// \tparam CapacityMap The type of the capacity (upper bound) map.
    1.42 +  /// \tparam CostMap The type of the cost (length) map.
    1.43 +  /// \tparam SupplyMap The type of the supply map.
    1.44    ///
    1.45    /// \warning
    1.46 -  /// - Edge capacities and costs should be non-negative integers.
    1.47 -  ///   However \c CostMap::Value should be signed type.
    1.48 -  /// - Supply values should be signed integers.
    1.49 -  /// - \c LowerMap::Value must be convertible to
    1.50 -  ///   \c CapacityMap::Value and \c CapacityMap::Value must be
    1.51 -  ///   convertible to \c SupplyMap::Value.
    1.52 +  /// - Edge capacities and costs should be \e non-negative \e integers.
    1.53 +  /// - Supply values should be \e signed \e integers.
    1.54 +  /// - \c LowerMap::Value must be convertible to \c CapacityMap::Value.
    1.55 +  /// - \c CapacityMap::Value and \c SupplyMap::Value must be
    1.56 +  ///   convertible to each other.
    1.57 +  /// - All value types must be convertible to \c CostMap::Value, which
    1.58 +  ///   must be signed type.
    1.59    ///
    1.60    /// \author Peter Kovacs
    1.61