NEWS
author Peter Kovacs <kpeter@inf.elte.hu>
Tue, 15 Mar 2011 19:32:21 +0100
changeset 936 ddd3c0d3d9bf
parent 665 e652b6f9a29f
child 1096 c08d0f04c117
permissions -rw-r--r--
Implement the scaling Price Refinement heuristic in CostScaling (#417)
instead of Early Termination.

These two heuristics are similar, but the newer one is faster
and not only makes it possible to skip some epsilon phases, but
it can improve the performance of the other phases, as well.
alpar@881
     1
2010-03-19 Version 1.2 released
alpar@881
     2
alpar@881
     3
        This is major feature release
alpar@881
     4
alpar@881
     5
        * New algorithms
alpar@881
     6
          * Bellman-Ford algorithm (#51)
alpar@881
     7
          * Minimum mean cycle algorithms (#179)
alpar@881
     8
            * Karp, Hartman-Orlin and Howard algorithms
alpar@881
     9
          * New minimum cost flow algorithms (#180)
alpar@881
    10
            * Cost Scaling algorithms
alpar@881
    11
            * Capacity Scaling algorithm
alpar@881
    12
            * Cycle-Canceling algorithms
alpar@881
    13
          * Planarity related algorithms (#62)
alpar@881
    14
            * Planarity checking algorithm
alpar@881
    15
            * Planar embedding algorithm
alpar@881
    16
            * Schnyder's planar drawing algorithm
alpar@881
    17
            * Coloring planar graphs with five or six colors
alpar@881
    18
          * Fractional matching algorithms (#314)
alpar@881
    19
        * New data structures
alpar@881
    20
          * StaticDigraph structure (#68)
alpar@881
    21
          * Several new priority queue structures (#50, #301)
alpar@881
    22
            * Fibonacci, Radix, Bucket, Pairing, Binomial
alpar@881
    23
              D-ary and fourary heaps (#301)
alpar@881
    24
          * Iterable map structures (#73)
alpar@881
    25
        * Other new tools and functionality
alpar@881
    26
          * Map utility functions (#320)
alpar@881
    27
          * Reserve functions are added to ListGraph and SmartGraph (#311)
alpar@881
    28
          * A resize() function is added to HypercubeGraph (#311)
alpar@881
    29
          * A count() function is added to CrossRefMap (#302)
alpar@881
    30
          * Support for multiple targets in Suurballe using fullInit() (#181)
alpar@881
    31
          * Traits class and named parameters for Suurballe (#323)
alpar@881
    32
          * Separate reset() and resetParams() functions in NetworkSimplex
alpar@881
    33
            to handle graph changes (#327)
alpar@881
    34
          * tolerance() functions are added to HaoOrlin (#306)
alpar@881
    35
        * Implementation improvements
alpar@881
    36
          * Improvements in weighted matching algorithms (#314)
alpar@881
    37
            * Jumpstart initialization
alpar@881
    38
          * ArcIt iteration is based on out-arc lists instead of in-arc lists
alpar@881
    39
            in ListDigraph (#311)
alpar@881
    40
          * Faster add row operation in CbcMip (#203)
alpar@881
    41
          * Better implementation for split() in ListDigraph (#311)
alpar@881
    42
          * ArgParser can also throw exception instead of exit(1) (#332)
alpar@881
    43
        * Miscellaneous
alpar@881
    44
          * A simple interactive bootstrap script
alpar@881
    45
          * Doc improvements (#62,#180,#299,#302,#303,#304,#307,#311,#331,#315,
alpar@881
    46
                #316,#319)
alpar@881
    47
            * BibTeX references in the doc (#184)
alpar@881
    48
          * Optionally use valgrind when running tests
alpar@881
    49
          * Also check ReferenceMapTag in concept checks (#312)
alpar@881
    50
          * dimacs-solver uses long long type by default.
alpar@881
    51
        * Several bugfixes (compared to release 1.1):
alpar@881
    52
          #295: Suppress MSVC warnings using pragmas
alpar@881
    53
          ----: Various CMAKE related improvements
alpar@881
    54
                * Remove duplications from doc/CMakeLists.txt
alpar@881
    55
                * Rename documentation install folder from 'docs' to 'html'
alpar@881
    56
                * Add tools/CMakeLists.txt to the tarball
alpar@881
    57
                * Generate and install LEMONConfig.cmake
alpar@881
    58
                * Change the label of the html project in Visual Studio
alpar@881
    59
                * Fix the check for the 'long long' type
alpar@881
    60
                * Put the version string into config.h
alpar@881
    61
                * Minor CMake improvements
alpar@881
    62
                * Set the version to 'hg-tip' if everything fails
alpar@881
    63
          #311: Add missing 'explicit' keywords
alpar@881
    64
          #302: Fix the implementation and doc of CrossRefMap
alpar@881
    65
          #308: Remove duplicate list_graph.h entry from source list
alpar@881
    66
          #307: Bugfix in Preflow and Circulation
alpar@881
    67
          #305: Bugfix and extension in the rename script
alpar@881
    68
          #312: Also check ReferenceMapTag in concept checks
alpar@881
    69
          #250: Bugfix in pathSource() and pathTarget()
alpar@881
    70
          #321: Use pathCopy(from,to) instead of copyPath(to,from)
alpar@881
    71
          #322: Distribure LEMONConfig.cmake.in
alpar@881
    72
          #330: Bug fix in map_extender.h
alpar@881
    73
          #336: Fix the date field comment of graphToEps() output
alpar@881
    74
          #323: Bug fix in Suurballe
alpar@881
    75
          #335: Fix clear() function in ExtendFindEnum
alpar@881
    76
          #337: Use void* as the LPX object pointer
alpar@881
    77
          #317: Fix (and improve) error message in mip_test.cc
alpar@881
    78
                Remove unnecessary OsiCbc dependency
alpar@881
    79
          #356: Allow multiple executions of weighted matching algorithms (#356)
alpar@881
    80
alpar@665
    81
2009-05-13 Version 1.1 released
alpar@665
    82
alpar@665
    83
        This is the second stable release of the 1.x series. It
alpar@665
    84
        features a better coverage of the tools available in the 0.x
alpar@665
    85
        series, a thoroughly reworked LP/MIP interface plus various
alpar@665
    86
        improvements in the existing tools.
alpar@665
    87
alpar@665
    88
        * Much improved M$ Windows support
alpar@665
    89
          * Various improvements in the CMAKE build system
alpar@665
    90
          * Compilation warnings are fixed/suppressed
alpar@665
    91
        * Support IBM xlC compiler
alpar@665
    92
        * New algorithms
alpar@665
    93
          * Connectivity related algorithms (#61)
alpar@665
    94
          * Euler walks (#65)
alpar@665
    95
          * Preflow push-relabel max. flow algorithm (#176)
alpar@665
    96
          * Circulation algorithm (push-relabel based) (#175)
alpar@665
    97
          * Suurballe algorithm (#47)
alpar@665
    98
          * Gomory-Hu algorithm (#66)
alpar@665
    99
          * Hao-Orlin algorithm (#58)
alpar@665
   100
          * Edmond's maximum cardinality and weighted matching algorithms
alpar@665
   101
            in general graphs (#48,#265)
alpar@665
   102
          * Minimum cost arborescence/branching (#60)
alpar@665
   103
          * Network Simplex min. cost flow algorithm (#234)
alpar@665
   104
        * New data structures
alpar@665
   105
          * Full graph structure (#57)
alpar@665
   106
          * Grid graph structure (#57)
alpar@665
   107
          * Hypercube graph structure (#57)
alpar@665
   108
          * Graph adaptors (#67)
alpar@665
   109
          * ArcSet and EdgeSet classes (#67)
alpar@665
   110
          * Elevator class (#174)
alpar@665
   111
        * Other new tools
alpar@665
   112
          * LP/MIP interface (#44)
alpar@665
   113
            * Support for GLPK, CPLEX, Soplex, COIN-OR CLP and CBC
alpar@665
   114
          * Reader for the Nauty file format (#55)
alpar@665
   115
          * DIMACS readers (#167)
alpar@665
   116
          * Radix sort algorithms (#72)
alpar@665
   117
          * RangeIdMap and CrossRefMap (#160)
alpar@665
   118
        * New command line tools
alpar@665
   119
          * DIMACS to LGF converter (#182)
alpar@665
   120
          * lgf-gen - a graph generator (#45)
alpar@665
   121
          * DIMACS solver utility (#226)
alpar@665
   122
        * Other code improvements
alpar@665
   123
          * Lognormal distribution added to Random (#102)
alpar@665
   124
          * Better (i.e. O(1) time) item counting in SmartGraph (#3)
alpar@665
   125
          * The standard maps of graphs are guaranteed to be
alpar@665
   126
            reference maps (#190)
alpar@665
   127
        * Miscellaneous
alpar@665
   128
          * Various doc improvements
alpar@665
   129
          * Improved 0.x -> 1.x converter script
alpar@665
   130
alpar@665
   131
        * Several bugfixes (compared to release 1.0):
alpar@665
   132
          #170: Bugfix SmartDigraph::split()
alpar@665
   133
          #171: Bugfix in SmartGraph::restoreSnapshot()
alpar@665
   134
          #172: Extended test cases for graphs and digraphs
alpar@665
   135
          #173: Bugfix in Random
alpar@665
   136
                * operator()s always return a double now
alpar@665
   137
                * the faulty real<Num>(Num) and real<Num>(Num,Num)
alpar@665
   138
                  have been removed
alpar@665
   139
          #187: Remove DijkstraWidestPathOperationTraits
alpar@665
   140
          #61:  Bugfix in DfsVisit
alpar@665
   141
          #193: Bugfix in GraphReader::skipSection()
alpar@665
   142
          #195: Bugfix in ConEdgeIt()
alpar@665
   143
          #197: Bugfix in heap unionfind
alpar@665
   144
                * This bug affects Edmond's general matching algorithms
alpar@665
   145
          #207: Fix 'make install' without 'make html' using CMAKE
alpar@665
   146
          #208: Suppress or fix VS2008 compilation warnings
alpar@665
   147
          ----: Update the LEMON icon
alpar@665
   148
          ----: Enable the component-based installer
alpar@665
   149
                (in installers made by CPACK)
alpar@665
   150
          ----: Set the proper version for CMAKE in the tarballs
alpar@665
   151
                (made by autotools)
alpar@665
   152
          ----: Minor clarification in the LICENSE file
alpar@665
   153
          ----: Add missing unistd.h include to time_measure.h
alpar@665
   154
          #204: Compilation bug fixed in graph_to_eps.h with VS2005
alpar@881
   155
          #214,#215: windows.h should never be included by LEMON headers
alpar@665
   156
          #230: Build systems check the availability of 'long long' type
alpar@665
   157
          #229: Default implementation of Tolerance<> is used for integer types
alpar@665
   158
          #211,#212: Various fixes for compiling on AIX
alpar@665
   159
          ----: Improvements in CMAKE config
alpar@665
   160
                - docs is installed in share/doc/
alpar@665
   161
                - detects newer versions of Ghostscript
alpar@665
   162
          #239: Fix missing 'inline' specifier in time_measure.h
alpar@665
   163
          #274,#280: Install lemon/config.h
alpar@665
   164
          #275: Prefix macro names with LEMON_ in lemon/config.h
alpar@665
   165
          ----: Small script for making the release tarballs added
alpar@665
   166
          ----: Minor improvement in unify-sources.sh (a76f55d7d397)
alpar@665
   167
alpar@496
   168
2009-03-27 LEMON joins to the COIN-OR initiative
alpar@496
   169
alpar@496
   170
        COIN-OR (Computational Infrastructure for Operations Research,
alpar@496
   171
        http://www.coin-or.org) project is an initiative to spur the
alpar@496
   172
        development of open-source software for the operations research
alpar@496
   173
        community.
alpar@496
   174
alpar@322
   175
2008-10-13 Version 1.0 released
alpar@262
   176
alpar@881
   177
        This is the first stable release of LEMON. Compared to the 0.x
alpar@881
   178
        release series, it features a considerably smaller but more
alpar@881
   179
        matured set of tools. The API has also completely revised and
alpar@881
   180
        changed in several places.
alpar@262
   181
alpar@881
   182
        * The major name changes compared to the 0.x series (see the
alpar@322
   183
          Migration Guide in the doc for more details)
alpar@262
   184
          * Graph -> Digraph, UGraph -> Graph
alpar@262
   185
          * Edge -> Arc, UEdge -> Edge
alpar@881
   186
          * source(UEdge)/target(UEdge) -> u(Edge)/v(Edge)
alpar@881
   187
        * Other improvements
alpar@881
   188
          * Better documentation
alpar@881
   189
          * Reviewed and cleaned up codebase
alpar@881
   190
          * CMake based build system (along with the autotools based one)
alpar@881
   191
        * Contents of the library (ported from 0.x)
alpar@881
   192
          * Algorithms
alpar@881
   193
            * breadth-first search (bfs.h)
alpar@881
   194
            * depth-first search (dfs.h)
alpar@881
   195
            * Dijkstra's algorithm (dijkstra.h)
alpar@881
   196
            * Kruskal's algorithm (kruskal.h)
alpar@881
   197
          * Data structures
alpar@881
   198
            * graph data structures (list_graph.h, smart_graph.h)
alpar@881
   199
            * path data structures (path.h)
alpar@881
   200
            * binary heap data structure (bin_heap.h)
alpar@881
   201
            * union-find data structures (unionfind.h)
alpar@881
   202
            * miscellaneous property maps (maps.h)
alpar@881
   203
            * two dimensional vector and bounding box (dim2.h)
alpar@262
   204
          * Concepts
alpar@881
   205
            * graph structure concepts (concepts/digraph.h, concepts/graph.h,
alpar@262
   206
              concepts/graph_components.h)
alpar@881
   207
            * concepts for other structures (concepts/heap.h, concepts/maps.h,
alpar@881
   208
              concepts/path.h)
alpar@881
   209
          * Tools
alpar@881
   210
            * Mersenne twister random number generator (random.h)
alpar@881
   211
            * tools for measuring cpu and wall clock time (time_measure.h)
alpar@881
   212
            * tools for counting steps and events (counter.h)
alpar@881
   213
            * tool for parsing command line arguments (arg_parser.h)
alpar@881
   214
            * tool for visualizing graphs (graph_to_eps.h)
alpar@881
   215
            * tools for reading and writing data in LEMON Graph Format
alpar@262
   216
              (lgf_reader.h, lgf_writer.h)
alpar@262
   217
            * tools to handle the anomalies of calculations with
alpar@881
   218
              floating point numbers (tolerance.h)
alpar@262
   219
            * tools to manage RGB colors (color.h)
alpar@881
   220
          * Infrastructure
alpar@881
   221
            * extended assertion handling (assert.h)
alpar@881
   222
            * exception classes and error handling (error.h)
alpar@881
   223
            * concept checking (concept_check.h)
alpar@881
   224
            * commonly used mathematical constants (math.h)