Changeset 786:e20173729589 in lemon-main
- Timestamp:
- 11/13/09 18:10:06 (15 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/min_cost_flow.dox
r663 r786 79 79 - if \f$cost^\pi(uv)<0\f$, then \f$f(uv)=upper(uv)\f$. 80 80 - For all \f$u\in V\f$ nodes: 81 - \f$\pi(u) <=0\f$;81 - \f$\pi(u)\leq 0\f$; 82 82 - if \f$\sum_{uv\in A} f(uv) - \sum_{vu\in A} f(vu) \neq sup(u)\f$, 83 83 then \f$\pi(u)=0\f$. … … 146 146 - if \f$cost^\pi(uv)<0\f$, then \f$f(uv)=upper(uv)\f$. 147 147 - For all \f$u\in V\f$ nodes: 148 - \f$\pi(u) >=0\f$;148 - \f$\pi(u)\geq 0\f$; 149 149 - if \f$\sum_{uv\in A} f(uv) - \sum_{vu\in A} f(vu) \neq sup(u)\f$, 150 150 then \f$\pi(u)=0\f$. -
lemon/bellman_ford.h
r699 r786 300 300 /// \ref named-templ-param "Named parameter" for setting 301 301 /// \c OperationTraits type. 302 /// For more information see \ref BellmanFordDefaultOperationTraits.302 /// For more information, see \ref BellmanFordDefaultOperationTraits. 303 303 template <class T> 304 304 struct SetOperationTraits … … 718 718 /// 719 719 /// The shortest path tree used here is equal to the shortest path 720 /// tree used in \ref predNode() and \ predMap().720 /// tree used in \ref predNode() and \ref predMap(). 721 721 /// 722 722 /// \pre Either \ref run() or \ref init() must be called before … … 733 733 /// 734 734 /// The shortest path tree used here is equal to the shortest path 735 /// tree used in \ref predArc() and \ predMap().735 /// tree used in \ref predArc() and \ref predMap(). 736 736 /// 737 737 /// \pre Either \ref run() or \ref init() must be called before -
lemon/bfs.h
r717 r786 64 64 ///The type of the map that indicates which nodes are processed. 65 65 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 66 ///By default it is a NullMap.66 ///By default, it is a NullMap. 67 67 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 68 68 ///Instantiates a \c ProcessedMap. … … 853 853 ///The type of the map that indicates which nodes are processed. 854 854 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 855 ///By default it is a NullMap.855 ///By default, it is a NullMap. 856 856 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 857 857 ///Instantiates a ProcessedMap. -
lemon/circulation.h
r715 r786 307 307 /// able to automatically created by the algorithm (i.e. the 308 308 /// digraph and the maximum level should be passed to it). 309 /// However an external elevator object could also be passed to the309 /// However, an external elevator object could also be passed to the 310 310 /// algorithm with the \ref elevator(Elevator&) "elevator()" function 311 311 /// before calling \ref run() or \ref init(). -
lemon/concepts/digraph.h
r734 r786 108 108 109 109 /// This iterator goes through each node of the digraph. 110 /// Its usage is quite simple, for example you can count the number110 /// Its usage is quite simple, for example, you can count the number 111 111 /// of nodes in a digraph \c g of type \c %Digraph like this: 112 112 ///\code … … 197 197 /// This iterator goes trough the \e outgoing arcs of a certain node 198 198 /// of a digraph. 199 /// Its usage is quite simple, for example you can count the number199 /// Its usage is quite simple, for example, you can count the number 200 200 /// of outgoing arcs of a node \c n 201 201 /// in a digraph \c g of type \c %Digraph as follows. … … 242 242 /// This iterator goes trough the \e incoming arcs of a certain node 243 243 /// of a digraph. 244 /// Its usage is quite simple, for example you can count the number244 /// Its usage is quite simple, for example, you can count the number 245 245 /// of incoming arcs of a node \c n 246 246 /// in a digraph \c g of type \c %Digraph as follows. … … 286 286 287 287 /// This iterator goes through each arc of the digraph. 288 /// Its usage is quite simple, for example you can count the number288 /// Its usage is quite simple, for example, you can count the number 289 289 /// of arcs in a digraph \c g of type \c %Digraph as follows: 290 290 ///\code -
lemon/concepts/graph.h
r734 r786 141 141 142 142 /// This iterator goes through each node of the graph. 143 /// Its usage is quite simple, for example you can count the number143 /// Its usage is quite simple, for example, you can count the number 144 144 /// of nodes in a graph \c g of type \c %Graph like this: 145 145 ///\code … … 229 229 230 230 /// This iterator goes through each edge of the graph. 231 /// Its usage is quite simple, for example you can count the number231 /// Its usage is quite simple, for example, you can count the number 232 232 /// of edges in a graph \c g of type \c %Graph as follows: 233 233 ///\code … … 273 273 /// This iterator goes trough the incident undirected edges 274 274 /// of a certain node of a graph. 275 /// Its usage is quite simple, for example you can compute the275 /// Its usage is quite simple, for example, you can compute the 276 276 /// degree (i.e. the number of incident edges) of a node \c n 277 277 /// in a graph \c g of type \c %Graph as follows. … … 370 370 371 371 /// This iterator goes through each directed arc of the graph. 372 /// Its usage is quite simple, for example you can count the number372 /// Its usage is quite simple, for example, you can count the number 373 373 /// of arcs in a graph \c g of type \c %Graph as follows: 374 374 ///\code … … 414 414 /// This iterator goes trough the \e outgoing directed arcs of a 415 415 /// certain node of a graph. 416 /// Its usage is quite simple, for example you can count the number416 /// Its usage is quite simple, for example, you can count the number 417 417 /// of outgoing arcs of a node \c n 418 418 /// in a graph \c g of type \c %Graph as follows. … … 462 462 /// This iterator goes trough the \e incoming directed arcs of a 463 463 /// certain node of a graph. 464 /// Its usage is quite simple, for example you can count the number464 /// Its usage is quite simple, for example, you can count the number 465 465 /// of incoming arcs of a node \c n 466 466 /// in a graph \c g of type \c %Graph as follows. … … 588 588 /// Returns the first node of the given edge. 589 589 /// 590 /// Edges don't have source and target nodes, however methods590 /// Edges don't have source and target nodes, however, methods 591 591 /// u() and v() are used to query the two end-nodes of an edge. 592 592 /// The orientation of an edge that arises this way is called … … 601 601 /// Returns the second node of the given edge. 602 602 /// 603 /// Edges don't have source and target nodes, however methods603 /// Edges don't have source and target nodes, however, methods 604 604 /// u() and v() are used to query the two end-nodes of an edge. 605 605 /// The orientation of an edge that arises this way is called -
lemon/concepts/graph_components.h
r734 r786 19 19 ///\ingroup graph_concepts 20 20 ///\file 21 ///\brief The concept of graph components.21 ///\brief The concepts of graph components. 22 22 23 23 #ifndef LEMON_CONCEPTS_GRAPH_COMPONENTS_H -
lemon/counter.h
r440 r786 213 213 /// 'Do nothing' version of Counter. 214 214 215 /// This class can be used in the same way as \ref Counter howeverit215 /// This class can be used in the same way as \ref Counter, but it 216 216 /// does not count at all and does not print report on destruction. 217 217 /// -
lemon/dfs.h
r717 r786 64 64 ///The type of the map that indicates which nodes are processed. 65 65 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 66 ///By default it is a NullMap.66 ///By default, it is a NullMap. 67 67 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 68 68 ///Instantiates a \c ProcessedMap. … … 783 783 ///The type of the map that indicates which nodes are processed. 784 784 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 785 ///By default it is a NullMap.785 ///By default, it is a NullMap. 786 786 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 787 787 ///Instantiates a ProcessedMap. -
lemon/dijkstra.h
r717 r786 133 133 ///The type of the map that indicates which nodes are processed. 134 134 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 135 ///By default it is a NullMap.135 ///By default, it is a NullMap. 136 136 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 137 137 ///Instantiates a \c ProcessedMap. … … 427 427 ///passed to the constructor of the cross reference and the cross 428 428 ///reference should be passed to the constructor of the heap). 429 ///However external heap and cross reference objects could also be429 ///However, external heap and cross reference objects could also be 430 430 ///passed to the algorithm using the \ref heap() function before 431 431 ///calling \ref run(Node) "run()" or \ref init(). … … 448 448 ///\ref named-templ-param "Named parameter" for setting 449 449 ///\c OperationTraits type. 450 /// For more information see \ref DijkstraDefaultOperationTraits.450 /// For more information, see \ref DijkstraDefaultOperationTraits. 451 451 template <class T> 452 452 struct SetOperationTraits … … 997 997 ///The type of the map that indicates which nodes are processed. 998 998 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 999 ///By default it is a NullMap.999 ///By default, it is a NullMap. 1000 1000 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 1001 1001 ///Instantiates a ProcessedMap. -
lemon/gomory_hu.h
r713 r786 295 295 /// \pre \ref run() must be called before using this function. 296 296 template <typename CutMap> 297 Value minCutMap(const Node& s, ///<297 Value minCutMap(const Node& s, 298 298 const Node& t, 299 ///<300 299 CutMap& cutMap 301 ///<302 300 ) const { 303 301 Node sn = s, tn = t; … … 395 393 /// \endcode 396 394 /// does not necessarily give the same set of nodes. 397 /// However it is ensured that395 /// However, it is ensured that 398 396 /// \code 399 397 /// MinCutNodeIt(gomory, s, t, true); -
lemon/graph_to_eps.h
r617 r786 143 143 ///\param gr Reference to the graph to be printed. 144 144 ///\param ost Reference to the output stream. 145 ///By default it is <tt>std::cout</tt>.145 ///By default, it is <tt>std::cout</tt>. 146 146 ///\param pros If it is \c true, then the \c ostream referenced by \c os 147 147 ///will be explicitly deallocated by the destructor. … … 513 513 ///Turn on/off pre-scaling 514 514 515 ///By default graphToEps() rescales the whole image in order to avoid515 ///By default, graphToEps() rescales the whole image in order to avoid 516 516 ///very big or very small bounding boxes. 517 517 /// … … 1115 1115 ///\param g Reference to the graph to be printed. 1116 1116 ///\param os Reference to the output stream. 1117 ///By default it is <tt>std::cout</tt>.1117 ///By default, it is <tt>std::cout</tt>. 1118 1118 /// 1119 1119 ///This function also has a lot of … … 1127 1127 ///\endcode 1128 1128 /// 1129 ///For more detailed examples see the \ref graph_to_eps_demo.cc demo file.1129 ///For more detailed examples, see the \ref graph_to_eps_demo.cc demo file. 1130 1130 /// 1131 1131 ///\warning Don't forget to put the \ref GraphToEps::run() "run()" -
lemon/hypercube_graph.h
r737 r786 288 288 /// differ only on one position in the binary form. 289 289 /// This class is completely static and it needs constant memory space. 290 /// Thus you can neither add nor delete nodes or edges, however 290 /// Thus you can neither add nor delete nodes or edges, however, 291 291 /// the structure can be resized using resize(). 292 292 /// -
lemon/lgf_reader.h
r599 r786 428 428 ///\endcode 429 429 /// 430 /// By default the reader uses the first section in the file of the430 /// By default, the reader uses the first section in the file of the 431 431 /// proper type. If a section has an optional name, then it can be 432 432 /// selected for reading by giving an optional name parameter to the … … 2222 2222 /// whitespaces are trimmed from each processed string. 2223 2223 /// 2224 /// For example let's see a section, which contain several2224 /// For example, let's see a section, which contain several 2225 2225 /// integers, which should be inserted into a vector. 2226 2226 ///\code -
lemon/list_graph.h
r741 r786 392 392 /// 393 393 ///\note \c ArcIt and \c OutArcIt iterators referencing the changed 394 ///arc remain valid, however\c InArcIt iterators are invalidated.394 ///arc remain valid, but \c InArcIt iterators are invalidated. 395 395 /// 396 396 ///\warning This functionality cannot be used together with the Snapshot … … 404 404 /// 405 405 ///\note \c InArcIt iterators referencing the changed arc remain 406 ///valid, however\c ArcIt and \c OutArcIt iterators are invalidated.406 ///valid, but \c ArcIt and \c OutArcIt iterators are invalidated. 407 407 /// 408 408 ///\warning This functionality cannot be used together with the Snapshot … … 550 550 /// reversing, contracting, splitting arcs or nodes) cannot be 551 551 /// restored. These events invalidate the snapshot. 552 /// However the arcs and nodes that were added to the digraph after552 /// However, the arcs and nodes that were added to the digraph after 553 553 /// making the current snapshot can be removed without invalidating it. 554 554 class Snapshot { … … 1268 1268 /// 1269 1269 ///\note \c EdgeIt iterators referencing the changed edge remain 1270 ///valid, however\c ArcIt iterators referencing the changed edge and1270 ///valid, but \c ArcIt iterators referencing the changed edge and 1271 1271 ///all other iterators whose base node is the changed node are also 1272 1272 ///invalidated. … … 1352 1352 /// (e.g. changing the end-nodes of edges or contracting nodes) 1353 1353 /// cannot be restored. These events invalidate the snapshot. 1354 /// However the edges and nodes that were added to the graph after1354 /// However, the edges and nodes that were added to the graph after 1355 1355 /// making the current snapshot can be removed without invalidating it. 1356 1356 class Snapshot { -
lemon/lp_base.h
r746 r786 147 147 ///Iterator for iterate over the columns of an LP problem 148 148 149 /// Its usage is quite simple, for example you can count the number149 /// Its usage is quite simple, for example, you can count the number 150 150 /// of columns in an LP \c lp: 151 151 ///\code … … 242 242 ///Iterator for iterate over the rows of an LP problem 243 243 244 /// Its usage is quite simple, for example you can count the number244 /// Its usage is quite simple, for example, you can count the number 245 245 /// of rows in an LP \c lp: 246 246 ///\code -
lemon/maps.h
r726 r786 231 231 /// This map is essentially a wrapper for \c std::vector. It assigns 232 232 /// values to integer keys from the range <tt>[0..size-1]</tt>. 233 /// It can be used with some data structures, for example234 /// \c UnionFind, \c BinHeap, when the used items are small233 /// It can be used together with some data structures, e.g. 234 /// heap types and \c UnionFind, when the used items are small 235 235 /// integers. This map conforms to the \ref concepts::ReferenceMap 236 /// "ReferenceMap" concept. 236 /// "ReferenceMap" concept. 237 237 /// 238 238 /// The simplest way of using this map is through the rangeMap() … … 349 349 /// The name of this type also refers to this important usage. 350 350 /// 351 /// Apart form that this map can be used in many other cases since it351 /// Apart form that, this map can be used in many other cases since it 352 352 /// is based on \c std::map, which is a general associative container. 353 /// However keep in mind that it is usually not as efficient as other353 /// However, keep in mind that it is usually not as efficient as other 354 354 /// maps. 355 355 /// … … 1786 1786 /// The most important usage of it is storing certain nodes or arcs 1787 1787 /// that were marked \c true by an algorithm. 1788 /// For example it makes easier to store the nodes in the processing1788 /// For example, it makes easier to store the nodes in the processing 1789 1789 /// order of Dfs algorithm, as the following examples show. 1790 1790 /// \code … … 1801 1801 /// 1802 1802 /// \note LoggerBoolMap is just \ref concepts::WriteMap "writable", so 1803 /// it cannot be used when a readable map is needed, for example as1803 /// it cannot be used when a readable map is needed, for example, as 1804 1804 /// \c ReachedMap for \c Bfs, \c Dfs and \c Dijkstra algorithms. 1805 1805 /// … … 1923 1923 /// Otherwise consider to use \c IterableValueMap, which is more 1924 1924 /// suitable and more efficient for such cases. It provides iterators 1925 /// to traverse the items with the same associated value, however1925 /// to traverse the items with the same associated value, but 1926 1926 /// it does not have \c InverseMap. 1927 1927 /// … … 3467 3467 /// may provide alternative ways to modify the digraph. 3468 3468 /// The correct behavior of InDegMap is not guarantied if these additional 3469 /// features are used. For example the functions3469 /// features are used. For example, the functions 3470 3470 /// \ref ListDigraph::changeSource() "changeSource()", 3471 3471 /// \ref ListDigraph::changeTarget() "changeTarget()" and … … 3597 3597 /// may provide alternative ways to modify the digraph. 3598 3598 /// The correct behavior of OutDegMap is not guarantied if these additional 3599 /// features are used. For example the functions3599 /// features are used. For example, the functions 3600 3600 /// \ref ListDigraph::changeSource() "changeSource()", 3601 3601 /// \ref ListDigraph::changeTarget() "changeTarget()" and -
lemon/network_simplex.h
r730 r786 49 49 /// in LEMON for the minimum cost flow problem. 50 50 /// Moreover it supports both directions of the supply/demand inequality 51 /// constraints. For more information see \ref SupplyType.51 /// constraints. For more information, see \ref SupplyType. 52 52 /// 53 53 /// Most of the parameters of the problem (except for the digraph) … … 58 58 /// \tparam GR The digraph type the algorithm runs on. 59 59 /// \tparam V The value type used for flow amounts, capacity bounds 60 /// and supply values in the algorithm. By default it is \c int.60 /// and supply values in the algorithm. By default, it is \c int. 61 61 /// \tparam C The value type used for costs and potentials in the 62 /// algorithm. By default it is the same as \c V.62 /// algorithm. By default, it is the same as \c V. 63 63 /// 64 64 /// \warning Both value types must be signed and all input data must … … 67 67 /// \note %NetworkSimplex provides five different pivot rule 68 68 /// implementations, from which the most efficient one is used 69 /// by default. For more information see \ref PivotRule.69 /// by default. For more information, see \ref PivotRule. 70 70 template <typename GR, typename V = int, typename C = V> 71 71 class NetworkSimplex … … 123 123 /// implementations that significantly affect the running time 124 124 /// of the algorithm. 125 /// By default \ref BLOCK_SEARCH "Block Search" is used, which125 /// By default, \ref BLOCK_SEARCH "Block Search" is used, which 126 126 /// proved to be the most efficient and the most robust on various 127 127 /// test inputs according to our benchmark tests. 128 /// However another pivot rule can be selected using the \ref run()128 /// However, another pivot rule can be selected using the \ref run() 129 129 /// function with the proper parameter. 130 130 enum PivotRule { 131 131 132 /// The FirstEligible pivot rule.132 /// The \e First \e Eligible pivot rule. 133 133 /// The next eligible arc is selected in a wraparound fashion 134 134 /// in every iteration. 135 135 FIRST_ELIGIBLE, 136 136 137 /// The BestEligible pivot rule.137 /// The \e Best \e Eligible pivot rule. 138 138 /// The best eligible arc is selected in every iteration. 139 139 BEST_ELIGIBLE, 140 140 141 /// The BlockSearch pivot rule.141 /// The \e Block \e Search pivot rule. 142 142 /// A specified number of arcs are examined in every iteration 143 143 /// in a wraparound fashion and the best eligible arc is selected … … 145 145 BLOCK_SEARCH, 146 146 147 /// The Candidate List pivot rule.147 /// The \e Candidate \e List pivot rule. 148 148 /// In a major iteration a candidate list is built from eligible arcs 149 149 /// in a wraparound fashion and in the following minor iterations … … 151 151 CANDIDATE_LIST, 152 152 153 /// The Altering Candidate List pivot rule.153 /// The \e Altering \e Candidate \e List pivot rule. 154 154 /// It is a modified version of the Candidate List method. 155 155 /// It keeps only the several best eligible arcs from the former … … 811 811 /// type will be used. 812 812 /// 813 /// For more information see \ref SupplyType.813 /// For more information, see \ref SupplyType. 814 814 /// 815 815 /// \return <tt>(*this)</tt> … … 843 843 /// \ref reset() is called, thus only the modified parameters 844 844 /// have to be set again. See \ref reset() for examples. 845 /// However the underlying digraph must not be modified after this845 /// However, the underlying digraph must not be modified after this 846 846 /// class have been constructed, since it copies and extends the graph. 847 847 /// 848 848 /// \param pivot_rule The pivot rule that will be used during the 849 /// algorithm. For more information see \ref PivotRule.849 /// algorithm. For more information, see \ref PivotRule. 850 850 /// 851 851 /// \return \c INFEASIBLE if no feasible flow exists, … … 872 872 /// used, all the parameters given before are kept for the next 873 873 /// \ref run() call. 874 /// However the underlying digraph must not be modified after this874 /// However, the underlying digraph must not be modified after this 875 875 /// class have been constructed, since it copies and extends the graph. 876 876 /// -
lemon/preflow.h
r715 r786 265 265 /// able to automatically created by the algorithm (i.e. the 266 266 /// digraph and the maximum level should be passed to it). 267 /// However an external elevator object could also be passed to the267 /// However, an external elevator object could also be passed to the 268 268 /// algorithm with the \ref elevator(Elevator&) "elevator()" function 269 269 /// before calling \ref run() or \ref init(). -
lemon/time_measure.h
r584 r786 376 376 ///This function returns the number of stop() exections that is 377 377 ///necessary to really stop the timer. 378 ///For example the timer378 ///For example, the timer 379 379 ///is running if and only if the return value is \c true 380 380 ///(i.e. greater than -
lemon/unionfind.h
r559 r786 44 44 /// This is a very simple but efficient implementation, providing 45 45 /// only four methods: join (union), find, insert and size. 46 /// For more features see the \ref UnionFindEnum class.46 /// For more features, see the \ref UnionFindEnum class. 47 47 /// 48 48 /// It is primarily used in Kruskal algorithm for finding minimal
Note: See TracChangeset
for help on using the changeset viewer.