NEWS
author Peter Kovacs <kpeter@inf.elte.hu>
Thu, 12 Nov 2009 23:26:13 +0100
changeset 872 fa6f37d7a25b
parent 534 4f3ea453eb90
child 853 78b7231f0b2e
child 962 87569cb5734d
permissions -rw-r--r--
Entirely rework CapacityScaling (#180)

- Use the new interface similarly to NetworkSimplex.
- Rework the implementation using an efficient internal structure
for handling the residual network. This improvement made the
code much faster (up to 2-5 times faster on large graphs).
- Handle GEQ supply type (LEQ is not supported).
- Handle negative costs for arcs of finite capacity.
(Note that this algorithm cannot handle arcs of negative cost
and infinite upper bound, thus it returns UNBOUNDED if such
an arc exists.)
- Extend the documentation.
     1 2009-05-13 Version 1.1 released
     2 
     3         This is the second stable release of the 1.x series. It
     4         features a better coverage of the tools available in the 0.x
     5         series, a thoroughly reworked LP/MIP interface plus various
     6         improvements in the existing tools.
     7 
     8         * Much improved M$ Windows support
     9           * Various improvements in the CMAKE build system
    10           * Compilation warnings are fixed/suppressed
    11         * Support IBM xlC compiler
    12         * New algorithms
    13           * Connectivity related algorithms (#61)
    14           * Euler walks (#65)
    15           * Preflow push-relabel max. flow algorithm (#176)
    16           * Circulation algorithm (push-relabel based) (#175)
    17           * Suurballe algorithm (#47)
    18           * Gomory-Hu algorithm (#66)
    19           * Hao-Orlin algorithm (#58)
    20           * Edmond's maximum cardinality and weighted matching algorithms
    21             in general graphs (#48,#265)
    22           * Minimum cost arborescence/branching (#60)
    23           * Network Simplex min. cost flow algorithm (#234)
    24         * New data structures
    25           * Full graph structure (#57)
    26           * Grid graph structure (#57)
    27           * Hypercube graph structure (#57)
    28           * Graph adaptors (#67)
    29           * ArcSet and EdgeSet classes (#67)
    30           * Elevator class (#174)
    31         * Other new tools
    32           * LP/MIP interface (#44)
    33             * Support for GLPK, CPLEX, Soplex, COIN-OR CLP and CBC
    34           * Reader for the Nauty file format (#55)
    35           * DIMACS readers (#167)
    36           * Radix sort algorithms (#72)
    37           * RangeIdMap and CrossRefMap (#160)
    38         * New command line tools
    39           * DIMACS to LGF converter (#182)
    40           * lgf-gen - a graph generator (#45)
    41           * DIMACS solver utility (#226)
    42         * Other code improvements
    43           * Lognormal distribution added to Random (#102)
    44           * Better (i.e. O(1) time) item counting in SmartGraph (#3)
    45           * The standard maps of graphs are guaranteed to be
    46             reference maps (#190)
    47         * Miscellaneous
    48           * Various doc improvements
    49           * Improved 0.x -> 1.x converter script
    50 
    51         * Several bugfixes (compared to release 1.0):
    52           #170: Bugfix SmartDigraph::split()
    53           #171: Bugfix in SmartGraph::restoreSnapshot()
    54           #172: Extended test cases for graphs and digraphs
    55           #173: Bugfix in Random
    56                 * operator()s always return a double now
    57                 * the faulty real<Num>(Num) and real<Num>(Num,Num)
    58                   have been removed
    59           #187: Remove DijkstraWidestPathOperationTraits
    60           #61:  Bugfix in DfsVisit
    61           #193: Bugfix in GraphReader::skipSection()
    62           #195: Bugfix in ConEdgeIt()
    63           #197: Bugfix in heap unionfind
    64                 * This bug affects Edmond's general matching algorithms
    65           #207: Fix 'make install' without 'make html' using CMAKE
    66           #208: Suppress or fix VS2008 compilation warnings
    67           ----: Update the LEMON icon
    68           ----: Enable the component-based installer
    69                 (in installers made by CPACK)
    70           ----: Set the proper version for CMAKE in the tarballs
    71                 (made by autotools)
    72           ----: Minor clarification in the LICENSE file
    73           ----: Add missing unistd.h include to time_measure.h
    74           #204: Compilation bug fixed in graph_to_eps.h with VS2005
    75           #214,#215: windows.h should never be included by lemon headers
    76           #230: Build systems check the availability of 'long long' type
    77           #229: Default implementation of Tolerance<> is used for integer types
    78           #211,#212: Various fixes for compiling on AIX
    79           ----: Improvements in CMAKE config
    80                 - docs is installed in share/doc/
    81                 - detects newer versions of Ghostscript
    82           #239: Fix missing 'inline' specifier in time_measure.h
    83           #274,#280: Install lemon/config.h
    84           #275: Prefix macro names with LEMON_ in lemon/config.h
    85           ----: Small script for making the release tarballs added
    86           ----: Minor improvement in unify-sources.sh (a76f55d7d397)
    87 
    88 2009-03-27 LEMON joins to the COIN-OR initiative
    89 
    90         COIN-OR (Computational Infrastructure for Operations Research,
    91         http://www.coin-or.org) project is an initiative to spur the
    92         development of open-source software for the operations research
    93         community.
    94 
    95 2008-10-13 Version 1.0 released
    96 
    97 	This is the first stable release of LEMON. Compared to the 0.x
    98 	release series, it features a considerably smaller but more
    99 	matured set of tools. The API has also completely revised and
   100 	changed in several places.
   101 
   102 	* The major name changes compared to the 0.x series (see the
   103           Migration Guide in the doc for more details)
   104           * Graph -> Digraph, UGraph -> Graph
   105           * Edge -> Arc, UEdge -> Edge
   106 	  * source(UEdge)/target(UEdge) -> u(Edge)/v(Edge)
   107 	* Other improvements
   108 	  * Better documentation
   109 	  * Reviewed and cleaned up codebase
   110 	  * CMake based build system (along with the autotools based one)
   111 	* Contents of the library (ported from 0.x)
   112 	  * Algorithms
   113        	    * breadth-first search (bfs.h)
   114        	    * depth-first search (dfs.h)
   115        	    * Dijkstra's algorithm (dijkstra.h)
   116        	    * Kruskal's algorithm (kruskal.h)
   117     	  * Data structures
   118        	    * graph data structures (list_graph.h, smart_graph.h)
   119        	    * path data structures (path.h)
   120        	    * binary heap data structure (bin_heap.h)
   121        	    * union-find data structures (unionfind.h)
   122        	    * miscellaneous property maps (maps.h)
   123        	    * two dimensional vector and bounding box (dim2.h)
   124           * Concepts
   125        	    * graph structure concepts (concepts/digraph.h, concepts/graph.h,
   126               concepts/graph_components.h)
   127        	    * concepts for other structures (concepts/heap.h, concepts/maps.h,
   128 	      concepts/path.h)
   129     	  * Tools
   130        	    * Mersenne twister random number generator (random.h)
   131        	    * tools for measuring cpu and wall clock time (time_measure.h)
   132        	    * tools for counting steps and events (counter.h)
   133        	    * tool for parsing command line arguments (arg_parser.h)
   134        	    * tool for visualizing graphs (graph_to_eps.h)
   135        	    * tools for reading and writing data in LEMON Graph Format
   136               (lgf_reader.h, lgf_writer.h)
   137             * tools to handle the anomalies of calculations with
   138 	      floating point numbers (tolerance.h)
   139             * tools to manage RGB colors (color.h)
   140     	  * Infrastructure
   141        	    * extended assertion handling (assert.h)
   142        	    * exception classes and error handling (error.h)
   143       	    * concept checking (concept_check.h)
   144        	    * commonly used mathematical constants (math.h)