0
19
0
1
1
23
19
9
11
15
15
10
10
25
26
2
2
... | ... |
@@ -604,3 +604,3 @@ |
604 | 604 |
|
605 |
/// \name Base |
|
605 |
/// \name Base Iteration |
|
606 | 606 |
/// |
... | ... |
@@ -656,3 +656,3 @@ |
656 | 656 |
|
657 |
/// \name Class |
|
657 |
/// \name Class Based Iteration |
|
658 | 658 |
/// |
... | ... |
@@ -781,3 +781,3 @@ |
781 | 781 |
|
782 |
/// \name Base |
|
782 |
/// \name Base Iteration |
|
783 | 783 |
/// |
... | ... |
@@ -820,3 +820,3 @@ |
820 | 820 |
|
821 |
/// \name Class |
|
821 |
/// \name Class Based Iteration |
|
822 | 822 |
/// |
... | ... |
@@ -73,5 +73,5 @@ |
73 | 73 |
enum State { |
74 |
IN_HEAP = 0, ///< The "in heap" state constant. |
|
75 |
PRE_HEAP = -1, ///< The "pre heap" state constant. |
|
76 |
|
|
74 |
IN_HEAP = 0, ///< = 0. The "in heap" state constant. |
|
75 |
PRE_HEAP = -1, ///< = -1. The "pre heap" state constant. |
|
76 |
POST_HEAP = -2 ///< = -2. The "post heap" state constant. |
|
77 | 77 |
}; |
... | ... |
@@ -39,7 +39,12 @@ |
39 | 39 |
{ |
40 |
///File type enum |
|
41 |
enum Type |
|
42 |
{ |
|
43 |
NONE, MIN, MAX, SP, MAT |
|
44 |
|
|
40 |
///\brief DIMACS file type enum |
|
41 |
/// |
|
42 |
///DIMACS file type enum. |
|
43 |
enum Type { |
|
44 |
NONE, ///< Undefined type. |
|
45 |
MIN, ///< DIMACS file type for minimum cost flow problems. |
|
46 |
MAX, ///< DIMACS file type for maximum flow problems. |
|
47 |
SP, ///< DIMACS file type for shostest path problems. |
|
48 |
MAT ///< DIMACS file type for plain graphs and matching problems. |
|
49 |
}; |
|
45 | 50 |
///The file type |
... | ... |
@@ -51,3 +56,3 @@ |
51 | 56 |
int lineShift; |
52 |
/// |
|
57 |
///Constructor. It sets the type to \c NONE. |
|
53 | 58 |
DimacsDescriptor() : type(NONE) {} |
... | ... |
@@ -57,6 +62,6 @@ |
57 | 62 |
|
58 |
///It starts seeking the beginning of the file for the problem type |
|
59 |
///and size info. The found data is returned in a special struct |
|
60 |
///that can be evaluated and passed to the appropriate reader |
|
61 |
///function. |
|
63 |
///This function starts seeking the beginning of the given file for the |
|
64 |
///problem type and size info. |
|
65 |
///The found data is returned in a special struct that can be evaluated |
|
66 |
///and passed to the appropriate reader function. |
|
62 | 67 |
DimacsDescriptor dimacsType(std::istream& is) |
... | ... |
@@ -98,4 +103,3 @@ |
98 | 103 |
|
99 |
|
|
100 |
/// DIMACS minimum cost flow reader function. |
|
104 |
/// \brief DIMACS minimum cost flow reader function. |
|
101 | 105 |
/// |
... | ... |
@@ -255,3 +259,3 @@ |
255 | 259 |
|
256 |
/// DIMACS maximum flow reader function. |
|
260 |
/// \brief DIMACS maximum flow reader function. |
|
257 | 261 |
/// |
... | ... |
@@ -289,3 +293,3 @@ |
289 | 293 |
|
290 |
/// DIMACS shortest path reader function. |
|
294 |
/// \brief DIMACS shortest path reader function. |
|
291 | 295 |
/// |
... | ... |
@@ -315,3 +319,3 @@ |
315 | 319 |
|
316 |
/// DIMACS capacitated digraph reader function. |
|
320 |
/// \brief DIMACS capacitated digraph reader function. |
|
317 | 321 |
/// |
... | ... |
@@ -361,7 +365,7 @@ |
361 | 365 |
|
362 |
/// DIMACS plain (di)graph reader function. |
|
366 |
/// \brief DIMACS plain (di)graph reader function. |
|
363 | 367 |
/// |
364 |
/// This function reads a (di)graph without any designated nodes and |
|
365 |
/// maps from DIMACS format, i.e. from DIMACS files having a line |
|
366 |
/// |
|
368 |
/// This function reads a plain (di)graph without any designated nodes |
|
369 |
/// and maps (e.g. a matching instance) from DIMACS format, i.e. from |
|
370 |
/// DIMACS files having a line starting with |
|
367 | 371 |
/// \code |
... | ... |
@@ -270,3 +270,2 @@ |
270 | 270 |
///\image latex nodeshape_1.eps "SQUARE shape (1)" width=2cm |
271 |
/// |
|
272 | 271 |
SQUARE=1, |
... | ... |
@@ -275,3 +274,2 @@ |
275 | 274 |
///\image latex nodeshape_2.eps "DIAMOND shape (2)" width=2cm |
276 |
/// |
|
277 | 275 |
DIAMOND=2, |
... | ... |
@@ -279,4 +277,3 @@ |
279 | 277 |
///\image html nodeshape_3.png |
280 |
///\image latex nodeshape_2.eps "MALE shape (4)" width=2cm |
|
281 |
/// |
|
278 |
///\image latex nodeshape_3.eps "MALE shape (3)" width=2cm |
|
282 | 279 |
MALE=3, |
... | ... |
@@ -284,4 +281,3 @@ |
284 | 281 |
///\image html nodeshape_4.png |
285 |
///\image latex nodeshape_2.eps "FEMALE shape (4)" width=2cm |
|
286 |
/// |
|
282 |
///\image latex nodeshape_4.eps "FEMALE shape (4)" width=2cm |
|
287 | 283 |
FEMALE=4 |
... | ... |
@@ -250,3 +250,3 @@ |
250 | 250 |
/// |
251 |
/// \brief Kruskal algorithm |
|
251 |
/// \brief Kruskal's algorithm for finding a minimum cost spanning tree of |
|
252 | 252 |
/// a graph. |
... | ... |
@@ -254,3 +254,3 @@ |
254 | 254 |
/// This function runs Kruskal's algorithm to find a minimum cost |
255 |
/// spanning tree. |
|
255 |
/// spanning tree of a graph. |
|
256 | 256 |
/// Due to some C++ hacking, it accepts various input and output types. |
... | ... |
@@ -266,5 +266,5 @@ |
266 | 266 |
/// - An STL compatible 'Forward Container' with |
267 |
/// <tt>std::pair<GR::Arc,X></tt> or |
|
268 |
/// <tt>std::pair<GR::Edge,X></tt> as its <tt>value_type</tt>, where |
|
269 |
/// |
|
267 |
/// <tt>std::pair<GR::Arc,C></tt> or |
|
268 |
/// <tt>std::pair<GR::Edge,C></tt> as its <tt>value_type</tt>, where |
|
269 |
/// \c C is the type of the costs. The pairs indicates the arcs/edges |
|
270 | 270 |
/// along with the assigned cost. <em>They must be in a |
... | ... |
@@ -275,4 +275,4 @@ |
275 | 275 |
/// \retval out Here we also have a choice. |
276 |
/// - It can be a writable \c bool arc/edge map. After running the |
|
277 |
/// algorithm it will contain the found minimum cost spanning |
|
276 |
/// - It can be a writable arc/edge map with \c bool value type. After |
|
277 |
/// running the algorithm it will contain the found minimum cost spanning |
|
278 | 278 |
/// tree: the value of an arc/edge will be set to \c true if it belongs |
... | ... |
@@ -303,4 +303,4 @@ |
303 | 303 |
#ifdef DOXYGEN |
304 |
template <class Graph, class In, class Out> |
|
305 |
Value kruskal(GR const& g, const In& in, Out& out) |
|
304 |
template <typename Graph, typename In, typename Out> |
|
305 |
Value kruskal(const Graph& g, const In& in, Out& out) |
|
306 | 306 |
#else |
... | ... |
@@ -316,4 +316,2 @@ |
316 | 316 |
|
317 |
|
|
318 |
|
|
319 | 317 |
template <class Graph, class In, class Out> |
... | ... |
@@ -595,3 +595,3 @@ |
595 | 595 |
|
596 |
/// \name Reading |
|
596 |
/// \name Reading Rules |
|
597 | 597 |
/// @{ |
... | ... |
@@ -700,3 +700,3 @@ |
700 | 700 |
|
701 |
/// \name Select |
|
701 |
/// \name Select Section by Name |
|
702 | 702 |
/// @{ |
... | ... |
@@ -729,3 +729,3 @@ |
729 | 729 |
|
730 |
/// \name Using |
|
730 |
/// \name Using Previously Constructed Node or Arc Set |
|
731 | 731 |
/// @{ |
... | ... |
@@ -1118,3 +1118,3 @@ |
1118 | 1118 |
|
1119 |
/// \name Execution of the |
|
1119 |
/// \name Execution of the Reader |
|
1120 | 1120 |
/// @{ |
... | ... |
@@ -1391,3 +1391,3 @@ |
1391 | 1391 |
|
1392 |
/// \name Reading |
|
1392 |
/// \name Reading Rules |
|
1393 | 1393 |
/// @{ |
... | ... |
@@ -1542,3 +1542,3 @@ |
1542 | 1542 |
|
1543 |
/// \name Select |
|
1543 |
/// \name Select Section by Name |
|
1544 | 1544 |
/// @{ |
... | ... |
@@ -1571,3 +1571,3 @@ |
1571 | 1571 |
|
1572 |
/// \name Using |
|
1572 |
/// \name Using Previously Constructed Node or Edge Set |
|
1573 | 1573 |
/// @{ |
... | ... |
@@ -1961,3 +1961,3 @@ |
1961 | 1961 |
|
1962 |
/// \name Execution of the |
|
1962 |
/// \name Execution of the Reader |
|
1963 | 1963 |
/// @{ |
... | ... |
@@ -2160,3 +2160,3 @@ |
2160 | 2160 |
|
2161 |
/// \name Section |
|
2161 |
/// \name Section Readers |
|
2162 | 2162 |
/// @{ |
... | ... |
@@ -2259,3 +2259,3 @@ |
2259 | 2259 |
|
2260 |
/// \name Execution of the |
|
2260 |
/// \name Execution of the Reader |
|
2261 | 2261 |
/// @{ |
... | ... |
@@ -2441,3 +2441,3 @@ |
2441 | 2441 |
|
2442 |
/// \name Node |
|
2442 |
/// \name Node Sections |
|
2443 | 2443 |
/// @{ |
... | ... |
@@ -2467,3 +2467,3 @@ |
2467 | 2467 |
|
2468 |
/// \name Arc/Edge |
|
2468 |
/// \name Arc/Edge Sections |
|
2469 | 2469 |
/// @{ |
... | ... |
@@ -2525,3 +2525,3 @@ |
2525 | 2525 |
|
2526 |
/// \name Attribute |
|
2526 |
/// \name Attribute Sections |
|
2527 | 2527 |
/// @{ |
... | ... |
@@ -2551,3 +2551,3 @@ |
2551 | 2551 |
|
2552 |
/// \name Extra |
|
2552 |
/// \name Extra Sections |
|
2553 | 2553 |
/// @{ |
... | ... |
@@ -2627,3 +2627,3 @@ |
2627 | 2627 |
|
2628 |
/// \name Execution of the |
|
2628 |
/// \name Execution of the Contents Reader |
|
2629 | 2629 |
/// @{ |
... | ... |
@@ -540,3 +540,3 @@ |
540 | 540 |
|
541 |
/// \name Writing |
|
541 |
/// \name Writing Rules |
|
542 | 542 |
/// @{ |
... | ... |
@@ -643,3 +643,3 @@ |
643 | 643 |
|
644 |
/// \name Section |
|
644 |
/// \name Section Captions |
|
645 | 645 |
/// @{ |
... | ... |
@@ -670,3 +670,3 @@ |
670 | 670 |
|
671 |
/// \name Skipping |
|
671 |
/// \name Skipping Section |
|
672 | 672 |
/// @{ |
... | ... |
@@ -887,3 +887,3 @@ |
887 | 887 |
|
888 |
/// \name Execution of the |
|
888 |
/// \name Execution of the Writer |
|
889 | 889 |
/// @{ |
... | ... |
@@ -1108,3 +1108,3 @@ |
1108 | 1108 |
|
1109 |
/// \name Writing |
|
1109 |
/// \name Writing Rules |
|
1110 | 1110 |
/// @{ |
... | ... |
@@ -1257,3 +1257,3 @@ |
1257 | 1257 |
|
1258 |
/// \name Section |
|
1258 |
/// \name Section Captions |
|
1259 | 1259 |
/// @{ |
... | ... |
@@ -1284,3 +1284,3 @@ |
1284 | 1284 |
|
1285 |
/// \name Skipping |
|
1285 |
/// \name Skipping Section |
|
1286 | 1286 |
/// @{ |
... | ... |
@@ -1501,3 +1501,3 @@ |
1501 | 1501 |
|
1502 |
/// \name Execution of the |
|
1502 |
/// \name Execution of the Writer |
|
1503 | 1503 |
/// @{ |
... | ... |
@@ -1653,3 +1653,3 @@ |
1653 | 1653 |
|
1654 |
/// \name Section |
|
1654 |
/// \name Section Writers |
|
1655 | 1655 |
/// @{ |
... | ... |
@@ -1720,3 +1720,3 @@ |
1720 | 1720 |
|
1721 |
/// \name Execution of the |
|
1721 |
/// \name Execution of the Writer |
|
1722 | 1722 |
/// @{ |
... | ... |
@@ -54,3 +54,3 @@ |
54 | 54 |
enum SolveExitStatus { |
55 |
/// |
|
55 |
/// = 0. It means that the problem has been successfully solved: either |
|
56 | 56 |
///an optimal solution has been found or infeasibility/unboundedness |
... | ... |
@@ -58,4 +58,4 @@ |
58 | 58 |
SOLVED = 0, |
59 |
///Any other case (including the case when some user specified |
|
60 |
///limit has been exceeded) |
|
59 |
/// = 1. Any other case (including the case when some user specified |
|
60 |
///limit has been exceeded). |
|
61 | 61 |
UNSOLVED = 1 |
... | ... |
@@ -73,11 +73,11 @@ |
73 | 73 |
enum MessageLevel { |
74 |
/// |
|
74 |
/// No output (default value). |
|
75 | 75 |
MESSAGE_NOTHING, |
76 |
/// |
|
76 |
/// Error messages only. |
|
77 | 77 |
MESSAGE_ERROR, |
78 |
/// |
|
78 |
/// Warnings. |
|
79 | 79 |
MESSAGE_WARNING, |
80 |
/// |
|
80 |
/// Normal output. |
|
81 | 81 |
MESSAGE_NORMAL, |
82 |
/// |
|
82 |
/// Verbose output. |
|
83 | 83 |
MESSAGE_VERBOSE |
... | ... |
@@ -1007,3 +1007,3 @@ |
1007 | 1007 |
|
1008 |
///\name Build |
|
1008 |
///\name Build Up and Modify the LP |
|
1009 | 1009 |
|
... | ... |
@@ -1790,11 +1790,11 @@ |
1790 | 1790 |
enum ProblemType { |
1791 |
///Feasible solution hasn't been found (but may exist). |
|
1791 |
/// = 0. Feasible solution hasn't been found (but may exist). |
|
1792 | 1792 |
UNDEFINED = 0, |
1793 |
///The problem has no feasible solution |
|
1793 |
/// = 1. The problem has no feasible solution. |
|
1794 | 1794 |
INFEASIBLE = 1, |
1795 |
///Feasible solution found |
|
1795 |
/// = 2. Feasible solution found. |
|
1796 | 1796 |
FEASIBLE = 2, |
1797 |
///Optimal solution exists and found |
|
1797 |
/// = 3. Optimal solution exists and found. |
|
1798 | 1798 |
OPTIMAL = 3, |
1799 |
///The cost function is unbounded |
|
1799 |
/// = 4. The cost function is unbounded. |
|
1800 | 1800 |
UNBOUNDED = 4 |
... | ... |
@@ -1854,3 +1854,3 @@ |
1854 | 1854 |
|
1855 |
///\name Obtain the |
|
1855 |
///\name Obtain the Solution |
|
1856 | 1856 |
|
... | ... |
@@ -1976,13 +1976,12 @@ |
1976 | 1976 |
enum ProblemType { |
1977 |
///Feasible solution hasn't been found (but may exist). |
|
1977 |
/// = 0. Feasible solution hasn't been found (but may exist). |
|
1978 | 1978 |
UNDEFINED = 0, |
1979 |
///The problem has no feasible solution |
|
1979 |
/// = 1. The problem has no feasible solution. |
|
1980 | 1980 |
INFEASIBLE = 1, |
1981 |
///Feasible solution found |
|
1981 |
/// = 2. Feasible solution found. |
|
1982 | 1982 |
FEASIBLE = 2, |
1983 |
///Optimal solution exists and found |
|
1983 |
/// = 3. Optimal solution exists and found. |
|
1984 | 1984 |
OPTIMAL = 3, |
1985 |
///The cost function is unbounded |
|
1986 |
/// |
|
1987 |
///The |
|
1985 |
/// = 4. The cost function is unbounded. |
|
1986 |
///The Mip or at least the relaxed problem is unbounded. |
|
1988 | 1987 |
UNBOUNDED = 4 |
... | ... |
@@ -2008,3 +2007,3 @@ |
2008 | 2007 |
|
2009 |
///\name |
|
2008 |
///\name Set Column Type |
|
2010 | 2009 |
///@{ |
... | ... |
@@ -2013,5 +2012,5 @@ |
2013 | 2012 |
enum ColTypes { |
2014 |
///Continuous variable (default) |
|
2013 |
/// = 0. Continuous variable (default). |
|
2015 | 2014 |
REAL = 0, |
2016 |
///Integer variable |
|
2015 |
/// = 1. Integer variable. |
|
2017 | 2016 |
INTEGER = 1 |
... | ... |
@@ -2036,3 +2035,3 @@ |
2036 | 2035 |
|
2037 |
///\name Obtain the |
|
2036 |
///\name Obtain the Solution |
|
2038 | 2037 |
... | ... |
@@ -2730,4 +2730,4 @@ |
2730 | 2730 |
/// |
2731 |
/// PotentialMap returns the difference between the potentials of the |
|
2732 |
/// source and target nodes of each arc in a digraph, i.e. it returns |
|
2731 |
/// PotentialDifferenceMap returns the difference between the potentials of |
|
2732 |
/// the source and target nodes of each arc in a digraph, i.e. it returns |
|
2733 | 2733 |
/// \code |
... | ... |
@@ -92,6 +92,6 @@ |
92 | 92 |
/// |
93 |
/// \brief |
|
93 |
/// \brief Minimum Cost Arborescence algorithm class. |
|
94 | 94 |
/// |
95 | 95 |
/// This class provides an efficient implementation of |
96 |
/// |
|
96 |
/// Minimum Cost Arborescence algorithm. The arborescence is a tree |
|
97 | 97 |
/// which is directed from a given source node of the digraph. One or |
... | ... |
@@ -392,3 +392,3 @@ |
392 | 392 |
|
393 |
/// \name Named |
|
393 |
/// \name Named Template Parameters |
|
394 | 394 |
|
... | ... |
@@ -632,3 +632,3 @@ |
632 | 632 |
|
633 |
/// \name Execution |
|
633 |
/// \name Execution Control |
|
634 | 634 |
/// The simplest way to execute the algorithm is to use |
... | ... |
@@ -661,3 +661,3 @@ |
661 | 661 |
|
662 |
///\name Uniform |
|
662 |
///\name Uniform Distributions |
|
663 | 663 |
/// |
... | ... |
@@ -764,3 +764,3 @@ |
764 | 764 |
|
765 |
///\name Non-uniform |
|
765 |
///\name Non-uniform Distributions |
|
766 | 766 |
/// |
... | ... |
@@ -940,3 +940,3 @@ |
940 | 940 |
|
941 |
///\name Two |
|
941 |
///\name Two Dimensional Distributions |
|
942 | 942 |
/// |
... | ... |
@@ -289,3 +289,3 @@ |
289 | 289 |
|
290 |
///\name Control the |
|
290 |
///\name Control the State of the Timer |
|
291 | 291 |
///Basically a Timer can be either running or stopped, |
... | ... |
@@ -397,3 +397,3 @@ |
397 | 397 |
|
398 |
///\name Query Functions for the |
|
398 |
///\name Query Functions for the Ellapsed Time |
|
399 | 399 |
0 comments (0 inline)