Graph is a service C++ class for MMCF-type problem solvers. Its main features are:
Allows to read descriptions of MMCF-type instances from file(s) in various formats: once read, the instance is available in memory so that the solver can read it easily in an unique way, independently from the original format.
Allows to input an instance directly from memory.
Allows complete control over the instance's data (reading/changing it).
Supports undirected graphs and Fixed Charge costs over the arcs.
Includes a (coarse) pre-processing of the instance.
Allows to make all the commodities single-sourced.
Can output the instance in MPS (both "free" and "standard") format.
Graph is a single C++ class: its header Graph.h is extensively commented, and the whole code is thought to be self-explainatory. The class Graph defines a set of public data types to allow the user to choose the type (integer or floating-point) and the precision of the numbers (costs, flows, indices, ...).
Graph is thougt to be used with (MMCF)-solvers: however, a useful application is already provided within the package. The file Convert.C implements a many formats -> MPS converter, that is capable of dealing with most (but not all) of the formats used in the web page of the (MMCF)instances. A document describing the formats is also provided.
Current version of Graph is: 2.01 Current date is: May 5, 2012The current version of Graph can be downloaded here. An older version is available at the CRIFOR web site.