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