hegyi@2265
|
1 |
2006-10-27 Version 0.6 Released
|
hegyi@2265
|
2 |
|
hegyi@2265
|
3 |
#New
|
hegyi@2265
|
4 |
*functor usage for writeable map adaptors
|
hegyi@2265
|
5 |
*MIP support
|
hegyi@2265
|
6 |
-interface to the cplex MIP solver
|
hegyi@2265
|
7 |
*data structures
|
hegyi@2265
|
8 |
-ListBpUGraph
|
hegyi@2265
|
9 |
-SmartEdgeset
|
hegyi@2265
|
10 |
-RefPtr: a reference counted pointer class
|
hegyi@2265
|
11 |
-two state variant
|
hegyi@2265
|
12 |
-Polinomial template class
|
hegyi@2265
|
13 |
-SimpleBucketHeap
|
hegyi@2265
|
14 |
-even a smaller version
|
hegyi@2265
|
15 |
-tolerance class
|
hegyi@2265
|
16 |
-Tolerance<unsigned int> and Tolerance<unsigned long long int> added
|
hegyi@2265
|
17 |
-the extender system
|
hegyi@2265
|
18 |
-some UGraphExtender /SubUGraphExtenders, DirectUGraphExtender/
|
hegyi@2265
|
19 |
-adaptor related
|
hegyi@2265
|
20 |
-ResGraphAdaptor with Tolerance
|
hegyi@2265
|
21 |
-SwapBpUGraphAdaptor which swaps the two nodeset of the bipartite graph
|
hegyi@2265
|
22 |
-map related
|
hegyi@2265
|
23 |
-SimpleMap and SimpleWriteMap
|
hegyi@2265
|
24 |
-new map type based on array map for debugging purpose
|
hegyi@2265
|
25 |
-DynamicAsymMatrixMap
|
hegyi@2265
|
26 |
-MatrixMapTraits
|
hegyi@2265
|
27 |
*functions
|
hegyi@2265
|
28 |
-optimality test on random graph
|
hegyi@2265
|
29 |
-implementation of the drand48 functions
|
hegyi@2265
|
30 |
-negative cycle to path converter
|
hegyi@2265
|
31 |
-reserveNode function
|
hegyi@2265
|
32 |
-Mersenne Twister random number generator
|
hegyi@2265
|
33 |
-EdgeLookUp and AllEdgeLookUp
|
hegyi@2265
|
34 |
*scripts
|
hegyi@2265
|
35 |
-script that lists all the header files included directly or indirectly by a certain header file
|
hegyi@2265
|
36 |
-script creates/updates the copyright header of a source file
|
hegyi@2265
|
37 |
*algorithms
|
hegyi@2265
|
38 |
-algorithm group for matchings
|
hegyi@2265
|
39 |
-Bipartite Graph Max Cardinality Matching (Hopcroft-Karp)
|
hegyi@2265
|
40 |
-MaxWeightedBipartiteMatching
|
hegyi@2265
|
41 |
-MinCostMaxBipartiteMatching
|
hegyi@2265
|
42 |
-MaxCardinalitySearch
|
hegyi@2265
|
43 |
-MinimalCut in UGraph
|
hegyi@2265
|
44 |
-tabu search
|
hegyi@2265
|
45 |
-Minimum Cost Arborescence algorithm
|
hegyi@2265
|
46 |
-dual solution computation and interface for algorithm
|
hegyi@2265
|
47 |
-Edmonds-Karp MaxFlow
|
hegyi@2265
|
48 |
-Hao-Orlin algorithm
|
hegyi@2265
|
49 |
|
hegyi@2265
|
50 |
#Progress in already existing objects:
|
hegyi@2265
|
51 |
*radix sort to ansi compatible
|
hegyi@2265
|
52 |
*map creation based on virtual base class is possible
|
hegyi@2265
|
53 |
*default constructor which allocates empty graphs
|
hegyi@2265
|
54 |
*defaultMap is introdouced, graph maps should not be inherited from the ObserverBase.
|
hegyi@2265
|
55 |
*clarifing alteration observing system
|
hegyi@2265
|
56 |
*resize for static size graph
|
hegyi@2265
|
57 |
*an additional simplier interface for static size graphs.
|
hegyi@2265
|
58 |
*Node operator()(int) for getting node by index
|
hegyi@2265
|
59 |
*int index(Node node) for getting index by node
|
hegyi@2265
|
60 |
*traits for alteration notifiers
|
hegyi@2265
|
61 |
*graph adadptors can be alteration observed
|
hegyi@2265
|
62 |
*count ANodes-BNodes in bipartite graphs
|
hegyi@2265
|
63 |
*the template assign operators and map iterators can be used for adaptors also
|
hegyi@2265
|
64 |
*writeable extension of some maps
|
hegyi@2265
|
65 |
*rot180() added to xy.h
|
hegyi@2265
|
66 |
*change source and target for the bipartite list graph
|
hegyi@2265
|
67 |
*findEdge extension also for the BpUGraphs
|
hegyi@2265
|
68 |
*proper handling of loop edges in the UGraph::findUEdge
|
hegyi@2265
|
69 |
*exported interface to the Graph class
|
hegyi@2265
|
70 |
*new random interface
|
hegyi@2265
|
71 |
*graph imlementations actually provide ReferenceMaps
|
hegyi@2265
|
72 |
*lgf2ps:
|
hegyi@2265
|
73 |
-RGB color related stuff is in color.h now
|
hegyi@2265
|
74 |
-simple class to create .eps figures (eps.h)
|
hegyi@2265
|
75 |
-"Node shapes" added
|
hegyi@2265
|
76 |
-some color constants added (BLACK, WHITE, RED etc)
|
hegyi@2265
|
77 |
-absolute/relative node size/link width scaling
|
hegyi@2265
|
78 |
|
hegyi@2265
|
79 |
#Taken out:
|
hegyi@2265
|
80 |
*SplitGraph is temporarly deleted
|
hegyi@2265
|
81 |
*SubBidirGraphAdaptor
|
hegyi@2265
|
82 |
*obsolote "id" map handling
|
hegyi@2265
|
83 |
*concepts for extendable and erasable graphs
|
hegyi@2265
|
84 |
*exceptionName()
|
hegyi@2265
|
85 |
*bezier.h
|
hegyi@2265
|
86 |
*functional interfaces
|
hegyi@2265
|
87 |
*UPath
|
hegyi@2265
|
88 |
|
hegyi@2265
|
89 |
#Rewritten, modificated, improved
|
hegyi@2265
|
90 |
*UnionFindEnum revision
|
hegyi@2265
|
91 |
*countItems
|
hegyi@2265
|
92 |
*findEdges
|
hegyi@2265
|
93 |
*IncEdgeIt goes through on loop edges twice.
|
hegyi@2265
|
94 |
*mining of the clear in heaps
|
hegyi@2265
|
95 |
*SplitGraphAdaptor
|
hegyi@2265
|
96 |
*item sets are written in the order sorted by the labels
|
hegyi@2265
|
97 |
*make explicit constructors
|
hegyi@2265
|
98 |
*snapshot
|
hegyi@2265
|
99 |
-rewritten
|
hegyi@2265
|
100 |
-implemented for SmartUGraph an SmartBpUGraph
|
hegyi@2265
|
101 |
*Node/Edge::operator<() is required by the concept
|
hegyi@2265
|
102 |
*Graph Component concepts
|
hegyi@2265
|
103 |
*disabled the copy constructor and operator- of {List|Smart}[U]Graph.
|
hegyi@2265
|
104 |
*modificated interface: colType() functions
|
hegyi@2265
|
105 |
*made public what() in NodeSetError
|
hegyi@2265
|
106 |
*improvment in exception handling
|
hegyi@2265
|
107 |
-exception safe erase and clear handler
|
hegyi@2265
|
108 |
-proper exception handling in the SmartEdgeSet
|
hegyi@2265
|
109 |
-rethrow of exception missing
|
hegyi@2265
|
110 |
*signaling alterations in BpUGraphs
|
hegyi@2265
|
111 |
*UnionFind
|
hegyi@2265
|
112 |
-takes less space
|
hegyi@2265
|
113 |
-UnionFindEnum
|
hegyi@2265
|
114 |
-changed interface
|
hegyi@2265
|
115 |
*updated the Path concept
|
hegyi@2265
|
116 |
*item readers and writers
|
hegyi@2265
|
117 |
|
hegyi@2265
|
118 |
#Reorganized:
|
hegyi@2265
|
119 |
*bootstrap: quiet option
|
hegyi@2265
|
120 |
*utility, invalid and traits moved to bits
|
hegyi@2265
|
121 |
*section readers moved to own group
|
hegyi@2265
|
122 |
*separate group for matrices
|
hegyi@2265
|
123 |
*single makefile
|
hegyi@2265
|
124 |
*glemon is moved to own repository
|
hegyi@2265
|
125 |
*graph_component.h -> graph_components.h
|
hegyi@2265
|
126 |
*reference to modules added
|
hegyi@2265
|
127 |
*disable assertions in default behaviour
|
hegyi@2265
|
128 |
*BiVariant moved to lemon/bits/variant.h
|
hegyi@2265
|
129 |
*using abort() instead of exit(1)
|
hegyi@2265
|
130 |
|
hegyi@2265
|
131 |
#Renamed:
|
hegyi@2265
|
132 |
*Undir -> U
|
hegyi@2265
|
133 |
*Minimum -> Min
|
hegyi@2265
|
134 |
*Work -> Aux
|
hegyi@2265
|
135 |
*UGraphExtender -> UndirectGraphExtender
|
hegyi@2265
|
136 |
-UGraphExtenders with changed meaning
|
hegyi@2265
|
137 |
*GridGraph -> GridUGraph
|
hegyi@2265
|
138 |
*UNDIRGRAPH_TYPEDEFS -> UGRAPH_TYPEDEFS
|
hegyi@2265
|
139 |
*LinearHeap -> BucketHeap
|
hegyi@2265
|
140 |
*UGraphBaseExtender -> UndirGraphExtender
|
hegyi@2265
|
141 |
*BpUGraphBaseExtender merged into BpUGraphExtender
|
hegyi@2265
|
142 |
*StaticGraph to Graph
|
hegyi@2265
|
143 |
*ColorSet to Palette
|
hegyi@2265
|
144 |
*xy -> dim2::Point
|
hegyi@2265
|
145 |
*DirPath to Path
|
hegyi@2265
|
146 |
*concept -> concepts (namespace & directory)
|
hegyi@2265
|
147 |
|
hegyi@2265
|
148 |
#Compatibility issues:
|
hegyi@2265
|
149 |
*compilation with G++ -ansi
|
hegyi@2265
|
150 |
*gcc-4.1
|
hegyi@2265
|
151 |
*NaN checking to be conform to MinGW32
|
hegyi@2265
|
152 |
*MinGW, MinGW32
|
hegyi@2265
|
153 |
*long long just for gnu compilers
|
hegyi@2265
|
154 |
*CPLEX 9.x support
|
hegyi@2265
|
155 |
*turned off 32bit specific tests.
|
hegyi@2265
|
156 |
|
hegyi@2265
|
157 |
#Beyond the aboves several bugfix and documentation improvement is made, new demos, benchmarks are implemented.
|
hegyi@2265
|
158 |
|
athos@2075
|
159 |
2006-02-03 Version 0.5 Released
|
klao@1945
|
160 |
* New features:
|
klao@1945
|
161 |
- Bfs/Dfs/Dijkstra
|
klao@1945
|
162 |
+ query functions for the next node/edge to be processed
|
klao@1945
|
163 |
+ visitor interface for dfs
|
klao@1945
|
164 |
- topology.h: small functions for discovering graph topology
|
klao@1945
|
165 |
+ connected components, strongly connected components
|
klao@1945
|
166 |
+ bipartiteness testing
|
klao@1945
|
167 |
- Shortest paths algorithms:
|
klao@1945
|
168 |
bellman_ford.h, floyd_warshall.h, johnson.h
|
klao@1945
|
169 |
- Euler tour iterator for directed and undirected graphs
|
klao@1945
|
170 |
- Other algorithms:
|
klao@1945
|
171 |
+ dag_shortest_path.h
|
klao@1945
|
172 |
+ fredman_tarjan.h and prim.h for min cost trees
|
klao@1945
|
173 |
- Bipartite graph concept and implementations
|
klao@1945
|
174 |
- Graph maps:
|
klao@1945
|
175 |
+ template assign operator
|
klao@1945
|
176 |
+ specialized iterable bool map
|
athos@2075
|
177 |
+ potential difference map
|
klao@1945
|
178 |
+ NodeMatrixMap -- Matrix over the nodes
|
klao@1945
|
179 |
- Maps:
|
klao@1945
|
180 |
+ IterableIntMap
|
klao@1945
|
181 |
- GUI:
|
klao@1945
|
182 |
+ NewMap window in MapSelector
|
klao@1945
|
183 |
+ Algorithm window and some algorithms (eg. Kruskal) added
|
klao@1945
|
184 |
- LemonReader:
|
klao@1945
|
185 |
+ exception on non-existent files
|
klao@1945
|
186 |
- LP interface:
|
klao@1945
|
187 |
+ (Dual)Expr::simplify(double tolerance) added
|
klao@1945
|
188 |
+ getDual()
|
klao@1945
|
189 |
- GraphToEps:
|
klao@1945
|
190 |
+ negateY() opt
|
klao@1945
|
191 |
+ male/female node shapes :)
|
alpar@1947
|
192 |
+ correct %%BoundingBox handling
|
klao@1945
|
193 |
- Tools:
|
klao@1945
|
194 |
+ Timer can be stop()ed and (re)start()ed
|
alpar@1947
|
195 |
+ radix sort algorithm
|
klao@1945
|
196 |
+ tolerance.h for working with imprecise numbers
|
alpar@1947
|
197 |
* Backward incompatibilities/changed namings:
|
alpar@1713
|
198 |
- Access functions of TimeStamp/Timer
|
alpar@1947
|
199 |
- Undir graph interface: findUEdge, ConUEdgeIt
|
klao@1945
|
200 |
- pred -> predEdge renaming in search algorithms
|
klao@1945
|
201 |
- SnapShot -> Snapshot in {List,Smart}Graph
|
klao@1945
|
202 |
- NewEdgeSetAdaptor -> ListEdgeSet
|
klao@1945
|
203 |
- LP: set{Obj,Row,Col}() -> {obj,row,col}()
|
klao@1945
|
204 |
- "label" instead of "id" inside the LGF files
|
klao@1945
|
205 |
- UndirGraph -> UGraph, UndirEdge* -> UEdge*
|
klao@1945
|
206 |
- BipartiteGraph -> BpGraph, Lower/UpperNode* -> A/BNode*
|
athos@2075
|
207 |
* Bugfixes in
|
alpar@1668
|
208 |
- DFS
|
alpar@1668
|
209 |
- Preflow
|
klao@1945
|
210 |
- x86_64 connected bugfixes (lemon_reader.h)
|
klao@1945
|
211 |
- lp.h
|
klao@1945
|
212 |
* New demos, benchmarks and tools:
|
klao@1945
|
213 |
- graph_orientation.cc: A thoroughly documented demo application
|
klao@1945
|
214 |
- runningTimeTest(): a tool to measure running times more precisely
|
klao@1945
|
215 |
- Demo for topology
|
athos@2075
|
216 |
- counter.h: a tool to measure the number of steps of algorithms
|
klao@1945
|
217 |
- Some useful scripts: check-compiler, check-integrity
|
klao@1945
|
218 |
* Other changes:
|
klao@1945
|
219 |
- Demos and benchmarks are not built by default now. They can be
|
klao@1945
|
220 |
enabled with the --enable-demo and --enable-benchmark
|
klao@1945
|
221 |
configure flags.
|
klao@1945
|
222 |
- GCC 4.0.3 and ICC 9.0 compatibility
|
alpar@1713
|
223 |
|
alpar@1668
|
224 |
2005-08-27 Version 0.4 Released
|
alpar@1668
|
225 |
* List of new features and changes
|
alpar@1713
|
226 |
* Changed namings:
|
alpar@1668
|
227 |
Wrapper -> Adaptor
|
alpar@1668
|
228 |
kruskalEdgeMap() -> kruskal()
|
alpar@1668
|
229 |
kruskalEdgeMap_IteratorOut() -> kruskal()
|
alpar@1668
|
230 |
* BoundinBox<>
|
alpar@1668
|
231 |
* operator+=() -> add()
|
alpar@1668
|
232 |
+ clear()
|
alpar@1668
|
233 |
+ More and better graph I/O functionalities
|
alpar@1668
|
234 |
+ High level uniform LP solver interface to CPLEX and GLKP
|
alpar@1668
|
235 |
* graphToEps()
|
alpar@1668
|
236 |
+ Automatic node size and edge width scaling
|
alpar@1668
|
237 |
+ Simple color palette tool (ColorSet)
|
alpar@1668
|
238 |
* Bfs/Dfs/Dijkstra
|
alpar@1668
|
239 |
+ Step-by-step execution
|
alpar@1668
|
240 |
+ Run from multiple sources
|
alpar@1668
|
241 |
+ Used define stop condition
|
alpar@1668
|
242 |
+ Improved "named parameters"
|
alpar@1668
|
243 |
* Preflow
|
alpar@1668
|
244 |
+ Function type interface
|
alpar@1668
|
245 |
+ Changed interface
|
alpar@1668
|
246 |
* ListGraph/SmarGraph
|
ladanyi@1670
|
247 |
+ split() splits a node
|
alpar@1668
|
248 |
+ SnapShot
|
alpar@1668
|
249 |
+ New map adaptors
|
ladanyi@1670
|
250 |
+ New convenience maps
|
alpar@1668
|
251 |
+ IdMap, DescriptorMap
|
alpar@1668
|
252 |
+ InDegMap, OutDegMap
|
alpar@1668
|
253 |
+ XMap, YMap
|
alpar@1668
|
254 |
+ Default graph maps are iterable
|
alpar@1668
|
255 |
+ glemon: a graph editor
|
alpar@1668
|
256 |
+ Some new demo codes added, the old ones got polished.
|
alpar@1668
|
257 |
* Better documentation
|
alpar@1668
|
258 |
* Several important bugfixes
|
alpar@1668
|
259 |
* Now lemon should compile without warnings with
|
alpar@1668
|
260 |
* gcc 3.3, 3.4, 4.0
|
alpar@1668
|
261 |
* Intel C++ Compiler v9.0
|
alpar@1668
|
262 |
|
alpar@1668
|
263 |
2005-03-19 Version 0.3.1 Released
|
alpar@1668
|
264 |
* This release fixes a compilation failure bug under cygwin.
|
alpar@1668
|
265 |
|
alpar@1668
|
266 |
2005-02-21 Version 0.3 released
|
alpar@1668
|
267 |
* List of new features and changes
|
alpar@1668
|
268 |
* Redesigned Graph infrastructures
|
alpar@1668
|
269 |
+ Standardized LEMON exceptions
|
alpar@1668
|
270 |
+ Undirected Graph
|
alpar@1668
|
271 |
+ Standard graph file format, input and output classes for it.
|
alpar@1668
|
272 |
* head() -> target(), tail() -> source()
|
alpar@1668
|
273 |
* Some standard namings have changes:
|
alpar@1668
|
274 |
ValueType -> Value,
|
alpar@1668
|
275 |
KeyType -> Key,
|
alpar@1668
|
276 |
ReferenceType ->Reference,
|
alpar@1668
|
277 |
PointerType -> Pointer
|
alpar@1668
|
278 |
+ GraphToEps: A simple graph drawer
|
alpar@1668
|
279 |
* Better documentation
|
alpar@1668
|
280 |
|
alpar@1668
|
281 |
2004-09-30 Version 0.2 released
|
alpar@1668
|
282 |
|