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