About Mascopt

The main objective of the Mascopt (Mascotte Optimization) project is to provide a set of tools for network optimization problems. Examples of problems are :

  • routing end to end connections in a capacitated network
  • routing under vulnerability constraints (protection and restoration)
  • grooming multiplex (eg. SDH over WDM)
  • virtual path layout in ATM networks
  • wavelengths assignment in all optical WDM networks

A typical user would like to write algorithms such as a new routing heuristic for wavelength assignment that will outperform existing ones. He will run experiments over a bunch of network data's and plot the results. If the algorithm consists in :

  1. input set is a network and a traffic matrix
  2. compute routes for each traffic demand
  3. greedily assign one wavelength to each route
  4. output the total number of wavelength

then we will help this user by providing :

  • a data model of the network and the demands,
  • libraries to parse and load / store these data into / out of the programs
  • libraries to compute routing using existing algorithms or linear programs
  • iterator to process the resulting paths so he could easily implement his heuristic
  • plotting and visualization of the results (make article)

The recent experience with the PORTO project lead us to these conclusions :

  • existing optimization libraries are specific and difficult to mix together or to embed in new user defined models (not speaking about license problems)
  • portability is more difficult to achieve with C++ than with Java For instance the Ilog CPLEX Concert API was compiled either with egcs/libc2.1 or gcc3/libc2.2, not gcc2.9x or gcc3/libc2.1. The GUI is another issue were Java offers nice portability features. Last but not least : internship students as well as young engineers or researchers are more fluent with Java.
  • XML should be used to store and exchange data between applications
  • documentation and testing should not be neglected ...

The first milestone achieved is the mgl dtd for the Mascopt Graph Library. A few algorithms have been implemented and are in a validation process. The next step is to implement virtual graph embedding and publish an alpha version of Mascopt inside the Mascotte project!


Mascopt workplan is structured into workpackages:

  • WP1: Graphs (modeling and processing of)
  • WP2: Networks
  • WP3: Virtual networks
  • WP4: Linear Programming
  • WP6: Experimental data's
  • WP7: Graphical User Interface
  • WP8: Input/Output graphs and tools
  • WP9: Algorithms on graphs or digraphs


Feel free to contact us to report bugs or to propose some improvements you did. If you included Mascopt in some GPL software, you can just tell us why and what kind of software you develop and we will be proud to link our page to somebody who use Mascopt...

You can write to Michel Syska or Jean-Francois Lalande (if you are despaired, try Yann Verhoeven...).


Main Authors

  • Bruno Bongiovanni
  • Sebastien Choplin
  • Jean Francois Lalande
  • Fabrice Peix
  • Michel Syska
  • Yann Verhoeven


  • Claudine Mosse
  • Marie-Emilie Voge
  • Severine Petat
  • Smita Rai

Bug reporters

  • Pierre Tardy, ISIMA student.
  • Mia Heslegrave, student at the university of Aarhus in Denmark.
  • Roger Kalden, Ericsson Research