diff -r 4317d277ba21 -r 765619b7cbb2 doc/groups.dox --- a/doc/groups.dox Sun Jul 13 16:46:56 2008 +0100 +++ b/doc/groups.dox Sun Jul 13 19:51:02 2008 +0100 @@ -1,6 +1,6 @@ -/* -*- C++ -*- +/* -*- mode: C++; indent-tabs-mode: nil; -*- * - * This file is a part of LEMON, a generic C++ optimization library + * This file is a part of LEMON, a generic C++ optimization library. * * Copyright (C) 2003-2008 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport @@ -26,10 +26,10 @@ @ingroup datas \brief Graph structures implemented in LEMON. -The implementation of combinatorial algorithms heavily relies on -efficient graph implementations. LEMON offers data structures which are -planned to be easily used in an experimental phase of implementation studies, -and thereafter the program code can be made efficient by small modifications. +The implementation of combinatorial algorithms heavily relies on +efficient graph implementations. LEMON offers data structures which are +planned to be easily used in an experimental phase of implementation studies, +and thereafter the program code can be made efficient by small modifications. The most efficient implementation of diverse applications require the usage of different physical graph implementations. These differences @@ -40,21 +40,21 @@ running time or on memory usage, some structures may fail to provide some graph features like arc/edge or node deletion. -Alteration of standard containers need a very limited number of -operations, these together satisfy the everyday requirements. -In the case of graph structures, different operations are needed which do -not alter the physical graph, but gives another view. If some nodes or +Alteration of standard containers need a very limited number of +operations, these together satisfy the everyday requirements. +In the case of graph structures, different operations are needed which do +not alter the physical graph, but gives another view. If some nodes or arcs have to be hidden or the reverse oriented graph have to be used, then -this is the case. It also may happen that in a flow implementation -the residual graph can be accessed by another algorithm, or a node-set -is to be shrunk for another algorithm. -LEMON also provides a variety of graphs for these requirements called -\ref graph_adaptors "graph adaptors". Adaptors cannot be used alone but only -in conjunction with other graph representations. +this is the case. It also may happen that in a flow implementation +the residual graph can be accessed by another algorithm, or a node-set +is to be shrunk for another algorithm. +LEMON also provides a variety of graphs for these requirements called +\ref graph_adaptors "graph adaptors". Adaptors cannot be used alone but only +in conjunction with other graph representations. You are free to use the graph structure that fit your requirements the best, most graph algorithms and auxiliary data structures can be used -with any graph structures. +with any graph structures. */ /** @@ -63,12 +63,12 @@ \brief Graph types between real graphs and graph adaptors. This group describes some graph types between real graphs and graph adaptors. -These classes wrap graphs to give new functionality as the adaptors do it. +These classes wrap graphs to give new functionality as the adaptors do it. On the other hand they are not light-weight structures as the adaptors. */ /** -@defgroup maps Maps +@defgroup maps Maps @ingroup datas \brief Map structures implemented in LEMON. @@ -79,7 +79,7 @@ */ /** -@defgroup graph_maps Graph Maps +@defgroup graph_maps Graph Maps @ingroup maps \brief Special graph-related maps. @@ -115,14 +115,14 @@ return Color(0.0, 0.0, 0.0); } } - + Digraph::NodeMap degree_map(graph); - + digraphToEps(graph, "graph.eps") .coords(coords).scaleToA4().undirected() .nodeColors(composeMap(functorToMap(nodeColor), degree_map)) .run(); -\endcode +\endcode The \c functorToMap() function makes an \c int to \c Color map from the \e nodeColor() function. The \c composeMap() compose the \e degree_map and the previously created map. The composed map is a proper function to @@ -140,7 +140,7 @@ typedef DivMap TimeMap; TimeMap time(length, speed); - + Dijkstra dijkstra(graph, time); dijkstra.run(source, target); \endcode @@ -152,7 +152,7 @@ */ /** -@defgroup matrices Matrices +@defgroup matrices Matrices @ingroup datas \brief Two dimensional data storages implemented in LEMON. @@ -200,7 +200,7 @@ @ingroup algs \brief Common graph search algorithms. -This group describes the common graph search algorithms like +This group describes the common graph search algorithms like Breadth-first search (Bfs) and Depth-first search (Dfs). */ @@ -212,9 +212,9 @@ This group describes the algorithms for finding shortest paths in graphs. */ -/** -@defgroup max_flow Maximum Flow algorithms -@ingroup algs +/** +@defgroup max_flow Maximum Flow algorithms +@ingroup algs \brief Algorithms for finding maximum flows. This group describes the algorithms for finding maximum flows and @@ -231,7 +231,7 @@ \f[ \max \sum_{v\in\delta^{+}(s)}f_{uv} - \sum_{v\in\delta^{-}(s)}f_{vu}\f] LEMON contains several algorithms for solving maximum flow problems: -- \ref lemon::EdmondsKarp "Edmonds-Karp" +- \ref lemon::EdmondsKarp "Edmonds-Karp" - \ref lemon::Preflow "Goldberg's Preflow algorithm" - \ref lemon::DinitzSleatorTarjan "Dinitz's blocking flow algorithm with dynamic trees" - \ref lemon::GoldbergTarjan "Preflow algorithm with dynamic trees" @@ -250,12 +250,12 @@ \brief Algorithms for finding minimum cost flows and circulations. This group describes the algorithms for finding minimum cost flows and -circulations. +circulations. */ /** -@defgroup min_cut Minimum Cut algorithms -@ingroup algs +@defgroup min_cut Minimum Cut algorithms +@ingroup algs \brief Algorithms for finding minimum cut in graphs. @@ -272,7 +272,7 @@ LEMON contains several algorithms related to minimum cut problems: - \ref lemon::HaoOrlin "Hao-Orlin algorithm" to calculate minimum cut - in directed graphs + in directed graphs - \ref lemon::NagamochiIbaraki "Nagamochi-Ibaraki algorithm" to calculate minimum cut in undirected graphs - \ref lemon::GomoryHuTree "Gomory-Hu tree computation" to calculate all @@ -307,14 +307,14 @@ */ /** -@defgroup matching Matching algorithms +@defgroup matching Matching algorithms @ingroup algs \brief Algorithms for finding matchings in graphs and bipartite graphs. This group contains algorithm objects and functions to calculate matchings in graphs and bipartite graphs. The general matching problem is finding a subset of the arcs which does not shares common endpoints. - + There are several different algorithms for calculate matchings in graphs. The matching problems in bipartite graphs are generally easier than in general graphs. The goal of the matching optimization @@ -323,16 +323,16 @@ maximum cardinality matching. Lemon contains the next algorithms: -- \ref lemon::MaxBipartiteMatching "MaxBipartiteMatching" Hopcroft-Karp - augmenting path algorithm for calculate maximum cardinality matching in +- \ref lemon::MaxBipartiteMatching "MaxBipartiteMatching" Hopcroft-Karp + augmenting path algorithm for calculate maximum cardinality matching in bipartite graphs -- \ref lemon::PrBipartiteMatching "PrBipartiteMatching" Push-Relabel - algorithm for calculate maximum cardinality matching in bipartite graphs -- \ref lemon::MaxWeightedBipartiteMatching "MaxWeightedBipartiteMatching" - Successive shortest path algorithm for calculate maximum weighted matching +- \ref lemon::PrBipartiteMatching "PrBipartiteMatching" Push-Relabel + algorithm for calculate maximum cardinality matching in bipartite graphs +- \ref lemon::MaxWeightedBipartiteMatching "MaxWeightedBipartiteMatching" + Successive shortest path algorithm for calculate maximum weighted matching and maximum weighted bipartite matching in bipartite graph -- \ref lemon::MinCostMaxBipartiteMatching "MinCostMaxBipartiteMatching" - Successive shortest path algorithm for calculate minimum cost maximum +- \ref lemon::MinCostMaxBipartiteMatching "MinCostMaxBipartiteMatching" + Successive shortest path algorithm for calculate minimum cost maximum matching in bipartite graph - \ref lemon::MaxMatching "MaxMatching" Edmond's blossom shrinking algorithm for calculate maximum cardinality matching in general graph @@ -396,8 +396,8 @@ */ -/** -@defgroup lp_utils Tools for Lp and Mip solvers +/** +@defgroup lp_utils Tools for Lp and Mip solvers @ingroup lp_group \brief Helper tools to the Lp and Mip solvers. @@ -414,7 +414,7 @@ */ /** -@defgroup utils Tools and Utilities +@defgroup utils Tools and Utilities \brief Tools and utilities for programming in LEMON Tools and utilities for programming in LEMON. @@ -467,7 +467,7 @@ @defgroup io_group Input-Output \brief Graph Input-Output methods -This group describes the tools for importing and exporting graphs +This group describes the tools for importing and exporting graphs and graph related data. Now it supports the LEMON format, the \c DIMACS format and the encapsulated postscript (EPS) format. */ @@ -486,7 +486,7 @@ \brief General \c EPS drawer and graph exporter This group describes general \c EPS drawing methods and special -graph exporting tools. +graph exporting tools. */ @@ -498,7 +498,7 @@ classes implemented in LEMON. The purpose of the classes in this group is fourfold. - + - These classes contain the documentations of the concepts. In order to avoid document multiplications, an implementation of a concept simply refers to the corresponding concept class. @@ -551,9 +551,9 @@ /** @defgroup tools Standalone utility applications -Some utility applications are listed here. +Some utility applications are listed here. The standard compilation procedure (./configure;make) will compile -them, as well. +them, as well. */