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