| 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)
 |