COIN-OR::LEMON - Graph Library

source: lemon-0.x/doc/groups.dox @ 1847:7cbc12e42482

Last change on this file since 1847:7cbc12e42482 was 1847:7cbc12e42482, checked in by Alpar Juttner, 18 years ago
  • Changed and improved Timer interface
    • several new member functions
    • reset() -> restart() renaming
    • TimeReport?: a Timer that prints a report on destruction.
  • counter.h: a tool to measure the number of streps of algorithms.
  • New documentation module for time measuring and counting.
File size: 5.6 KB
RevLine 
[814]1
[678]2/**
3@defgroup datas Data Structures
[921]4This group describes the several graph structures implemented in LEMON.
[678]5*/
[430]6
[678]7/**
8@defgroup graphs Graph Structures
9@ingroup datas
[921]10\brief Graph structures implemented in LEMON.
[430]11
[1172]12The implementation of combinatorial algorithms heavily relies on
13efficient graph implementations. LEMON offers data structures which are
14planned to be easily used in an experimental phase of implementation studies,
15and thereafter the program code can be made efficient by small modifications.
[430]16
[1172]17The most efficient implementation of diverse applications require the usage of different physical graph implementations. These differences appear in the size of
18graph we require to handle, memory or time usage limitations or in
19the set of operations through which the graph can be accessed.
20LEMON provides several physical graph structures to meet the
21diverging requirements of the possible users.
22In order to save on running time or on memory usage, some structures may
23fail to provide some graph features like edge or node deletion.
24
25Alteration of standard containers need a very limited number of
26operations, these together satisfy the everyday requirements.
27In the case of graph strutures, different operations are needed which do
28not alter the physical graph, but gives an other view. If some nodes or
29edges have to be hidden or the reverse oriented graph have to be used, then
30this is the case. It also may happen that in a flow implemenation
31the residual graph can be accessed by an other algorithm, or a node-set
32is to be shrunk for an other algorithm.
33LEMON also provides a variety of graphs for these requirements called
[1401]34\ref graph_adaptors "graph adaptors". Adaptors cannot be used alone but only
[1172]35in conjunction with other graph representation.
[430]36
[678]37You are free to use the graph structure that fit your requirements
38the best, most graph algorithms and auxiliary data structures can be used
[1172]39with any graph structures.
[678]40*/
[430]41
[678]42/**
[1043]43@defgroup maps Maps
44@ingroup datas
45\brief Some special purpose map to make life easier.
46
47LEMON provides several special maps that e.g. combine
48new maps from existing ones.
49*/
50
[1402]51
52/**
53@defgroup graph_maps Graph Maps
54@ingroup maps
55\brief Special Graph-Related Maps.
56
57These maps are specifically designed to assign values to the nodes and edges of
58graphs.
59*/
60
61
62/**
63\defgroup map_adaptors Map Adaptors
64\ingroup maps
65\brief Tools to create new maps from existing ones
66
67Map adaptors are used to create "implicit" maps from other maps.
68
[1536]69Most of them are \ref lemon::concept::ReadMap "ReadMap"s. They can
[1402]70make arithmetic oprerations between one or two maps (negation, scalig,
71addition, multiplication etc.) or e.g. convert a map to another one
72of different Value type.
73*/
74
[1043]75/**
[678]76@defgroup auxdat Auxiliary Data Structures
77@ingroup datas
[921]78\brief Some data structures implemented in LEMON.
[406]79
[921]80This group describes the data structures implemented in LEMON in
[678]81order to make it easier to implement combinatorial algorithms.
82*/
[406]83
[678]84/**
[785]85@defgroup graphmapfactory Tools to Make It Easier to Make Graph Maps
86@ingroup auxdat
87\brief Tools to Make It Easier to Make Graph Maps.
88
89This group describes the tools that makes it easier to make graph maps that
90dynamically update with the graph changes.
91*/
92
93/**
[678]94@defgroup galgs Graph Algorithms
95\brief This group describes the several graph algorithms
[921]96implemented in LEMON.
[947]97
98This group describes the several graph algorithms
99implemented in LEMON.
100*/
101
102/**
103@defgroup gutils General Graph Utilities
104\brief This group describes some simple general graph utilities.
105@ingroup galgs
106
107This group describes some simple general graph utilities.
[678]108*/
109
110/**
[1329]111@defgroup gen_opt_group General Optimization Tools
112\brief This group describes some general optimization frameworks
113implemented in LEMON.
114
115\brief This group describes some general optimization frameworks
116implemented in LEMON.
117
118*/
119
120/**
[758]121@defgroup flowalgs Path and Flow Algorithms
[678]122@ingroup galgs
[758]123\brief This group describes the algorithms
124for finding paths and flows in graphs.
[678]125*/
126
127/**
[1750]128@defgroup topology Topology related algorithms
129@ingroup galgs
130\brief This group describes the algorithms
131for discover the topology of the graphs.
132*/
133
134/**
[1151]135@defgroup exceptions Exceptions
136This group contains the exceptions thrown by LEMON library
137*/
138
139/**
[678]140@defgroup misc Miscellaneous Tools
141Here you can find several useful tools for development,
142debugging and testing.
143*/
144
145/**
[1847]146@defgroup timecount Time measuring and Counting
147@ingroup misc
148Here you can find simple tools for measuring the performance
149of algorithms.
150*/
151
152/**
[1287]153@defgroup io_group Input Output
154Here you can find tools for imporing and exporting graphs and graph related
155data
156*/
157
158/**
[1030]159@defgroup concept Concepts
[959]160\brief Skeleton classes and concept checking classes
[794]161
[959]162This group describes the data/algorithm skeletons and concept checking
[1030]163classes implemented in LEMON.
164
165One aim of these classes is to make it easier to check if a certain
166class or template function is correctly implemented.
167
168The other (sometimes even more important) aim is to document the concepts.
169
[794]170*/
171
[1030]172/**
173@defgroup graph_concepts Graph Structure Concepts
174@ingroup concept
175\brief Skeleton and concept checking classes for graph structures
176
177This group contains the skeletons and concept checking classes of LEMON's
178graph structures and helper classes used to implement these.
179*/
[794]180
[1587]181/* --- Unused group
[678]182@defgroup experimental Experimental Structures and Algorithms
183This group contains some Experimental structures and algorithms.
184The stuff here is subject to change.
185*/
[1151]186
[1558]187/**
[1582]188\anchor demoprograms
189
[1558]190@defgroup demos Demo programs
191
[1559]192Some demo programs are listed here. Their full source codes can be found in
[1558]193the \c demo subdirectory of the source tree.
194
[1639]195The standard compilation procedure (<tt>./configure;make</tt>) will compile
196them, as well.
[1558]197
198*/
199
Note: See TracBrowser for help on using the repository browser.