1 2010-10-21 Version 1.2.1 released
5 #366: Fix Pred[Matrix]MapPath::empty()
6 #371: Bug fix in (di)graphCopy()
7 The target graph is cleared before adding nodes and arcs/edges.
9 #364: Add missing UndirectedTags
10 #368: Fix the usage of std::numeric_limits<>::min() in Network Simplex
11 #372: Fix a critical bug in preflow
13 2010-03-19 Version 1.2 released
15 This is major feature release
18 * Bellman-Ford algorithm (#51)
19 * Minimum mean cycle algorithms (#179)
20 * Karp, Hartman-Orlin and Howard algorithms
21 * New minimum cost flow algorithms (#180)
22 * Cost Scaling algorithms
23 * Capacity Scaling algorithm
24 * Cycle-Canceling algorithms
25 * Planarity related algorithms (#62)
26 * Planarity checking algorithm
27 * Planar embedding algorithm
28 * Schnyder's planar drawing algorithm
29 * Coloring planar graphs with five or six colors
30 * Fractional matching algorithms (#314)
32 * StaticDigraph structure (#68)
33 * Several new priority queue structures (#50, #301)
34 * Fibonacci, Radix, Bucket, Pairing, Binomial
35 D-ary and fourary heaps (#301)
36 * Iterable map structures (#73)
37 * Other new tools and functionality
38 * Map utility functions (#320)
39 * Reserve functions are added to ListGraph and SmartGraph (#311)
40 * A resize() function is added to HypercubeGraph (#311)
41 * A count() function is added to CrossRefMap (#302)
42 * Support for multiple targets in Suurballe using fullInit() (#181)
43 * Traits class and named parameters for Suurballe (#323)
44 * Separate reset() and resetParams() functions in NetworkSimplex
45 to handle graph changes (#327)
46 * tolerance() functions are added to HaoOrlin (#306)
47 * Implementation improvements
48 * Improvements in weighted matching algorithms (#314)
49 * Jumpstart initialization
50 * ArcIt iteration is based on out-arc lists instead of in-arc lists
52 * Faster add row operation in CbcMip (#203)
53 * Better implementation for split() in ListDigraph (#311)
54 * ArgParser can also throw exception instead of exit(1) (#332)
56 * A simple interactive bootstrap script
57 * Doc improvements (#62,#180,#299,#302,#303,#304,#307,#311,#331,#315,
59 * BibTeX references in the doc (#184)
60 * Optionally use valgrind when running tests
61 * Also check ReferenceMapTag in concept checks (#312)
62 * dimacs-solver uses long long type by default.
63 * Several bugfixes (compared to release 1.1):
64 #295: Suppress MSVC warnings using pragmas
65 ----: Various CMAKE related improvements
66 * Remove duplications from doc/CMakeLists.txt
67 * Rename documentation install folder from 'docs' to 'html'
68 * Add tools/CMakeLists.txt to the tarball
69 * Generate and install LEMONConfig.cmake
70 * Change the label of the html project in Visual Studio
71 * Fix the check for the 'long long' type
72 * Put the version string into config.h
73 * Minor CMake improvements
74 * Set the version to 'hg-tip' if everything fails
75 #311: Add missing 'explicit' keywords
76 #302: Fix the implementation and doc of CrossRefMap
77 #308: Remove duplicate list_graph.h entry from source list
78 #307: Bugfix in Preflow and Circulation
79 #305: Bugfix and extension in the rename script
80 #312: Also check ReferenceMapTag in concept checks
81 #250: Bugfix in pathSource() and pathTarget()
82 #321: Use pathCopy(from,to) instead of copyPath(to,from)
83 #322: Distribure LEMONConfig.cmake.in
84 #330: Bug fix in map_extender.h
85 #336: Fix the date field comment of graphToEps() output
86 #323: Bug fix in Suurballe
87 #335: Fix clear() function in ExtendFindEnum
88 #337: Use void* as the LPX object pointer
89 #317: Fix (and improve) error message in mip_test.cc
90 Remove unnecessary OsiCbc dependency
91 #356: Allow multiple executions of weighted matching algorithms (#356)
93 2009-05-13 Version 1.1 released
95 This is the second stable release of the 1.x series. It
96 features a better coverage of the tools available in the 0.x
97 series, a thoroughly reworked LP/MIP interface plus various
98 improvements in the existing tools.
100 * Much improved M$ Windows support
101 * Various improvements in the CMAKE build system
102 * Compilation warnings are fixed/suppressed
103 * Support IBM xlC compiler
105 * Connectivity related algorithms (#61)
107 * Preflow push-relabel max. flow algorithm (#176)
108 * Circulation algorithm (push-relabel based) (#175)
109 * Suurballe algorithm (#47)
110 * Gomory-Hu algorithm (#66)
111 * Hao-Orlin algorithm (#58)
112 * Edmond's maximum cardinality and weighted matching algorithms
113 in general graphs (#48,#265)
114 * Minimum cost arborescence/branching (#60)
115 * Network Simplex min. cost flow algorithm (#234)
116 * New data structures
117 * Full graph structure (#57)
118 * Grid graph structure (#57)
119 * Hypercube graph structure (#57)
120 * Graph adaptors (#67)
121 * ArcSet and EdgeSet classes (#67)
122 * Elevator class (#174)
124 * LP/MIP interface (#44)
125 * Support for GLPK, CPLEX, Soplex, COIN-OR CLP and CBC
126 * Reader for the Nauty file format (#55)
127 * DIMACS readers (#167)
128 * Radix sort algorithms (#72)
129 * RangeIdMap and CrossRefMap (#160)
130 * New command line tools
131 * DIMACS to LGF converter (#182)
132 * lgf-gen - a graph generator (#45)
133 * DIMACS solver utility (#226)
134 * Other code improvements
135 * Lognormal distribution added to Random (#102)
136 * Better (i.e. O(1) time) item counting in SmartGraph (#3)
137 * The standard maps of graphs are guaranteed to be
138 reference maps (#190)
140 * Various doc improvements
141 * Improved 0.x -> 1.x converter script
143 * Several bugfixes (compared to release 1.0):
144 #170: Bugfix SmartDigraph::split()
145 #171: Bugfix in SmartGraph::restoreSnapshot()
146 #172: Extended test cases for graphs and digraphs
147 #173: Bugfix in Random
148 * operator()s always return a double now
149 * the faulty real<Num>(Num) and real<Num>(Num,Num)
151 #187: Remove DijkstraWidestPathOperationTraits
152 #61: Bugfix in DfsVisit
153 #193: Bugfix in GraphReader::skipSection()
154 #195: Bugfix in ConEdgeIt()
155 #197: Bugfix in heap unionfind
156 * This bug affects Edmond's general matching algorithms
157 #207: Fix 'make install' without 'make html' using CMAKE
158 #208: Suppress or fix VS2008 compilation warnings
159 ----: Update the LEMON icon
160 ----: Enable the component-based installer
161 (in installers made by CPACK)
162 ----: Set the proper version for CMAKE in the tarballs
164 ----: Minor clarification in the LICENSE file
165 ----: Add missing unistd.h include to time_measure.h
166 #204: Compilation bug fixed in graph_to_eps.h with VS2005
167 #214,#215: windows.h should never be included by LEMON headers
168 #230: Build systems check the availability of 'long long' type
169 #229: Default implementation of Tolerance<> is used for integer types
170 #211,#212: Various fixes for compiling on AIX
171 ----: Improvements in CMAKE config
172 - docs is installed in share/doc/
173 - detects newer versions of Ghostscript
174 #239: Fix missing 'inline' specifier in time_measure.h
175 #274,#280: Install lemon/config.h
176 #275: Prefix macro names with LEMON_ in lemon/config.h
177 ----: Small script for making the release tarballs added
178 ----: Minor improvement in unify-sources.sh (a76f55d7d397)
180 2009-03-27 LEMON joins to the COIN-OR initiative
182 COIN-OR (Computational Infrastructure for Operations Research,
183 http://www.coin-or.org) project is an initiative to spur the
184 development of open-source software for the operations research
187 2008-10-13 Version 1.0 released
189 This is the first stable release of LEMON. Compared to the 0.x
190 release series, it features a considerably smaller but more
191 matured set of tools. The API has also completely revised and
192 changed in several places.
194 * The major name changes compared to the 0.x series (see the
195 Migration Guide in the doc for more details)
196 * Graph -> Digraph, UGraph -> Graph
197 * Edge -> Arc, UEdge -> Edge
198 * source(UEdge)/target(UEdge) -> u(Edge)/v(Edge)
200 * Better documentation
201 * Reviewed and cleaned up codebase
202 * CMake based build system (along with the autotools based one)
203 * Contents of the library (ported from 0.x)
205 * breadth-first search (bfs.h)
206 * depth-first search (dfs.h)
207 * Dijkstra's algorithm (dijkstra.h)
208 * Kruskal's algorithm (kruskal.h)
210 * graph data structures (list_graph.h, smart_graph.h)
211 * path data structures (path.h)
212 * binary heap data structure (bin_heap.h)
213 * union-find data structures (unionfind.h)
214 * miscellaneous property maps (maps.h)
215 * two dimensional vector and bounding box (dim2.h)
217 * graph structure concepts (concepts/digraph.h, concepts/graph.h,
218 concepts/graph_components.h)
219 * concepts for other structures (concepts/heap.h, concepts/maps.h,
222 * Mersenne twister random number generator (random.h)
223 * tools for measuring cpu and wall clock time (time_measure.h)
224 * tools for counting steps and events (counter.h)
225 * tool for parsing command line arguments (arg_parser.h)
226 * tool for visualizing graphs (graph_to_eps.h)
227 * tools for reading and writing data in LEMON Graph Format
228 (lgf_reader.h, lgf_writer.h)
229 * tools to handle the anomalies of calculations with
230 floating point numbers (tolerance.h)
231 * tools to manage RGB colors (color.h)
233 * extended assertion handling (assert.h)
234 * exception classes and error handling (error.h)
235 * concept checking (concept_check.h)
236 * commonly used mathematical constants (math.h)