NEWS
author Peter Kovacs <kpeter@inf.elte.hu>
Wed, 29 Apr 2009 03:15:24 +0200
changeset 636 6c408d864fa1
parent 322 6dbd5184c6a9
child 663 e652b6f9a29f
permissions -rw-r--r--
Support negative costs and bounds in NetworkSimplex (#270)

* The interface is reworked to support negative costs and bounds.
- ProblemType and problemType() are renamed to
SupplyType and supplyType(), see also #234.
- ProblemType type is introduced similarly to the LP interface.
- 'bool run()' is replaced by 'ProblemType run()' to handle
unbounded problem instances, as well.
- Add INF public member constant similarly to the LP interface.
* Remove capacityMap() and boundMaps(), see also #266.
* Update the problem definition in the MCF module.
* Remove the usage of Circulation (and adaptors) for checking feasibility.
Check feasibility by examining the artifical arcs instead (after solving
the problem).
* Additional check for unbounded negative cycles found during the
algorithm (it is possible now, since negative costs are allowed).
* Fix in the constructor (the value types needn't be integer any more),
see also #254.
* Improve and extend the doc.
* Rework the test file and add test cases for negative costs and bounds.
     1 2009-03-27 LEMON joins to the COIN-OR initiative
     2 
     3         COIN-OR (Computational Infrastructure for Operations Research,
     4         http://www.coin-or.org) project is an initiative to spur the
     5         development of open-source software for the operations research
     6         community.
     7 
     8 2008-10-13 Version 1.0 released
     9 
    10 	This is the first stable release of LEMON. Compared to the 0.x
    11 	release series, it features a considerably smaller but more
    12 	matured set of tools. The API has also completely revised and
    13 	changed in several places.
    14 
    15 	* The major name changes compared to the 0.x series (see the
    16           Migration Guide in the doc for more details)
    17           * Graph -> Digraph, UGraph -> Graph
    18           * Edge -> Arc, UEdge -> Edge
    19 	  * source(UEdge)/target(UEdge) -> u(Edge)/v(Edge)
    20 	* Other improvements
    21 	  * Better documentation
    22 	  * Reviewed and cleaned up codebase
    23 	  * CMake based build system (along with the autotools based one)
    24 	* Contents of the library (ported from 0.x)
    25 	  * Algorithms
    26        	    * breadth-first search (bfs.h)
    27        	    * depth-first search (dfs.h)
    28        	    * Dijkstra's algorithm (dijkstra.h)
    29        	    * Kruskal's algorithm (kruskal.h)
    30     	  * Data structures
    31        	    * graph data structures (list_graph.h, smart_graph.h)
    32        	    * path data structures (path.h)
    33        	    * binary heap data structure (bin_heap.h)
    34        	    * union-find data structures (unionfind.h)
    35        	    * miscellaneous property maps (maps.h)
    36        	    * two dimensional vector and bounding box (dim2.h)
    37           * Concepts
    38        	    * graph structure concepts (concepts/digraph.h, concepts/graph.h,
    39               concepts/graph_components.h)
    40        	    * concepts for other structures (concepts/heap.h, concepts/maps.h,
    41 	      concepts/path.h)
    42     	  * Tools
    43        	    * Mersenne twister random number generator (random.h)
    44        	    * tools for measuring cpu and wall clock time (time_measure.h)
    45        	    * tools for counting steps and events (counter.h)
    46        	    * tool for parsing command line arguments (arg_parser.h)
    47        	    * tool for visualizing graphs (graph_to_eps.h)
    48        	    * tools for reading and writing data in LEMON Graph Format
    49               (lgf_reader.h, lgf_writer.h)
    50             * tools to handle the anomalies of calculations with
    51 	      floating point numbers (tolerance.h)
    52             * tools to manage RGB colors (color.h)
    53     	  * Infrastructure
    54        	    * extended assertion handling (assert.h)
    55        	    * exception classes and error handling (error.h)
    56       	    * concept checking (concept_check.h)
    57        	    * commonly used mathematical constants (math.h)