Section: Software
Mascopt and openGVE
Participant : Michel Syska [correspondant] .
Developed in Java.
Mascopt [98] (Mascotte Optimization) is a Java library distributed under the terms of the LGPL license which is dedicated to graph and network processing. Mascopt includes a collection of Java interfaces and classes that implement fundamental data structures and algorithms. The forthcoming public distribution of Mascopt will appear under the name of the openGVE project, Mascopt being one implementation of the bridge graph interface (see http://opengve.inria.fr/bridge-graph-interface/apidocs/fr/inria/opengve/bridge/interfaces/Graph.html ). The objective is to allow easy integration of different implementations. The applications already written will not be affected. They will have different choices of internal implementation which may lead to better performances for specific issues such as large graphs processing.
The main objective of Mascopt project is to ease software development in the field of network optimization. Examples of problems include routing, grooming, survivability, and virtual network design. Mascopt helps implementing a solution to such problems by providing a data model of the network and the demands, classes to handle data and ready to use implementations of existing algorithms or linear programs (e.g. shortest paths or integral multicommodity flow).
A key feature of Mascopt is to provide a generic linear programming object interface which allows users to program the same way whether the target solver is IBM ILOG CPLEX, GLPK (GNU Linear Programming Kit) or CLP/CBC (accessed through JNI).
Mascopt has been intensively used in the past within Mascotte industrial cooperation programs for experimentation and validation purposes as for example with Alcatel Space Technologies and Orange Labs. Today, the library is used within the framework of the ANR AGAPE to implement FPT algorithms (work done at LIFO).
See also the web page http://www-sop.inria.fr/mascotte/mascopt/ .