lemon/network_simplex.h
changeset 788 c92296660262
parent 755 134852d7fb0a
parent 786 e20173729589
child 811 fe80a8145653
     1.1 --- a/lemon/network_simplex.h	Sun Nov 15 19:57:02 2009 +0100
     1.2 +++ b/lemon/network_simplex.h	Wed Nov 18 14:38:02 2009 +0100
     1.3 @@ -50,7 +50,7 @@
     1.4    /// In general this class is the fastest implementation available
     1.5    /// in LEMON for the minimum cost flow problem.
     1.6    /// Moreover it supports both directions of the supply/demand inequality
     1.7 -  /// constraints. For more information see \ref SupplyType.
     1.8 +  /// constraints. For more information, see \ref SupplyType.
     1.9    ///
    1.10    /// Most of the parameters of the problem (except for the digraph)
    1.11    /// can be given using separate functions, and the algorithm can be
    1.12 @@ -59,16 +59,16 @@
    1.13    ///
    1.14    /// \tparam GR The digraph type the algorithm runs on.
    1.15    /// \tparam V The value type used for flow amounts, capacity bounds
    1.16 -  /// and supply values in the algorithm. By default it is \c int.
    1.17 +  /// and supply values in the algorithm. By default, it is \c int.
    1.18    /// \tparam C The value type used for costs and potentials in the
    1.19 -  /// algorithm. By default it is the same as \c V.
    1.20 +  /// algorithm. By default, it is the same as \c V.
    1.21    ///
    1.22    /// \warning Both value types must be signed and all input data must
    1.23    /// be integer.
    1.24    ///
    1.25    /// \note %NetworkSimplex provides five different pivot rule
    1.26    /// implementations, from which the most efficient one is used
    1.27 -  /// by default. For more information see \ref PivotRule.
    1.28 +  /// by default. For more information, see \ref PivotRule.
    1.29    template <typename GR, typename V = int, typename C = V>
    1.30    class NetworkSimplex
    1.31    {
    1.32 @@ -124,35 +124,35 @@
    1.33      /// \ref NetworkSimplex provides five different pivot rule
    1.34      /// implementations that significantly affect the running time
    1.35      /// of the algorithm.
    1.36 -    /// By default \ref BLOCK_SEARCH "Block Search" is used, which
    1.37 +    /// By default, \ref BLOCK_SEARCH "Block Search" is used, which
    1.38      /// proved to be the most efficient and the most robust on various
    1.39      /// test inputs according to our benchmark tests.
    1.40 -    /// However another pivot rule can be selected using the \ref run()
    1.41 +    /// However, another pivot rule can be selected using the \ref run()
    1.42      /// function with the proper parameter.
    1.43      enum PivotRule {
    1.44  
    1.45 -      /// The First Eligible pivot rule.
    1.46 +      /// The \e First \e Eligible pivot rule.
    1.47        /// The next eligible arc is selected in a wraparound fashion
    1.48        /// in every iteration.
    1.49        FIRST_ELIGIBLE,
    1.50  
    1.51 -      /// The Best Eligible pivot rule.
    1.52 +      /// The \e Best \e Eligible pivot rule.
    1.53        /// The best eligible arc is selected in every iteration.
    1.54        BEST_ELIGIBLE,
    1.55  
    1.56 -      /// The Block Search pivot rule.
    1.57 +      /// The \e Block \e Search pivot rule.
    1.58        /// A specified number of arcs are examined in every iteration
    1.59        /// in a wraparound fashion and the best eligible arc is selected
    1.60        /// from this block.
    1.61        BLOCK_SEARCH,
    1.62  
    1.63 -      /// The Candidate List pivot rule.
    1.64 +      /// The \e Candidate \e List pivot rule.
    1.65        /// In a major iteration a candidate list is built from eligible arcs
    1.66        /// in a wraparound fashion and in the following minor iterations
    1.67        /// the best eligible arc is selected from this list.
    1.68        CANDIDATE_LIST,
    1.69  
    1.70 -      /// The Altering Candidate List pivot rule.
    1.71 +      /// The \e Altering \e Candidate \e List pivot rule.
    1.72        /// It is a modified version of the Candidate List method.
    1.73        /// It keeps only the several best eligible arcs from the former
    1.74        /// candidate list and extends this list in every iteration.
    1.75 @@ -812,7 +812,7 @@
    1.76      /// If it is not used before calling \ref run(), the \ref GEQ supply
    1.77      /// type will be used.
    1.78      ///
    1.79 -    /// For more information see \ref SupplyType.
    1.80 +    /// For more information, see \ref SupplyType.
    1.81      ///
    1.82      /// \return <tt>(*this)</tt>
    1.83      NetworkSimplex& supplyType(SupplyType supply_type) {
    1.84 @@ -844,11 +844,11 @@
    1.85      /// that have been given are kept for the next call, unless
    1.86      /// \ref reset() is called, thus only the modified parameters
    1.87      /// have to be set again. See \ref reset() for examples.
    1.88 -    /// However the underlying digraph must not be modified after this
    1.89 +    /// However, the underlying digraph must not be modified after this
    1.90      /// class have been constructed, since it copies and extends the graph.
    1.91      ///
    1.92      /// \param pivot_rule The pivot rule that will be used during the
    1.93 -    /// algorithm. For more information see \ref PivotRule.
    1.94 +    /// algorithm. For more information, see \ref PivotRule.
    1.95      ///
    1.96      /// \return \c INFEASIBLE if no feasible flow exists,
    1.97      /// \n \c OPTIMAL if the problem has optimal solution
    1.98 @@ -873,7 +873,7 @@
    1.99      /// It is useful for multiple run() calls. If this function is not
   1.100      /// used, all the parameters given before are kept for the next
   1.101      /// \ref run() call.
   1.102 -    /// However the underlying digraph must not be modified after this
   1.103 +    /// However, the underlying digraph must not be modified after this
   1.104      /// class have been constructed, since it copies and extends the graph.
   1.105      ///
   1.106      /// For example,