lemon/network_simplex.h
changeset 1011 9a6c9d4ee77b
parent 984 fcb6ad1e67d0
parent 1003 16f55008c863
child 1049 7bf489cf624e
child 1070 ee9bac10f58e
equal deleted inserted replaced
37:22ac46ca600e 39:bf92b13006e7
    46   /// This algorithm is a highly efficient specialized version of the
    46   /// This algorithm is a highly efficient specialized version of the
    47   /// linear programming simplex method directly for the minimum cost
    47   /// linear programming simplex method directly for the minimum cost
    48   /// flow problem.
    48   /// flow problem.
    49   ///
    49   ///
    50   /// In general, \ref NetworkSimplex and \ref CostScaling are the fastest
    50   /// In general, \ref NetworkSimplex and \ref CostScaling are the fastest
    51   /// implementations available in LEMON for this problem.
    51   /// implementations available in LEMON for solving this problem.
       
    52   /// (For more information, see \ref min_cost_flow_algs "the module page".)
    52   /// Furthermore, this class supports both directions of the supply/demand
    53   /// Furthermore, this class supports both directions of the supply/demand
    53   /// inequality constraints. For more information, see \ref SupplyType.
    54   /// inequality constraints. For more information, see \ref SupplyType.
    54   ///
    55   ///
    55   /// Most of the parameters of the problem (except for the digraph)
    56   /// Most of the parameters of the problem (except for the digraph)
    56   /// can be given using separate functions, and the algorithm can be
    57   /// can be given using separate functions, and the algorithm can be
  1007     /// \pre \ref run() must be called before using this function.
  1008     /// \pre \ref run() must be called before using this function.
  1008     Value flow(const Arc& a) const {
  1009     Value flow(const Arc& a) const {
  1009       return _flow[_arc_id[a]];
  1010       return _flow[_arc_id[a]];
  1010     }
  1011     }
  1011 
  1012 
  1012     /// \brief Return the flow map (the primal solution).
  1013     /// \brief Copy the flow values (the primal solution) into the
       
  1014     /// given map.
  1013     ///
  1015     ///
  1014     /// This function copies the flow value on each arc into the given
  1016     /// This function copies the flow value on each arc into the given
  1015     /// map. The \c Value type of the algorithm must be convertible to
  1017     /// map. The \c Value type of the algorithm must be convertible to
  1016     /// the \c Value type of the map.
  1018     /// the \c Value type of the map.
  1017     ///
  1019     ///
  1031     /// \pre \ref run() must be called before using this function.
  1033     /// \pre \ref run() must be called before using this function.
  1032     Cost potential(const Node& n) const {
  1034     Cost potential(const Node& n) const {
  1033       return _pi[_node_id[n]];
  1035       return _pi[_node_id[n]];
  1034     }
  1036     }
  1035 
  1037 
  1036     /// \brief Return the potential map (the dual solution).
  1038     /// \brief Copy the potential values (the dual solution) into the
       
  1039     /// given map.
  1037     ///
  1040     ///
  1038     /// This function copies the potential (dual value) of each node
  1041     /// This function copies the potential (dual value) of each node
  1039     /// into the given map.
  1042     /// into the given map.
  1040     /// The \c Cost type of the algorithm must be convertible to the
  1043     /// The \c Cost type of the algorithm must be convertible to the
  1041     /// \c Value type of the map.
  1044     /// \c Value type of the map.