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