338 lines
16 KiB
Plaintext
338 lines
16 KiB
Plaintext
|
2014-07-07 Version 1.3.1 released
|
||
|
|
||
|
Bugfix release.
|
||
|
|
||
|
#484: Require CMAKE 2.8
|
||
|
#471, #472, #480: Various clang compatibility fixes
|
||
|
#481, #482: Fix shared lib build and versioning
|
||
|
#476: Fix invalid map query in NearestNeighborTsp
|
||
|
#478: Bugfix in debug checking and lower bound handling
|
||
|
in min cost flow algorithms
|
||
|
#479, #465: Bugfix in default LP/MIP backend settings
|
||
|
#476: Bugfix in tsp_test
|
||
|
#487: Add missing include header and std:: namespace spec.
|
||
|
#474: Fix division by zero error in NetworkSimplex
|
||
|
|
||
|
2013-08-10 Version 1.3 released
|
||
|
|
||
|
This is major feature release
|
||
|
|
||
|
* New data structures
|
||
|
|
||
|
#69 : Bipartite graph concepts and implementations
|
||
|
|
||
|
* New algorithms
|
||
|
|
||
|
#177: Port Edmonds-Karp algorithm
|
||
|
#380, #405: Heuristic algorithm for the max clique problem
|
||
|
#386: Heuristic algorithms for symmetric TSP
|
||
|
----: Nagamochi-Ibaraki algorithm [5087694945e4]
|
||
|
#397, #56: Max. cardinality search
|
||
|
|
||
|
* Other new features
|
||
|
|
||
|
#223: Thread safe graph and graph map implementations
|
||
|
#442: Different TimeStamp print formats
|
||
|
#457: File export functionality to LpBase
|
||
|
#362: Bidirectional iterator support for radixSort()
|
||
|
|
||
|
* Implementation improvements
|
||
|
|
||
|
----: Network Simplex
|
||
|
#391: Better update process, pivot rule and arc mixing
|
||
|
#435: Improved Altering List pivot rule
|
||
|
#417: Various fine tunings in CostScaling
|
||
|
#438: Optional iteration limit in HowardMmc
|
||
|
#436: Ensure strongly polynomial running time for CycleCanceling
|
||
|
while keeping the same performance
|
||
|
----: Make the CBC interface be compatible with latest CBC releases
|
||
|
[ee581a0ecfbf]
|
||
|
|
||
|
* CMAKE has become the default build environment (#434)
|
||
|
|
||
|
----: Autotool support has been dropped
|
||
|
----: Improved LP/MIP configuration
|
||
|
#465: Enable/disable options for LP/MIP backends
|
||
|
#446: Better CPLEX discovery
|
||
|
#460: Add cmake config to find SoPlex
|
||
|
----: Allow CPACK configuration on all platforms
|
||
|
#390: Add 'Maintainer' CMAKE build type
|
||
|
#388: Add 'check' target.
|
||
|
#401: Add contrib dir
|
||
|
#389: Better version string setting in CMAKE
|
||
|
#433: Support shared library build
|
||
|
#416: Support testing with valgrind
|
||
|
|
||
|
* Doc improvements
|
||
|
|
||
|
#395: SOURCE_BROWSER Doxygen switch is configurable from CMAKE
|
||
|
update-external-tags CMAKE target
|
||
|
#455: Optionally use MathJax for rendering the math formulae
|
||
|
#402, #437, #459, #456, #463: Various doc improvements
|
||
|
|
||
|
* Bugfixes (compared to release 1.2):
|
||
|
|
||
|
#432: Add missing doc/template.h and doc/references.bib to release
|
||
|
tarball
|
||
|
----: Intel C++ compatibility fixes
|
||
|
#441: Fix buggy reinitialization in _solver_bits::VarIndex::clear()
|
||
|
#444: Bugfix in path copy constructors and assignment operators
|
||
|
#447: Bugfix in AllArcLookUp<>
|
||
|
#448: Bugfix in adaptor_test.cc
|
||
|
#449: Fix clang compilation warnings and errors
|
||
|
#440: Fix a bug + remove redundant typedefs in dimacs-solver
|
||
|
#453: Avoid GCC 4.7 compiler warnings
|
||
|
#445: Fix missing initialization in CplexEnv::CplexEnv()
|
||
|
#428: Add missing lemon/lemon.pc.cmake to the release tarball
|
||
|
#393: Create and install lemon.pc
|
||
|
#429: Fix VS warnings
|
||
|
#430: Fix LpBase::Constr two-side limit bug
|
||
|
#392: Bug fix in Dfs::start(s,t)
|
||
|
#414: Fix wrong initialization in Preflow
|
||
|
#418: Better Win CodeBlock/MinGW support
|
||
|
#419: Build environment improvements
|
||
|
- Build of mip_test and lp_test precede the running of the tests
|
||
|
- Also search for coin libs under ${COIN_ROOT_DIR}/lib/coin
|
||
|
- Do not look for COIN_VOL libraries
|
||
|
#382: Allow lgf file without Arc maps
|
||
|
#417: Bug fix in CostScaling
|
||
|
#366: Fix Pred[Matrix]MapPath::empty()
|
||
|
#371: Bug fix in (di)graphCopy()
|
||
|
The target graph is cleared before adding nodes and arcs/edges.
|
||
|
#364: Add missing UndirectedTags
|
||
|
#368: Fix the usage of std::numeric_limits<>::min() in Network Simplex
|
||
|
#372: Fix a critical bug in preflow
|
||
|
#461: Bugfix in assert.h
|
||
|
#470: Fix compilation issues related to various gcc versions
|
||
|
#446: Fix #define indicating CPLEX availability
|
||
|
#294: Add explicit namespace to
|
||
|
ignore_unused_variable_warning() usages
|
||
|
#420: Bugfix in IterableValueMap
|
||
|
#439: Bugfix in biNodeConnected()
|
||
|
|
||
|
|
||
|
2010-03-19 Version 1.2 released
|
||
|
|
||
|
This is major feature release
|
||
|
|
||
|
* New algorithms
|
||
|
* Bellman-Ford algorithm (#51)
|
||
|
* Minimum mean cycle algorithms (#179)
|
||
|
* Karp, Hartman-Orlin and Howard algorithms
|
||
|
* New minimum cost flow algorithms (#180)
|
||
|
* Cost Scaling algorithms
|
||
|
* Capacity Scaling algorithm
|
||
|
* Cycle-Canceling algorithms
|
||
|
* Planarity related algorithms (#62)
|
||
|
* Planarity checking algorithm
|
||
|
* Planar embedding algorithm
|
||
|
* Schnyder's planar drawing algorithm
|
||
|
* Coloring planar graphs with five or six colors
|
||
|
* Fractional matching algorithms (#314)
|
||
|
* New data structures
|
||
|
* StaticDigraph structure (#68)
|
||
|
* Several new priority queue structures (#50, #301)
|
||
|
* Fibonacci, Radix, Bucket, Pairing, Binomial
|
||
|
D-ary and fourary heaps (#301)
|
||
|
* Iterable map structures (#73)
|
||
|
* Other new tools and functionality
|
||
|
* Map utility functions (#320)
|
||
|
* Reserve functions are added to ListGraph and SmartGraph (#311)
|
||
|
* A resize() function is added to HypercubeGraph (#311)
|
||
|
* A count() function is added to CrossRefMap (#302)
|
||
|
* Support for multiple targets in Suurballe using fullInit() (#181)
|
||
|
* Traits class and named parameters for Suurballe (#323)
|
||
|
* Separate reset() and resetParams() functions in NetworkSimplex
|
||
|
to handle graph changes (#327)
|
||
|
* tolerance() functions are added to HaoOrlin (#306)
|
||
|
* Implementation improvements
|
||
|
* Improvements in weighted matching algorithms (#314)
|
||
|
* Jumpstart initialization
|
||
|
* ArcIt iteration is based on out-arc lists instead of in-arc lists
|
||
|
in ListDigraph (#311)
|
||
|
* Faster add row operation in CbcMip (#203)
|
||
|
* Better implementation for split() in ListDigraph (#311)
|
||
|
* ArgParser can also throw exception instead of exit(1) (#332)
|
||
|
* Miscellaneous
|
||
|
* A simple interactive bootstrap script
|
||
|
* Doc improvements (#62,#180,#299,#302,#303,#304,#307,#311,#331,#315,
|
||
|
#316,#319)
|
||
|
* BibTeX references in the doc (#184)
|
||
|
* Optionally use valgrind when running tests
|
||
|
* Also check ReferenceMapTag in concept checks (#312)
|
||
|
* dimacs-solver uses long long type by default.
|
||
|
* Several bugfixes (compared to release 1.1):
|
||
|
#295: Suppress MSVC warnings using pragmas
|
||
|
----: Various CMAKE related improvements
|
||
|
* Remove duplications from doc/CMakeLists.txt
|
||
|
* Rename documentation install folder from 'docs' to 'html'
|
||
|
* Add tools/CMakeLists.txt to the tarball
|
||
|
* Generate and install LEMONConfig.cmake
|
||
|
* Change the label of the html project in Visual Studio
|
||
|
* Fix the check for the 'long long' type
|
||
|
* Put the version string into config.h
|
||
|
* Minor CMake improvements
|
||
|
* Set the version to 'hg-tip' if everything fails
|
||
|
#311: Add missing 'explicit' keywords
|
||
|
#302: Fix the implementation and doc of CrossRefMap
|
||
|
#308: Remove duplicate list_graph.h entry from source list
|
||
|
#307: Bugfix in Preflow and Circulation
|
||
|
#305: Bugfix and extension in the rename script
|
||
|
#312: Also check ReferenceMapTag in concept checks
|
||
|
#250: Bugfix in pathSource() and pathTarget()
|
||
|
#321: Use pathCopy(from,to) instead of copyPath(to,from)
|
||
|
#322: Distribure LEMONConfig.cmake.in
|
||
|
#330: Bug fix in map_extender.h
|
||
|
#336: Fix the date field comment of graphToEps() output
|
||
|
#323: Bug fix in Suurballe
|
||
|
#335: Fix clear() function in ExtendFindEnum
|
||
|
#337: Use void* as the LPX object pointer
|
||
|
#317: Fix (and improve) error message in mip_test.cc
|
||
|
Remove unnecessary OsiCbc dependency
|
||
|
#356: Allow multiple executions of weighted matching algorithms (#356)
|
||
|
|
||
|
2009-05-13 Version 1.1 released
|
||
|
|
||
|
This is the second stable release of the 1.x series. It
|
||
|
features a better coverage of the tools available in the 0.x
|
||
|
series, a thoroughly reworked LP/MIP interface plus various
|
||
|
improvements in the existing tools.
|
||
|
|
||
|
* Much improved M$ Windows support
|
||
|
* Various improvements in the CMAKE build system
|
||
|
* Compilation warnings are fixed/suppressed
|
||
|
* Support IBM xlC compiler
|
||
|
* New algorithms
|
||
|
* Connectivity related algorithms (#61)
|
||
|
* Euler walks (#65)
|
||
|
* Preflow push-relabel max. flow algorithm (#176)
|
||
|
* Circulation algorithm (push-relabel based) (#175)
|
||
|
* Suurballe algorithm (#47)
|
||
|
* Gomory-Hu algorithm (#66)
|
||
|
* Hao-Orlin algorithm (#58)
|
||
|
* Edmond's maximum cardinality and weighted matching algorithms
|
||
|
in general graphs (#48,#265)
|
||
|
* Minimum cost arborescence/branching (#60)
|
||
|
* Network Simplex min. cost flow algorithm (#234)
|
||
|
* New data structures
|
||
|
* Full graph structure (#57)
|
||
|
* Grid graph structure (#57)
|
||
|
* Hypercube graph structure (#57)
|
||
|
* Graph adaptors (#67)
|
||
|
* ArcSet and EdgeSet classes (#67)
|
||
|
* Elevator class (#174)
|
||
|
* Other new tools
|
||
|
* LP/MIP interface (#44)
|
||
|
* Support for GLPK, CPLEX, Soplex, COIN-OR CLP and CBC
|
||
|
* Reader for the Nauty file format (#55)
|
||
|
* DIMACS readers (#167)
|
||
|
* Radix sort algorithms (#72)
|
||
|
* RangeIdMap and CrossRefMap (#160)
|
||
|
* New command line tools
|
||
|
* DIMACS to LGF converter (#182)
|
||
|
* lgf-gen - a graph generator (#45)
|
||
|
* DIMACS solver utility (#226)
|
||
|
* Other code improvements
|
||
|
* Lognormal distribution added to Random (#102)
|
||
|
* Better (i.e. O(1) time) item counting in SmartGraph (#3)
|
||
|
* The standard maps of graphs are guaranteed to be
|
||
|
reference maps (#190)
|
||
|
* Miscellaneous
|
||
|
* Various doc improvements
|
||
|
* Improved 0.x -> 1.x converter script
|
||
|
|
||
|
* Several bugfixes (compared to release 1.0):
|
||
|
#170: Bugfix SmartDigraph::split()
|
||
|
#171: Bugfix in SmartGraph::restoreSnapshot()
|
||
|
#172: Extended test cases for graphs and digraphs
|
||
|
#173: Bugfix in Random
|
||
|
* operator()s always return a double now
|
||
|
* the faulty real<Num>(Num) and real<Num>(Num,Num)
|
||
|
have been removed
|
||
|
#187: Remove DijkstraWidestPathOperationTraits
|
||
|
#61: Bugfix in DfsVisit
|
||
|
#193: Bugfix in GraphReader::skipSection()
|
||
|
#195: Bugfix in ConEdgeIt()
|
||
|
#197: Bugfix in heap unionfind
|
||
|
* This bug affects Edmond's general matching algorithms
|
||
|
#207: Fix 'make install' without 'make html' using CMAKE
|
||
|
#208: Suppress or fix VS2008 compilation warnings
|
||
|
----: Update the LEMON icon
|
||
|
----: Enable the component-based installer
|
||
|
(in installers made by CPACK)
|
||
|
----: Set the proper version for CMAKE in the tarballs
|
||
|
(made by autotools)
|
||
|
----: Minor clarification in the LICENSE file
|
||
|
----: Add missing unistd.h include to time_measure.h
|
||
|
#204: Compilation bug fixed in graph_to_eps.h with VS2005
|
||
|
#214,#215: windows.h should never be included by LEMON headers
|
||
|
#230: Build systems check the availability of 'long long' type
|
||
|
#229: Default implementation of Tolerance<> is used for integer types
|
||
|
#211,#212: Various fixes for compiling on AIX
|
||
|
----: Improvements in CMAKE config
|
||
|
- docs is installed in share/doc/
|
||
|
- detects newer versions of Ghostscript
|
||
|
#239: Fix missing 'inline' specifier in time_measure.h
|
||
|
#274,#280: Install lemon/config.h
|
||
|
#275: Prefix macro names with LEMON_ in lemon/config.h
|
||
|
----: Small script for making the release tarballs added
|
||
|
----: Minor improvement in unify-sources.sh (a76f55d7d397)
|
||
|
|
||
|
2009-03-27 LEMON joins to the COIN-OR initiative
|
||
|
|
||
|
COIN-OR (Computational Infrastructure for Operations Research,
|
||
|
http://www.coin-or.org) project is an initiative to spur the
|
||
|
development of open-source software for the operations research
|
||
|
community.
|
||
|
|
||
|
2008-10-13 Version 1.0 released
|
||
|
|
||
|
This is the first stable release of LEMON. Compared to the 0.x
|
||
|
release series, it features a considerably smaller but more
|
||
|
matured set of tools. The API has also completely revised and
|
||
|
changed in several places.
|
||
|
|
||
|
* The major name changes compared to the 0.x series (see the
|
||
|
Migration Guide in the doc for more details)
|
||
|
* Graph -> Digraph, UGraph -> Graph
|
||
|
* Edge -> Arc, UEdge -> Edge
|
||
|
* source(UEdge)/target(UEdge) -> u(Edge)/v(Edge)
|
||
|
* Other improvements
|
||
|
* Better documentation
|
||
|
* Reviewed and cleaned up codebase
|
||
|
* CMake based build system (along with the autotools based one)
|
||
|
* Contents of the library (ported from 0.x)
|
||
|
* Algorithms
|
||
|
* breadth-first search (bfs.h)
|
||
|
* depth-first search (dfs.h)
|
||
|
* Dijkstra's algorithm (dijkstra.h)
|
||
|
* Kruskal's algorithm (kruskal.h)
|
||
|
* Data structures
|
||
|
* graph data structures (list_graph.h, smart_graph.h)
|
||
|
* path data structures (path.h)
|
||
|
* binary heap data structure (bin_heap.h)
|
||
|
* union-find data structures (unionfind.h)
|
||
|
* miscellaneous property maps (maps.h)
|
||
|
* two dimensional vector and bounding box (dim2.h)
|
||
|
* Concepts
|
||
|
* graph structure concepts (concepts/digraph.h, concepts/graph.h,
|
||
|
concepts/graph_components.h)
|
||
|
* concepts for other structures (concepts/heap.h, concepts/maps.h,
|
||
|
concepts/path.h)
|
||
|
* Tools
|
||
|
* Mersenne twister random number generator (random.h)
|
||
|
* tools for measuring cpu and wall clock time (time_measure.h)
|
||
|
* tools for counting steps and events (counter.h)
|
||
|
* tool for parsing command line arguments (arg_parser.h)
|
||
|
* tool for visualizing graphs (graph_to_eps.h)
|
||
|
* tools for reading and writing data in LEMON Graph Format
|
||
|
(lgf_reader.h, lgf_writer.h)
|
||
|
* tools to handle the anomalies of calculations with
|
||
|
floating point numbers (tolerance.h)
|
||
|
* tools to manage RGB colors (color.h)
|
||
|
* Infrastructure
|
||
|
* extended assertion handling (assert.h)
|
||
|
* exception classes and error handling (error.h)
|
||
|
* concept checking (concept_check.h)
|
||
|
* commonly used mathematical constants (math.h)
|