NEWS
author Alpar Juttner <alpar@cs.elte.hu>
Thu, 08 Oct 2015 10:03:29 +0200
branch1.3
changeset 1155 a7d841273c68
parent 1096 c08d0f04c117
permissions -rw-r--r--
Merge bugfix #600 to branch 1.3
alpar@1132
     1
2014-07-07 Version 1.3.1 released
alpar@1132
     2
alpar@1132
     3
        Bugfix release.
alpar@1132
     4
alpar@1132
     5
        #484: Require CMAKE 2.8
alpar@1132
     6
        #471, #472, #480: Various clang compatibility fixes
alpar@1132
     7
        #481, #482: Fix shared lib build and versioning
alpar@1132
     8
        #476: Fix invalid map query in NearestNeighborTsp
alpar@1132
     9
        #478: Bugfix in debug checking and lower bound handling
alpar@1132
    10
              in min cost flow algorithms
alpar@1132
    11
        #479, #465: Bugfix in default LP/MIP backend settings
alpar@1132
    12
        #476: Bugfix in tsp_test
alpar@1132
    13
        #487: Add missing include header and std:: namespace spec.
alpar@1132
    14
        #474: Fix division by zero error in NetworkSimplex
alpar@1132
    15
alpar@1096
    16
2013-08-10 Version 1.3 released
alpar@1096
    17
alpar@1096
    18
        This is major feature release
alpar@1096
    19
alpar@1096
    20
        * New data structures
alpar@1096
    21
alpar@1096
    22
          #69 : Bipartite graph concepts and implementations
alpar@1096
    23
alpar@1096
    24
        * New algorithms
alpar@1096
    25
alpar@1096
    26
          #177: Port Edmonds-Karp algorithm
alpar@1096
    27
          #380, #405: Heuristic algorithm for the max clique problem
alpar@1096
    28
          #386: Heuristic algorithms for symmetric TSP
alpar@1096
    29
          ----: Nagamochi-Ibaraki algorithm [5087694945e4]
alpar@1096
    30
          #397, #56: Max. cardinality search
alpar@1096
    31
alpar@1096
    32
        * Other new features
alpar@1096
    33
alpar@1096
    34
          #223: Thread safe graph and graph map implementations
alpar@1096
    35
          #442: Different TimeStamp print formats
alpar@1096
    36
          #457: File export functionality to LpBase
alpar@1096
    37
          #362: Bidirectional iterator support for radixSort()
alpar@1096
    38
alpar@1096
    39
        * Implementation improvements
alpar@1096
    40
alpar@1096
    41
          ----: Network Simplex
alpar@1096
    42
                #391: Better update process, pivot rule and arc mixing
alpar@1096
    43
                #435: Improved Altering List pivot rule
alpar@1096
    44
          #417: Various fine tunings in CostScaling
alpar@1096
    45
          #438: Optional iteration limit in HowardMmc
alpar@1096
    46
          #436: Ensure strongly polynomial running time for CycleCanceling
alpar@1096
    47
                while keeping the same performance
alpar@1096
    48
          ----: Make the CBC interface be compatible with latest CBC releases
alpar@1096
    49
                [ee581a0ecfbf]
alpar@1096
    50
alpar@1096
    51
        * CMAKE has become the default build environment (#434)
alpar@1096
    52
alpar@1096
    53
          ----: Autotool support has been dropped
alpar@1096
    54
          ----: Improved LP/MIP configuration
alpar@1096
    55
                #465: Enable/disable options for LP/MIP backends
alpar@1096
    56
                #446: Better CPLEX discovery
alpar@1096
    57
                #460: Add cmake config to find SoPlex
alpar@1096
    58
          ----: Allow CPACK configuration on all platforms
alpar@1096
    59
          #390: Add 'Maintainer' CMAKE build type
alpar@1096
    60
          #388: Add 'check' target.
alpar@1096
    61
          #401: Add contrib dir
alpar@1096
    62
          #389: Better version string setting in CMAKE
alpar@1096
    63
          #433: Support shared library build    
alpar@1096
    64
          #416: Support testing with valgrind
alpar@1096
    65
  
alpar@1096
    66
        * Doc improvements
alpar@1096
    67
alpar@1096
    68
          #395: SOURCE_BROWSER Doxygen switch is configurable from CMAKE
alpar@1096
    69
                update-external-tags CMAKE target
alpar@1096
    70
          #455: Optionally use MathJax for rendering the math formulae
alpar@1096
    71
          #402, #437, #459, #456, #463: Various doc improvements
alpar@1096
    72
alpar@1096
    73
        * Bugfixes (compared to release 1.2):
alpar@1096
    74
alpar@1096
    75
          #432: Add missing doc/template.h and doc/references.bib to release
alpar@1096
    76
                tarball
alpar@1096
    77
          ----: Intel C++ compatibility fixes
alpar@1096
    78
          #441: Fix buggy reinitialization in _solver_bits::VarIndex::clear()
alpar@1096
    79
          #444: Bugfix in path copy constructors and assignment operators
alpar@1096
    80
          #447: Bugfix in AllArcLookUp<>
alpar@1096
    81
          #448: Bugfix in adaptor_test.cc
alpar@1096
    82
          #449: Fix clang compilation warnings and errors
alpar@1096
    83
          #440: Fix a bug + remove redundant typedefs in dimacs-solver
alpar@1096
    84
          #453: Avoid GCC 4.7 compiler warnings
alpar@1096
    85
          #445: Fix missing initialization in CplexEnv::CplexEnv()
alpar@1096
    86
          #428: Add missing lemon/lemon.pc.cmake to the release tarball
alpar@1096
    87
          #393: Create and install lemon.pc
alpar@1096
    88
          #429: Fix VS warnings
alpar@1096
    89
          #430: Fix LpBase::Constr two-side limit bug
alpar@1096
    90
          #392: Bug fix in Dfs::start(s,t)
alpar@1096
    91
          #414: Fix wrong initialization in Preflow
alpar@1096
    92
          #418: Better Win CodeBlock/MinGW support
alpar@1096
    93
          #419: Build environment improvements
alpar@1096
    94
                - Build of mip_test and lp_test precede the running of the tests
alpar@1096
    95
                - Also search for coin libs under ${COIN_ROOT_DIR}/lib/coin
alpar@1096
    96
                - Do not look for COIN_VOL libraries
alpar@1096
    97
          #382: Allow lgf file without Arc maps
alpar@1096
    98
          #417: Bug fix in CostScaling
alpar@1096
    99
          #366: Fix Pred[Matrix]MapPath::empty()
alpar@1096
   100
          #371: Bug fix in (di)graphCopy()
alpar@1096
   101
                The target graph is cleared before adding nodes and arcs/edges.
alpar@1096
   102
          #364: Add missing UndirectedTags
alpar@1096
   103
          #368: Fix the usage of std::numeric_limits<>::min() in Network Simplex
alpar@1096
   104
          #372: Fix a critical bug in preflow
alpar@1096
   105
          #461: Bugfix in assert.h
alpar@1096
   106
          #470: Fix compilation issues related to various gcc versions
alpar@1096
   107
          #446: Fix #define indicating CPLEX availability
alpar@1096
   108
          #294: Add explicit namespace to
alpar@1096
   109
                ignore_unused_variable_warning() usages
alpar@1096
   110
          #420: Bugfix in IterableValueMap
alpar@1096
   111
          #439: Bugfix in biNodeConnected()
alpar@1096
   112
alpar@1096
   113
alpar@881
   114
2010-03-19 Version 1.2 released
alpar@881
   115
alpar@881
   116
        This is major feature release
alpar@881
   117
alpar@881
   118
        * New algorithms
alpar@881
   119
          * Bellman-Ford algorithm (#51)
alpar@881
   120
          * Minimum mean cycle algorithms (#179)
alpar@881
   121
            * Karp, Hartman-Orlin and Howard algorithms
alpar@881
   122
          * New minimum cost flow algorithms (#180)
alpar@881
   123
            * Cost Scaling algorithms
alpar@881
   124
            * Capacity Scaling algorithm
alpar@881
   125
            * Cycle-Canceling algorithms
alpar@881
   126
          * Planarity related algorithms (#62)
alpar@881
   127
            * Planarity checking algorithm
alpar@881
   128
            * Planar embedding algorithm
alpar@881
   129
            * Schnyder's planar drawing algorithm
alpar@881
   130
            * Coloring planar graphs with five or six colors
alpar@881
   131
          * Fractional matching algorithms (#314)
alpar@881
   132
        * New data structures
alpar@881
   133
          * StaticDigraph structure (#68)
alpar@881
   134
          * Several new priority queue structures (#50, #301)
alpar@881
   135
            * Fibonacci, Radix, Bucket, Pairing, Binomial
alpar@881
   136
              D-ary and fourary heaps (#301)
alpar@881
   137
          * Iterable map structures (#73)
alpar@881
   138
        * Other new tools and functionality
alpar@881
   139
          * Map utility functions (#320)
alpar@881
   140
          * Reserve functions are added to ListGraph and SmartGraph (#311)
alpar@881
   141
          * A resize() function is added to HypercubeGraph (#311)
alpar@881
   142
          * A count() function is added to CrossRefMap (#302)
alpar@881
   143
          * Support for multiple targets in Suurballe using fullInit() (#181)
alpar@881
   144
          * Traits class and named parameters for Suurballe (#323)
alpar@881
   145
          * Separate reset() and resetParams() functions in NetworkSimplex
alpar@881
   146
            to handle graph changes (#327)
alpar@881
   147
          * tolerance() functions are added to HaoOrlin (#306)
alpar@881
   148
        * Implementation improvements
alpar@881
   149
          * Improvements in weighted matching algorithms (#314)
alpar@881
   150
            * Jumpstart initialization
alpar@881
   151
          * ArcIt iteration is based on out-arc lists instead of in-arc lists
alpar@881
   152
            in ListDigraph (#311)
alpar@881
   153
          * Faster add row operation in CbcMip (#203)
alpar@881
   154
          * Better implementation for split() in ListDigraph (#311)
alpar@881
   155
          * ArgParser can also throw exception instead of exit(1) (#332)
alpar@881
   156
        * Miscellaneous
alpar@881
   157
          * A simple interactive bootstrap script
alpar@881
   158
          * Doc improvements (#62,#180,#299,#302,#303,#304,#307,#311,#331,#315,
alpar@881
   159
                #316,#319)
alpar@881
   160
            * BibTeX references in the doc (#184)
alpar@881
   161
          * Optionally use valgrind when running tests
alpar@881
   162
          * Also check ReferenceMapTag in concept checks (#312)
alpar@881
   163
          * dimacs-solver uses long long type by default.
alpar@881
   164
        * Several bugfixes (compared to release 1.1):
alpar@881
   165
          #295: Suppress MSVC warnings using pragmas
alpar@881
   166
          ----: Various CMAKE related improvements
alpar@881
   167
                * Remove duplications from doc/CMakeLists.txt
alpar@881
   168
                * Rename documentation install folder from 'docs' to 'html'
alpar@881
   169
                * Add tools/CMakeLists.txt to the tarball
alpar@881
   170
                * Generate and install LEMONConfig.cmake
alpar@881
   171
                * Change the label of the html project in Visual Studio
alpar@881
   172
                * Fix the check for the 'long long' type
alpar@881
   173
                * Put the version string into config.h
alpar@881
   174
                * Minor CMake improvements
alpar@881
   175
                * Set the version to 'hg-tip' if everything fails
alpar@881
   176
          #311: Add missing 'explicit' keywords
alpar@881
   177
          #302: Fix the implementation and doc of CrossRefMap
alpar@881
   178
          #308: Remove duplicate list_graph.h entry from source list
alpar@881
   179
          #307: Bugfix in Preflow and Circulation
alpar@881
   180
          #305: Bugfix and extension in the rename script
alpar@881
   181
          #312: Also check ReferenceMapTag in concept checks
alpar@881
   182
          #250: Bugfix in pathSource() and pathTarget()
alpar@881
   183
          #321: Use pathCopy(from,to) instead of copyPath(to,from)
alpar@881
   184
          #322: Distribure LEMONConfig.cmake.in
alpar@881
   185
          #330: Bug fix in map_extender.h
alpar@881
   186
          #336: Fix the date field comment of graphToEps() output
alpar@881
   187
          #323: Bug fix in Suurballe
alpar@881
   188
          #335: Fix clear() function in ExtendFindEnum
alpar@881
   189
          #337: Use void* as the LPX object pointer
alpar@881
   190
          #317: Fix (and improve) error message in mip_test.cc
alpar@881
   191
                Remove unnecessary OsiCbc dependency
alpar@881
   192
          #356: Allow multiple executions of weighted matching algorithms (#356)
alpar@881
   193
alpar@665
   194
2009-05-13 Version 1.1 released
alpar@665
   195
alpar@665
   196
        This is the second stable release of the 1.x series. It
alpar@665
   197
        features a better coverage of the tools available in the 0.x
alpar@665
   198
        series, a thoroughly reworked LP/MIP interface plus various
alpar@665
   199
        improvements in the existing tools.
alpar@665
   200
alpar@665
   201
        * Much improved M$ Windows support
alpar@665
   202
          * Various improvements in the CMAKE build system
alpar@665
   203
          * Compilation warnings are fixed/suppressed
alpar@665
   204
        * Support IBM xlC compiler
alpar@665
   205
        * New algorithms
alpar@665
   206
          * Connectivity related algorithms (#61)
alpar@665
   207
          * Euler walks (#65)
alpar@665
   208
          * Preflow push-relabel max. flow algorithm (#176)
alpar@665
   209
          * Circulation algorithm (push-relabel based) (#175)
alpar@665
   210
          * Suurballe algorithm (#47)
alpar@665
   211
          * Gomory-Hu algorithm (#66)
alpar@665
   212
          * Hao-Orlin algorithm (#58)
alpar@665
   213
          * Edmond's maximum cardinality and weighted matching algorithms
alpar@665
   214
            in general graphs (#48,#265)
alpar@665
   215
          * Minimum cost arborescence/branching (#60)
alpar@665
   216
          * Network Simplex min. cost flow algorithm (#234)
alpar@665
   217
        * New data structures
alpar@665
   218
          * Full graph structure (#57)
alpar@665
   219
          * Grid graph structure (#57)
alpar@665
   220
          * Hypercube graph structure (#57)
alpar@665
   221
          * Graph adaptors (#67)
alpar@665
   222
          * ArcSet and EdgeSet classes (#67)
alpar@665
   223
          * Elevator class (#174)
alpar@665
   224
        * Other new tools
alpar@665
   225
          * LP/MIP interface (#44)
alpar@665
   226
            * Support for GLPK, CPLEX, Soplex, COIN-OR CLP and CBC
alpar@665
   227
          * Reader for the Nauty file format (#55)
alpar@665
   228
          * DIMACS readers (#167)
alpar@665
   229
          * Radix sort algorithms (#72)
alpar@665
   230
          * RangeIdMap and CrossRefMap (#160)
alpar@665
   231
        * New command line tools
alpar@665
   232
          * DIMACS to LGF converter (#182)
alpar@665
   233
          * lgf-gen - a graph generator (#45)
alpar@665
   234
          * DIMACS solver utility (#226)
alpar@665
   235
        * Other code improvements
alpar@665
   236
          * Lognormal distribution added to Random (#102)
alpar@665
   237
          * Better (i.e. O(1) time) item counting in SmartGraph (#3)
alpar@665
   238
          * The standard maps of graphs are guaranteed to be
alpar@665
   239
            reference maps (#190)
alpar@665
   240
        * Miscellaneous
alpar@665
   241
          * Various doc improvements
alpar@665
   242
          * Improved 0.x -> 1.x converter script
alpar@665
   243
alpar@665
   244
        * Several bugfixes (compared to release 1.0):
alpar@665
   245
          #170: Bugfix SmartDigraph::split()
alpar@665
   246
          #171: Bugfix in SmartGraph::restoreSnapshot()
alpar@665
   247
          #172: Extended test cases for graphs and digraphs
alpar@665
   248
          #173: Bugfix in Random
alpar@665
   249
                * operator()s always return a double now
alpar@665
   250
                * the faulty real<Num>(Num) and real<Num>(Num,Num)
alpar@665
   251
                  have been removed
alpar@665
   252
          #187: Remove DijkstraWidestPathOperationTraits
alpar@665
   253
          #61:  Bugfix in DfsVisit
alpar@665
   254
          #193: Bugfix in GraphReader::skipSection()
alpar@665
   255
          #195: Bugfix in ConEdgeIt()
alpar@665
   256
          #197: Bugfix in heap unionfind
alpar@665
   257
                * This bug affects Edmond's general matching algorithms
alpar@665
   258
          #207: Fix 'make install' without 'make html' using CMAKE
alpar@665
   259
          #208: Suppress or fix VS2008 compilation warnings
alpar@665
   260
          ----: Update the LEMON icon
alpar@665
   261
          ----: Enable the component-based installer
alpar@665
   262
                (in installers made by CPACK)
alpar@665
   263
          ----: Set the proper version for CMAKE in the tarballs
alpar@665
   264
                (made by autotools)
alpar@665
   265
          ----: Minor clarification in the LICENSE file
alpar@665
   266
          ----: Add missing unistd.h include to time_measure.h
alpar@665
   267
          #204: Compilation bug fixed in graph_to_eps.h with VS2005
alpar@881
   268
          #214,#215: windows.h should never be included by LEMON headers
alpar@665
   269
          #230: Build systems check the availability of 'long long' type
alpar@665
   270
          #229: Default implementation of Tolerance<> is used for integer types
alpar@665
   271
          #211,#212: Various fixes for compiling on AIX
alpar@665
   272
          ----: Improvements in CMAKE config
alpar@665
   273
                - docs is installed in share/doc/
alpar@665
   274
                - detects newer versions of Ghostscript
alpar@665
   275
          #239: Fix missing 'inline' specifier in time_measure.h
alpar@665
   276
          #274,#280: Install lemon/config.h
alpar@665
   277
          #275: Prefix macro names with LEMON_ in lemon/config.h
alpar@665
   278
          ----: Small script for making the release tarballs added
alpar@665
   279
          ----: Minor improvement in unify-sources.sh (a76f55d7d397)
alpar@665
   280
alpar@496
   281
2009-03-27 LEMON joins to the COIN-OR initiative
alpar@496
   282
alpar@496
   283
        COIN-OR (Computational Infrastructure for Operations Research,
alpar@496
   284
        http://www.coin-or.org) project is an initiative to spur the
alpar@496
   285
        development of open-source software for the operations research
alpar@496
   286
        community.
alpar@496
   287
alpar@322
   288
2008-10-13 Version 1.0 released
alpar@262
   289
alpar@881
   290
        This is the first stable release of LEMON. Compared to the 0.x
alpar@881
   291
        release series, it features a considerably smaller but more
alpar@881
   292
        matured set of tools. The API has also completely revised and
alpar@881
   293
        changed in several places.
alpar@262
   294
alpar@881
   295
        * The major name changes compared to the 0.x series (see the
alpar@322
   296
          Migration Guide in the doc for more details)
alpar@262
   297
          * Graph -> Digraph, UGraph -> Graph
alpar@262
   298
          * Edge -> Arc, UEdge -> Edge
alpar@881
   299
          * source(UEdge)/target(UEdge) -> u(Edge)/v(Edge)
alpar@881
   300
        * Other improvements
alpar@881
   301
          * Better documentation
alpar@881
   302
          * Reviewed and cleaned up codebase
alpar@881
   303
          * CMake based build system (along with the autotools based one)
alpar@881
   304
        * Contents of the library (ported from 0.x)
alpar@881
   305
          * Algorithms
alpar@881
   306
            * breadth-first search (bfs.h)
alpar@881
   307
            * depth-first search (dfs.h)
alpar@881
   308
            * Dijkstra's algorithm (dijkstra.h)
alpar@881
   309
            * Kruskal's algorithm (kruskal.h)
alpar@881
   310
          * Data structures
alpar@881
   311
            * graph data structures (list_graph.h, smart_graph.h)
alpar@881
   312
            * path data structures (path.h)
alpar@881
   313
            * binary heap data structure (bin_heap.h)
alpar@881
   314
            * union-find data structures (unionfind.h)
alpar@881
   315
            * miscellaneous property maps (maps.h)
alpar@881
   316
            * two dimensional vector and bounding box (dim2.h)
alpar@262
   317
          * Concepts
alpar@881
   318
            * graph structure concepts (concepts/digraph.h, concepts/graph.h,
alpar@262
   319
              concepts/graph_components.h)
alpar@881
   320
            * concepts for other structures (concepts/heap.h, concepts/maps.h,
alpar@881
   321
              concepts/path.h)
alpar@881
   322
          * Tools
alpar@881
   323
            * Mersenne twister random number generator (random.h)
alpar@881
   324
            * tools for measuring cpu and wall clock time (time_measure.h)
alpar@881
   325
            * tools for counting steps and events (counter.h)
alpar@881
   326
            * tool for parsing command line arguments (arg_parser.h)
alpar@881
   327
            * tool for visualizing graphs (graph_to_eps.h)
alpar@881
   328
            * tools for reading and writing data in LEMON Graph Format
alpar@262
   329
              (lgf_reader.h, lgf_writer.h)
alpar@262
   330
            * tools to handle the anomalies of calculations with
alpar@881
   331
              floating point numbers (tolerance.h)
alpar@262
   332
            * tools to manage RGB colors (color.h)
alpar@881
   333
          * Infrastructure
alpar@881
   334
            * extended assertion handling (assert.h)
alpar@881
   335
            * exception classes and error handling (error.h)
alpar@881
   336
            * concept checking (concept_check.h)
alpar@881
   337
            * commonly used mathematical constants (math.h)