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