COIN-OR::LEMON - Graph Library

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/groups.dox

    r818 r710  
    227227
    228228/**
     229@defgroup matrices Matrices
     230@ingroup datas
     231\brief Two dimensional data storages implemented in LEMON.
     232
     233This group contains two dimensional data storages implemented in LEMON.
     234*/
     235
     236/**
    229237@defgroup paths Path Structures
    230238@ingroup datas
     
    239247any kind of path structure.
    240248
    241 \sa \ref concepts::Path "Path concept"
    242 */
    243 
    244 /**
    245 @defgroup heaps Heap Structures
    246 @ingroup datas
    247 \brief %Heap structures implemented in LEMON.
    248 
    249 This group contains the heap structures implemented in LEMON.
    250 
    251 LEMON provides several heap classes. They are efficient implementations
    252 of the abstract data type \e priority \e queue. They store items with
    253 specified values called \e priorities in such a way that finding and
    254 removing the item with minimum priority are efficient.
    255 The basic operations are adding and erasing items, changing the priority
    256 of an item, etc.
    257 
    258 Heaps are crucial in several algorithms, such as Dijkstra and Prim.
    259 The heap implementations have the same interface, thus any of them can be
    260 used easily in such algorithms.
    261 
    262 \sa \ref concepts::Heap "Heap concept"
    263 */
    264 
    265 /**
    266 @defgroup matrices Matrices
    267 @ingroup datas
    268 \brief Two dimensional data storages implemented in LEMON.
    269 
    270 This group contains two dimensional data storages implemented in LEMON.
     249\sa lemon::concepts::Path
    271250*/
    272251
     
    281260
    282261/**
    283 @defgroup geomdat Geometric Data Structures
    284 @ingroup auxdat
    285 \brief Geometric data structures implemented in LEMON.
    286 
    287 This group contains geometric data structures implemented in LEMON.
    288 
    289  - \ref lemon::dim2::Point "dim2::Point" implements a two dimensional
    290    vector with the usual operations.
    291  - \ref lemon::dim2::Box "dim2::Box" can be used to determine the
    292    rectangular bounding box of a set of \ref lemon::dim2::Point
    293    "dim2::Point"'s.
    294 */
    295 
    296 /**
    297 @defgroup matrices Matrices
    298 @ingroup auxdat
    299 \brief Two dimensional data storages implemented in LEMON.
    300 
    301 This group contains two dimensional data storages implemented in LEMON.
    302 */
    303 
    304 /**
    305262@defgroup algs Algorithms
    306263\brief This group contains the several algorithms
     
    317274
    318275This group contains the common graph search algorithms, namely
    319 \e breadth-first \e search (BFS) and \e depth-first \e search (DFS)
    320 \ref clrs01algorithms.
     276\e breadth-first \e search (BFS) and \e depth-first \e search (DFS).
    321277*/
    322278
     
    326282\brief Algorithms for finding shortest paths.
    327283
    328 This group contains the algorithms for finding shortest paths in digraphs
    329 \ref clrs01algorithms.
     284This group contains the algorithms for finding shortest paths in digraphs.
    330285
    331286 - \ref Dijkstra algorithm for finding shortest paths from a source node
     
    344299
    345300/**
    346 @defgroup spantree Minimum Spanning Tree Algorithms
    347 @ingroup algs
    348 \brief Algorithms for finding minimum cost spanning trees and arborescences.
    349 
    350 This group contains the algorithms for finding minimum cost spanning
    351 trees and arborescences \ref clrs01algorithms.
    352 */
    353 
    354 /**
    355301@defgroup max_flow Maximum Flow Algorithms
    356302@ingroup algs
     
    358304
    359305This group contains the algorithms for finding maximum flows and
    360 feasible circulations \ref clrs01algorithms, \ref amo93networkflows.
     306feasible circulations.
    361307
    362308The \e maximum \e flow \e problem is to find a flow of maximum value between
     
    373319
    374320LEMON contains several algorithms for solving maximum flow problems:
    375 - \ref EdmondsKarp Edmonds-Karp algorithm
    376   \ref edmondskarp72theoretical.
    377 - \ref Preflow Goldberg-Tarjan's preflow push-relabel algorithm
    378   \ref goldberg88newapproach.
    379 - \ref DinitzSleatorTarjan Dinitz's blocking flow algorithm with dynamic trees
    380   \ref dinic70algorithm, \ref sleator83dynamic.
    381 - \ref GoldbergTarjan !Preflow push-relabel algorithm with dynamic trees
    382   \ref goldberg88newapproach, \ref sleator83dynamic.
    383 
    384 In most cases the \ref Preflow algorithm provides the
     321- \ref EdmondsKarp Edmonds-Karp algorithm.
     322- \ref Preflow Goldberg-Tarjan's preflow push-relabel algorithm.
     323- \ref DinitzSleatorTarjan Dinitz's blocking flow algorithm with dynamic trees.
     324- \ref GoldbergTarjan Preflow push-relabel algorithm with dynamic trees.
     325
     326In most cases the \ref Preflow "Preflow" algorithm provides the
    385327fastest method for computing a maximum flow. All implementations
    386328also provide functions to query the minimum cut, which is the dual
     
    400342
    401343This group contains the algorithms for finding minimum cost flows and
    402 circulations \ref amo93networkflows. For more information about this
    403 problem and its dual solution, see \ref min_cost_flow
    404 "Minimum Cost Flow Problem".
     344circulations. For more information about this problem and its dual
     345solution see \ref min_cost_flow "Minimum Cost Flow Problem".
    405346
    406347LEMON contains several algorithms for this problem.
    407348 - \ref NetworkSimplex Primal Network Simplex algorithm with various
    408    pivot strategies \ref dantzig63linearprog, \ref kellyoneill91netsimplex.
     349   pivot strategies.
    409350 - \ref CostScaling Push-Relabel and Augment-Relabel algorithms based on
    410    cost scaling \ref goldberg90approximation, \ref goldberg97efficient,
    411    \ref bunnagel98efficient.
     351   cost scaling.
    412352 - \ref CapacityScaling Successive Shortest %Path algorithm with optional
    413    capacity scaling \ref edmondskarp72theoretical.
    414  - \ref CancelAndTighten The Cancel and Tighten algorithm
    415    \ref goldberg89cyclecanceling.
    416  - \ref CycleCanceling Cycle-Canceling algorithms
    417    \ref klein67primal, \ref goldberg89cyclecanceling.
     353   capacity scaling.
     354 - \ref CancelAndTighten The Cancel and Tighten algorithm.
     355 - \ref CycleCanceling Cycle-Canceling algorithms.
    418356
    419357In general NetworkSimplex is the most efficient implementation,
     
    438376
    439377\f[ \min_{X \subset V, X\not\in \{\emptyset, V\}}
    440     \sum_{uv\in A: u\in X, v\not\in X}cap(uv) \f]
     378    \sum_{uv\in A, u\in X, v\not\in X}cap(uv) \f]
    441379
    442380LEMON contains several algorithms related to minimum cut problems:
     
    454392
    455393/**
    456 @defgroup min_mean_cycle Minimum Mean Cycle Algorithms
    457 @ingroup algs
    458 \brief Algorithms for finding minimum mean cycles.
    459 
    460 This group contains the algorithms for finding minimum mean cycles
    461 \ref clrs01algorithms, \ref amo93networkflows.
    462 
    463 The \e minimum \e mean \e cycle \e problem is to find a directed cycle
    464 of minimum mean length (cost) in a digraph.
    465 The mean length of a cycle is the average length of its arcs, i.e. the
    466 ratio between the total length of the cycle and the number of arcs on it.
    467 
    468 This problem has an important connection to \e conservative \e length
    469 \e functions, too. A length function on the arcs of a digraph is called
    470 conservative if and only if there is no directed cycle of negative total
    471 length. For an arbitrary length function, the negative of the minimum
    472 cycle mean is the smallest \f$\epsilon\f$ value so that increasing the
    473 arc lengths uniformly by \f$\epsilon\f$ results in a conservative length
    474 function.
    475 
    476 LEMON contains three algorithms for solving the minimum mean cycle problem:
    477 - \ref Karp "Karp"'s original algorithm \ref amo93networkflows,
    478   \ref dasdan98minmeancycle.
    479 - \ref HartmannOrlin "Hartmann-Orlin"'s algorithm, which is an improved
    480   version of Karp's algorithm \ref dasdan98minmeancycle.
    481 - \ref Howard "Howard"'s policy iteration algorithm
    482   \ref dasdan98minmeancycle.
    483 
    484 In practice, the Howard algorithm proved to be by far the most efficient
    485 one, though the best known theoretical bound on its running time is
    486 exponential.
    487 Both Karp and HartmannOrlin algorithms run in time O(ne) and use space
    488 O(n<sup>2</sup>+e), but the latter one is typically faster due to the
    489 applied early termination scheme.
     394@defgroup graph_properties Connectivity and Other Graph Properties
     395@ingroup algs
     396\brief Algorithms for discovering the graph properties
     397
     398This group contains the algorithms for discovering the graph properties
     399like connectivity, bipartiteness, euler property, simplicity etc.
     400
     401\image html edge_biconnected_components.png
     402\image latex edge_biconnected_components.eps "bi-edge-connected components" width=\textwidth
     403*/
     404
     405/**
     406@defgroup planar Planarity Embedding and Drawing
     407@ingroup algs
     408\brief Algorithms for planarity checking, embedding and drawing
     409
     410This group contains the algorithms for planarity checking,
     411embedding and drawing.
     412
     413\image html planar.png
     414\image latex planar.eps "Plane graph" width=\textwidth
    490415*/
    491416
     
    531456
    532457/**
    533 @defgroup graph_properties Connectivity and Other Graph Properties
    534 @ingroup algs
    535 \brief Algorithms for discovering the graph properties
    536 
    537 This group contains the algorithms for discovering the graph properties
    538 like connectivity, bipartiteness, euler property, simplicity etc.
    539 
    540 \image html connected_components.png
    541 \image latex connected_components.eps "Connected components" width=\textwidth
    542 */
    543 
    544 /**
    545 @defgroup planar Planarity Embedding and Drawing
    546 @ingroup algs
    547 \brief Algorithms for planarity checking, embedding and drawing
    548 
    549 This group contains the algorithms for planarity checking,
    550 embedding and drawing.
    551 
    552 \image html planar.png
    553 \image latex planar.eps "Plane graph" width=\textwidth
     458@defgroup spantree Minimum Spanning Tree Algorithms
     459@ingroup algs
     460\brief Algorithms for finding minimum cost spanning trees and arborescences.
     461
     462This group contains the algorithms for finding minimum cost spanning
     463trees and arborescences.
     464*/
     465
     466/**
     467@defgroup auxalg Auxiliary Algorithms
     468@ingroup algs
     469\brief Auxiliary algorithms implemented in LEMON.
     470
     471This group contains some algorithms implemented in LEMON
     472in order to make it easier to implement complex algorithms.
    554473*/
    555474
     
    561480This group contains the approximation and heuristic algorithms
    562481implemented in LEMON.
    563 */
    564 
    565 /**
    566 @defgroup auxalg Auxiliary Algorithms
    567 @ingroup algs
    568 \brief Auxiliary algorithms implemented in LEMON.
    569 
    570 This group contains some algorithms implemented in LEMON
    571 in order to make it easier to implement complex algorithms.
    572482*/
    573483
     
    582492
    583493/**
    584 @defgroup lp_group LP and MIP Solvers
     494@defgroup lp_group Lp and Mip Solvers
    585495@ingroup gen_opt_group
    586 \brief LP and MIP solver interfaces for LEMON.
    587 
    588 This group contains LP and MIP solver interfaces for LEMON.
    589 Various LP solvers could be used in the same manner with this
    590 high-level interface.
    591 
    592 The currently supported solvers are \ref glpk, \ref clp, \ref cbc,
    593 \ref cplex, \ref soplex.
     496\brief Lp and Mip solver interfaces for LEMON.
     497
     498This group contains Lp and Mip solver interfaces for LEMON. The
     499various LP solvers could be used in the same manner with this
     500interface.
    594501*/
    595502
     
    681588
    682589/**
    683 @defgroup dimacs_group DIMACS Format
     590@defgroup dimacs_group DIMACS format
    684591@ingroup io_group
    685592\brief Read and write files in DIMACS format
     
    730637\brief Skeleton and concept checking classes for graph structures
    731638
    732 This group contains the skeletons and concept checking classes of
    733 graph structures.
     639This group contains the skeletons and concept checking classes of LEMON's
     640graph structures and helper classes used to implement these.
    734641*/
    735642
     
    743650
    744651/**
     652\anchor demoprograms
     653
     654@defgroup demos Demo Programs
     655
     656Some demo programs are listed here. Their full source codes can be found in
     657the \c demo subdirectory of the source tree.
     658
     659In order to compile them, use the <tt>make demo</tt> or the
     660<tt>make check</tt> commands.
     661*/
     662
     663/**
    745664@defgroup tools Standalone Utility Applications
    746665
     
    751670*/
    752671
    753 /**
    754 \anchor demoprograms
    755 
    756 @defgroup demos Demo Programs
    757 
    758 Some demo programs are listed here. Their full source codes can be found in
    759 the \c demo subdirectory of the source tree.
    760 
    761 In order to compile them, use the <tt>make demo</tt> or the
    762 <tt>make check</tt> commands.
    763 */
    764 
    765672}
Note: See TracChangeset for help on using the changeset viewer.