hegyi@2600
|
1 |
2008-02-08 Version 0.7 released
|
hegyi@2600
|
2 |
|
hegyi@2600
|
3 |
* added
|
hegyi@2600
|
4 |
- new data structures
|
hegyi@2600
|
5 |
classes
|
hegyi@2600
|
6 |
StaticGraphBase
|
hegyi@2600
|
7 |
ExtendFindEnum
|
hegyi@2600
|
8 |
BfsVisitor class
|
hegyi@2600
|
9 |
Bipartite partitions based on visitors
|
hegyi@2600
|
10 |
helper class for checking existence of a nested class
|
hegyi@2600
|
11 |
general mapping based variant type
|
hegyi@2600
|
12 |
IntegerMap
|
hegyi@2600
|
13 |
- new functions and tools
|
hegyi@2600
|
14 |
ArgParser, a command line argument parser
|
hegyi@2600
|
15 |
DistLog, a tool for measuring one and two dimensional distributions
|
hegyi@2600
|
16 |
undirected minimum cut benchmarking
|
hegyi@2600
|
17 |
tools/lgf-gen.cc, a random graph generator
|
hegyi@2600
|
18 |
BpUGraphReader and Writer
|
hegyi@2600
|
19 |
DynEdgeLookUp implementation based on splay trees
|
hegyi@2600
|
20 |
MACROS for debug map usage
|
hegyi@2600
|
21 |
- new algoritmhs
|
hegyi@2600
|
22 |
Lagrange relaxation based algorithm for the delay constrained least cost path problem
|
hegyi@2600
|
23 |
a preflow based general network circulation algorithm
|
hegyi@2600
|
24 |
2-approximation of Steiner-tree problem
|
hegyi@2600
|
25 |
two heuristics (http://www.avglab.com/andrew/pub/neci-tr-96-132.ps)
|
hegyi@2600
|
26 |
tsp2, a minimum spanning tree based TSP algorithm
|
hegyi@2600
|
27 |
Delaunay triangulation
|
hegyi@2600
|
28 |
Gomory-Hu tree algorithm
|
hegyi@2600
|
29 |
Edmond's Blossom shrinking algorithm
|
hegyi@2600
|
30 |
minimum mean cycle algorithm
|
hegyi@2600
|
31 |
Goldberg-Tarjan algorithm (Preflow with Dynamic Trees)
|
hegyi@2600
|
32 |
Dinitz-Sleator-Tarjan (Blocking flow with Dynamic Tree)
|
hegyi@2600
|
33 |
- new distributions (Gaussian, exponential, Gamma, two dimensional random, buffered bit generation)
|
hegyi@2600
|
34 |
- push-relabel type algorithm related additions
|
hegyi@2600
|
35 |
Elevator, a class for handling item labels in push-relabel type algorithms
|
hegyi@2600
|
36 |
a push/relabel type max cardinality matching implementation
|
hegyi@2600
|
37 |
some query function for push-relabel based matching
|
hegyi@2600
|
38 |
- LP related additions
|
hegyi@2600
|
39 |
Soplex support
|
hegyi@2600
|
40 |
ColIt class
|
hegyi@2600
|
41 |
new functions (simplify(), isFinite(), row and col getter function)
|
hegyi@2600
|
42 |
_setColCoeff and _setRowCoeff parameters
|
hegyi@2600
|
43 |
section reader and writer for lemon IO
|
hegyi@2600
|
44 |
equality-type constraint can now be added to a LP
|
hegyi@2600
|
45 |
virtual functions of class LpCplex
|
hegyi@2600
|
46 |
some query functions for GLPK
|
hegyi@2600
|
47 |
- demos
|
hegyi@2600
|
48 |
preflow based general network circulation demo
|
hegyi@2600
|
49 |
Steiner 2-approximation demo
|
hegyi@2600
|
50 |
demo for SAT problems
|
hegyi@2600
|
51 |
sample input for sat-2 and sat demos
|
hegyi@2600
|
52 |
- tests for
|
hegyi@2600
|
53 |
graph copies
|
hegyi@2600
|
54 |
random.h
|
hegyi@2600
|
55 |
max weighted matchings
|
hegyi@2600
|
56 |
- rename graphs script
|
hegyi@2600
|
57 |
- planarity related additions
|
hegyi@2600
|
58 |
checking and embedding
|
hegyi@2600
|
59 |
planar grid embedding
|
hegyi@2600
|
60 |
planar graph coloring
|
hegyi@2600
|
61 |
- administrative improvements
|
hegyi@2600
|
62 |
script for automatic checking of SVN commit's consistency
|
hegyi@2600
|
63 |
automatic doc generation from the SVN trunk
|
hegyi@2600
|
64 |
check for gcc version 3.3, 3.4, 4.0 and 4.1.2 as well
|
hegyi@2600
|
65 |
reorganization of the modules and groups
|
hegyi@2600
|
66 |
a tools directory added for useful executables codes
|
hegyi@2600
|
67 |
doxygen
|
hegyi@2600
|
68 |
renaming topology doxygen group to graph_prop doxygen group
|
hegyi@2600
|
69 |
introducing planar doxygen group
|
hegyi@2600
|
70 |
- bipartite matchings
|
hegyi@2600
|
71 |
common interface
|
hegyi@2600
|
72 |
Query functions: aMatching and bMatching
|
hegyi@2600
|
73 |
ANodeMap<UEdge> matching map
|
hegyi@2600
|
74 |
BNodeMap<bool> barrier map
|
hegyi@2600
|
75 |
|
hegyi@2600
|
76 |
* changed, modified, improved
|
hegyi@2600
|
77 |
- redesigned
|
hegyi@2600
|
78 |
undirected edgesets (like the smart or ugraph)
|
hegyi@2600
|
79 |
interface of MaxMatching and UnionFindEnum
|
hegyi@2600
|
80 |
interface of maximum flow algorithms
|
hegyi@2600
|
81 |
Kruskal algorithm
|
hegyi@2600
|
82 |
augmenting path based bipartite matching
|
hegyi@2600
|
83 |
- min cost flows
|
hegyi@2600
|
84 |
various min cost flow solvers
|
hegyi@2600
|
85 |
redesigned CapacityScaling algorithm
|
hegyi@2600
|
86 |
- graph copy
|
hegyi@2600
|
87 |
preliminary support for static graphs
|
hegyi@2600
|
88 |
added BpUGraphCopy
|
hegyi@2600
|
89 |
- execution
|
hegyi@2600
|
90 |
conditional execution until the target is reached
|
hegyi@2600
|
91 |
modified start() function in Dfs and Dijkstra classes to give back reached edge/node
|
hegyi@2600
|
92 |
- Dijkstra
|
hegyi@2600
|
93 |
return the temporary distance of the current node
|
hegyi@2600
|
94 |
using operation traits
|
hegyi@2600
|
95 |
- patch for retrieving reached/processed node in dijkstra, bfs and dfs
|
hegyi@2600
|
96 |
- prescaling can be turned off in GraphToEps
|
hegyi@2600
|
97 |
- better handling of inexact computation
|
hegyi@2600
|
98 |
- easier inverse
|
hegyi@2600
|
99 |
- faster geometric minimum spanning tree
|
hegyi@2600
|
100 |
- new implementation of undirected graphs
|
hegyi@2600
|
101 |
- Hao-Orlin algorithm became epsilon-safe
|
hegyi@2600
|
102 |
- LpSoplex
|
hegyi@2600
|
103 |
added getter functions
|
hegyi@2600
|
104 |
better m4 file
|
hegyi@2600
|
105 |
better handling of unsolved lps
|
hegyi@2600
|
106 |
- allowing 'string' type quoting
|
hegyi@2600
|
107 |
- clear() function for unionfinds
|
hegyi@2600
|
108 |
- integer parameters also converted to double
|
hegyi@2600
|
109 |
- hacking mip is possible without integer variables
|
hegyi@2600
|
110 |
- space reservation for SmartGraph
|
hegyi@2600
|
111 |
- path
|
hegyi@2600
|
112 |
PathNodeIt
|
hegyi@2600
|
113 |
PathWriter/Reader structures
|
hegyi@2600
|
114 |
Distinct MapSet readers and writers
|
hegyi@2600
|
115 |
more simple interface for PathDumper
|
hegyi@2600
|
116 |
|
hegyi@2600
|
117 |
* updated
|
hegyi@2600
|
118 |
- tutorial for
|
hegyi@2600
|
119 |
algorithms
|
hegyi@2600
|
120 |
graph visualization
|
hegyi@2600
|
121 |
- documentation
|
hegyi@2600
|
122 |
|
hegyi@2600
|
123 |
* rename
|
hegyi@2600
|
124 |
- min_cut.h => nagamochi_ibaraki.h
|
hegyi@2600
|
125 |
- clone => build
|
hegyi@2600
|
126 |
- RevIt => RevEdgeIt
|
hegyi@2600
|
127 |
- _FixId => LpId
|
hegyi@2600
|
128 |
- setObj => obj
|
hegyi@2600
|
129 |
- is_min => isMin
|
hegyi@2600
|
130 |
- is_max => isMax
|
hegyi@2600
|
131 |
- 'hugo' => 'lemon'
|
hegyi@2600
|
132 |
- ball2() => disc()
|
hegyi@2600
|
133 |
- state_enum => State
|
hegyi@2600
|
134 |
- getNotifier => notifier
|
hegyi@2600
|
135 |
- using LEMON_ASSERT instead of LogicError()
|
hegyi@2600
|
136 |
- uedgeset is an alias for edgeset
|
hegyi@2600
|
137 |
- CPXMIP_OPTIMAL_TOL status is considered as OPTIMAL too
|
hegyi@2600
|
138 |
- removed "Type" suffix from typedefs
|
hegyi@2600
|
139 |
- lower case local variables
|
hegyi@2600
|
140 |
|
hegyi@2600
|
141 |
* removed
|
hegyi@2600
|
142 |
- template Map template parameter from InvertableMaps
|
hegyi@2600
|
143 |
- unionfind Item template parameter
|
hegyi@2600
|
144 |
- strict checking
|
hegyi@2600
|
145 |
- some automatic callback generation
|
hegyi@2600
|
146 |
'-Wshadow' seemed too strict therefore removed
|
hegyi@2600
|
147 |
|
hegyi@2600
|
148 |
* several bugfixes
|
hegyi@2600
|
149 |
|
alpar@2278
|
150 |
2006-10-31 Version 0.6 Released
|
alpar@2280
|
151 |
* GLEMON has moved to a separate repository
|
alpar@2280
|
152 |
(https://hugo.cs.elte.hu/svn/glemon/trunk)
|
alpar@2278
|
153 |
* New Features
|
alpar@2278
|
154 |
- Mixed Integer Programming (MIP) support
|
alpar@2278
|
155 |
- interface to GLPK and CPLEX MIP solvers
|
alpar@2278
|
156 |
- Data structures
|
alpar@2278
|
157 |
- Bipatrite graph concepts and implementations
|
alpar@2278
|
158 |
- a Polinomial template class
|
alpar@2278
|
159 |
- RefPtr: a reference counted pointer class
|
alpar@2278
|
160 |
- SimpleBucketHeap
|
alpar@2278
|
161 |
- random.h: Mersenne Twister random number generator
|
alpar@2278
|
162 |
- EdgeLookUp and AllEdgeLookUp
|
alpar@2278
|
163 |
- Tools to find edges between to nodes in time O(log d)
|
alpar@2278
|
164 |
- new matching algorithms
|
alpar@2278
|
165 |
- Bipartite Graph Max Cardinality Matching (Hopcroft-Karp)
|
alpar@2278
|
166 |
- MaxWeightedBipartiteMatching
|
alpar@2278
|
167 |
- MinCostMaxBipartiteMatching
|
alpar@2278
|
168 |
- MaxCardinalitySearch
|
alpar@2278
|
169 |
- MinimalCut in UGraph
|
alpar@2278
|
170 |
- Tabu Search framework
|
alpar@2278
|
171 |
- Minimum Cost Arborescence algorithm
|
alpar@2278
|
172 |
- Edmonds-Karp MaxFlow
|
alpar@2278
|
173 |
- Hao-Orlin algorithm
|
alpar@2278
|
174 |
- eps.h: A simple tool to create .eps pictures.
|
alpar@2278
|
175 |
* Backward incompatibilities/changed namings:
|
alpar@2278
|
176 |
- UndirXyz -> UXyz
|
alpar@2278
|
177 |
- UNDIRGRAPH_TYPEDEFS -> UGRAPH_TYPEDEFS
|
alpar@2278
|
178 |
- GridGraph -> GridUGraph
|
alpar@2278
|
179 |
- LinearHeap -> BucketHeap
|
alpar@2278
|
180 |
- ColorSet -> Palette
|
alpar@2278
|
181 |
- xy -> dim2::Point
|
alpar@2278
|
182 |
- DirPath -> Path
|
alpar@2278
|
183 |
- concept -> concepts (namespace & directory)
|
alpar@2278
|
184 |
- LpSolverBase
|
alpar@2278
|
185 |
- ColName() -> colName
|
alpar@2278
|
186 |
- Coeff() -> coeff()
|
alpar@2278
|
187 |
- MinCostFlow -> SspMinCostFlow
|
alpar@2278
|
188 |
* Repository reorganization:
|
alpar@2278
|
189 |
- compilation is conducted by a single makefile
|
alpar@2278
|
190 |
- internal building blocks are now in a separate directory
|
alpar@2278
|
191 |
(lemon/bits)
|
alpar@2278
|
192 |
* Major improvements many algorithms and data structures.
|
alpar@2278
|
193 |
* Several bugfixes
|
alpar@2278
|
194 |
* Compatibility issues:
|
alpar@2278
|
195 |
- known to compile with
|
alpar@2278
|
196 |
- GCC 3.3, 3.4, 4.0, 4.1
|
alpar@2278
|
197 |
- MinGW, MinGW32
|
alpar@2278
|
198 |
- Intel C++ 9.x support
|
hegyi@2265
|
199 |
|
athos@2075
|
200 |
2006-02-03 Version 0.5 Released
|
klao@1945
|
201 |
* New features:
|
klao@1945
|
202 |
- Bfs/Dfs/Dijkstra
|
klao@1945
|
203 |
+ query functions for the next node/edge to be processed
|
klao@1945
|
204 |
+ visitor interface for dfs
|
klao@1945
|
205 |
- topology.h: small functions for discovering graph topology
|
klao@1945
|
206 |
+ connected components, strongly connected components
|
klao@1945
|
207 |
+ bipartiteness testing
|
klao@1945
|
208 |
- Shortest paths algorithms:
|
klao@1945
|
209 |
bellman_ford.h, floyd_warshall.h, johnson.h
|
klao@1945
|
210 |
- Euler tour iterator for directed and undirected graphs
|
klao@1945
|
211 |
- Other algorithms:
|
klao@1945
|
212 |
+ dag_shortest_path.h
|
klao@1945
|
213 |
+ fredman_tarjan.h and prim.h for min cost trees
|
klao@1945
|
214 |
- Bipartite graph concept and implementations
|
klao@1945
|
215 |
- Graph maps:
|
klao@1945
|
216 |
+ template assign operator
|
klao@1945
|
217 |
+ specialized iterable bool map
|
athos@2075
|
218 |
+ potential difference map
|
klao@1945
|
219 |
+ NodeMatrixMap -- Matrix over the nodes
|
klao@1945
|
220 |
- Maps:
|
klao@1945
|
221 |
+ IterableIntMap
|
klao@1945
|
222 |
- GUI:
|
klao@1945
|
223 |
+ NewMap window in MapSelector
|
klao@1945
|
224 |
+ Algorithm window and some algorithms (eg. Kruskal) added
|
klao@1945
|
225 |
- LemonReader:
|
klao@1945
|
226 |
+ exception on non-existent files
|
klao@1945
|
227 |
- LP interface:
|
klao@1945
|
228 |
+ (Dual)Expr::simplify(double tolerance) added
|
klao@1945
|
229 |
+ getDual()
|
klao@1945
|
230 |
- GraphToEps:
|
klao@1945
|
231 |
+ negateY() opt
|
klao@1945
|
232 |
+ male/female node shapes :)
|
alpar@1947
|
233 |
+ correct %%BoundingBox handling
|
klao@1945
|
234 |
- Tools:
|
klao@1945
|
235 |
+ Timer can be stop()ed and (re)start()ed
|
alpar@1947
|
236 |
+ radix sort algorithm
|
klao@1945
|
237 |
+ tolerance.h for working with imprecise numbers
|
alpar@1947
|
238 |
* Backward incompatibilities/changed namings:
|
alpar@1713
|
239 |
- Access functions of TimeStamp/Timer
|
alpar@1947
|
240 |
- Undir graph interface: findUEdge, ConUEdgeIt
|
klao@1945
|
241 |
- pred -> predEdge renaming in search algorithms
|
klao@1945
|
242 |
- SnapShot -> Snapshot in {List,Smart}Graph
|
klao@1945
|
243 |
- NewEdgeSetAdaptor -> ListEdgeSet
|
klao@1945
|
244 |
- LP: set{Obj,Row,Col}() -> {obj,row,col}()
|
klao@1945
|
245 |
- "label" instead of "id" inside the LGF files
|
klao@1945
|
246 |
- UndirGraph -> UGraph, UndirEdge* -> UEdge*
|
klao@1945
|
247 |
- BipartiteGraph -> BpGraph, Lower/UpperNode* -> A/BNode*
|
athos@2075
|
248 |
* Bugfixes in
|
alpar@1668
|
249 |
- DFS
|
alpar@1668
|
250 |
- Preflow
|
klao@1945
|
251 |
- x86_64 connected bugfixes (lemon_reader.h)
|
klao@1945
|
252 |
- lp.h
|
klao@1945
|
253 |
* New demos, benchmarks and tools:
|
klao@1945
|
254 |
- graph_orientation.cc: A thoroughly documented demo application
|
klao@1945
|
255 |
- runningTimeTest(): a tool to measure running times more precisely
|
klao@1945
|
256 |
- Demo for topology
|
athos@2075
|
257 |
- counter.h: a tool to measure the number of steps of algorithms
|
klao@1945
|
258 |
- Some useful scripts: check-compiler, check-integrity
|
klao@1945
|
259 |
* Other changes:
|
klao@1945
|
260 |
- Demos and benchmarks are not built by default now. They can be
|
klao@1945
|
261 |
enabled with the --enable-demo and --enable-benchmark
|
klao@1945
|
262 |
configure flags.
|
klao@1945
|
263 |
- GCC 4.0.3 and ICC 9.0 compatibility
|
alpar@1713
|
264 |
|
alpar@1668
|
265 |
2005-08-27 Version 0.4 Released
|
alpar@1668
|
266 |
* List of new features and changes
|
alpar@1713
|
267 |
* Changed namings:
|
alpar@1668
|
268 |
Wrapper -> Adaptor
|
alpar@1668
|
269 |
kruskalEdgeMap() -> kruskal()
|
alpar@1668
|
270 |
kruskalEdgeMap_IteratorOut() -> kruskal()
|
alpar@1668
|
271 |
* BoundinBox<>
|
alpar@1668
|
272 |
* operator+=() -> add()
|
alpar@1668
|
273 |
+ clear()
|
alpar@1668
|
274 |
+ More and better graph I/O functionalities
|
alpar@1668
|
275 |
+ High level uniform LP solver interface to CPLEX and GLKP
|
alpar@1668
|
276 |
* graphToEps()
|
alpar@1668
|
277 |
+ Automatic node size and edge width scaling
|
alpar@1668
|
278 |
+ Simple color palette tool (ColorSet)
|
alpar@1668
|
279 |
* Bfs/Dfs/Dijkstra
|
alpar@1668
|
280 |
+ Step-by-step execution
|
alpar@1668
|
281 |
+ Run from multiple sources
|
alpar@1668
|
282 |
+ Used define stop condition
|
alpar@1668
|
283 |
+ Improved "named parameters"
|
alpar@1668
|
284 |
* Preflow
|
alpar@1668
|
285 |
+ Function type interface
|
alpar@1668
|
286 |
+ Changed interface
|
alpar@1668
|
287 |
* ListGraph/SmarGraph
|
ladanyi@1670
|
288 |
+ split() splits a node
|
alpar@1668
|
289 |
+ SnapShot
|
alpar@1668
|
290 |
+ New map adaptors
|
ladanyi@1670
|
291 |
+ New convenience maps
|
alpar@1668
|
292 |
+ IdMap, DescriptorMap
|
alpar@1668
|
293 |
+ InDegMap, OutDegMap
|
alpar@1668
|
294 |
+ XMap, YMap
|
alpar@1668
|
295 |
+ Default graph maps are iterable
|
alpar@1668
|
296 |
+ glemon: a graph editor
|
alpar@1668
|
297 |
+ Some new demo codes added, the old ones got polished.
|
alpar@1668
|
298 |
* Better documentation
|
alpar@1668
|
299 |
* Several important bugfixes
|
alpar@1668
|
300 |
* Now lemon should compile without warnings with
|
alpar@1668
|
301 |
* gcc 3.3, 3.4, 4.0
|
alpar@1668
|
302 |
* Intel C++ Compiler v9.0
|
alpar@1668
|
303 |
|
alpar@1668
|
304 |
2005-03-19 Version 0.3.1 Released
|
alpar@1668
|
305 |
* This release fixes a compilation failure bug under cygwin.
|
alpar@1668
|
306 |
|
alpar@1668
|
307 |
2005-02-21 Version 0.3 released
|
alpar@1668
|
308 |
* List of new features and changes
|
alpar@1668
|
309 |
* Redesigned Graph infrastructures
|
alpar@1668
|
310 |
+ Standardized LEMON exceptions
|
alpar@1668
|
311 |
+ Undirected Graph
|
alpar@1668
|
312 |
+ Standard graph file format, input and output classes for it.
|
alpar@1668
|
313 |
* head() -> target(), tail() -> source()
|
alpar@1668
|
314 |
* Some standard namings have changes:
|
alpar@1668
|
315 |
ValueType -> Value,
|
alpar@1668
|
316 |
KeyType -> Key,
|
alpar@1668
|
317 |
ReferenceType ->Reference,
|
alpar@1668
|
318 |
PointerType -> Pointer
|
alpar@1668
|
319 |
+ GraphToEps: A simple graph drawer
|
alpar@1668
|
320 |
* Better documentation
|
alpar@1668
|
321 |
|
alpar@1668
|
322 |
2004-09-30 Version 0.2 released
|
alpar@1668
|
323 |
|