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) and real(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)