Changeset 607:327f7cf13843 in lemon-0.x for src/work/athos/mincostflows.h
- Timestamp:
- 05/11/04 17:42:11 (20 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@789
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/work/athos/mincostflows.h
r554 r607 9 9 #include <iostream> 10 10 #include <hugo/dijkstra.h> 11 #include < graph_wrapper.h>11 #include <hugo/graph_wrapper.h> 12 12 #include <hugo/maps.h> 13 13 #include <vector> … … 78 78 79 79 80 protected: 80 81 81 82 //Input … … 84 85 const CapacityMap& capacity; 85 86 87 86 88 //auxiliary variables 87 89 … … 99 101 Length total_length; 100 102 103 101 104 public : 102 105 … … 111 114 ///Returns k if there are at least k edge-disjoint paths from s to t. 112 115 ///Otherwise it returns the number of found edge-disjoint paths from s to t. 116 ///\todo May be it does make sense to be able to start with a nonzero 117 /// feasible primal-dual solution pair as well. 113 118 int run(Node s, Node t, int k) { 114 119 … … 186 191 } 187 192 188 //This function checks, whether the given solution is optimal 189 //Running after a \c run() should return with true 190 //In this "state of the art" this only check optimality, doesn't bother with feasibility 191 bool checkSolution(){ 193 ///Returns a const reference to the EdgeMap \c flow. \pre \ref run() must 194 ///be called before using this function. 195 const EdgeIntMap &getFlow() const { return flow;} 196 197 ///Returns a const reference to the NodeMap \c potential (the dual solution). 198 /// \pre \ref run() must be called before using this function. 199 const EdgeIntMap &getPotential() const { return potential;} 200 201 ///This function checks, whether the given solution is optimal 202 ///Running after a \c run() should return with true 203 ///In this "state of the art" this only check optimality, doesn't bother with feasibility 204 /// 205 ///\todo Is this OK here? 206 bool checkComplementarySlackness(){ 192 207 Length mod_pot; 193 208 Length fl_e;
Note: See TracChangeset
for help on using the changeset viewer.