COIN-OR::LEMON - Graph Library

source: lemon/NEWS @ 1407:76349d8212d3

Last change on this file since 1407:76349d8212d3 was 1281:c08d0f04c117, checked in by Alpar Juttner <alpar@…>, 11 years ago

Update NEWS file

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