IUT Nice Côte d'Azur Rapport de stage MASCOTTE/INRIA
SOMMAIRE
INTRODUCTION..................................................................................................................5
I PRÉSENTATION DE LA STRUCTURE D'ACCUEIL : MASCOTTE.................................6
1. MASCOTTE en plusieurs points............................................................................................................6
2. L'organigramme de MASCOTTE..........................................................................................................8
3. Les contrats et actions de recherche.......................................................................................................9
II PREMIÈRE PARTIE DU STAGE : intégrer un solver CLP/CBC à MascOpt...............13
1. Présentation de MascOpt......................................................................................................................14
1.1 Présentation générale...............................................................................................................................14
1.2 Les programmes linéaires........................................................................................................................14
1.3 Le paquetage Java mascoptLib.lpSolver.................................................................................................15
2. Présentation des outils utilisés..............................................................................................................17
2.1 Langages C et C++..................................................................................................................................17
2.2 Langage Java...........................................................................................................................................18
2.3 EDI Eclipse..............................................................................................................................................19
2.4 Java Native Interface...............................................................................................................................20
2.4.1 Présentation..............................................................................................................................................20
2.4.2 Mise en oeuvre..........................................................................................................................................21
2.4.3 Pratique de JNI en détails.........................................................................................................................22
a) Prérequis pour utiliser JNI.......................................................................................................................22
b) Quelques utilisations de fonctions de l'API JNI......................................................................................25
3. Présentation des librairies/solvers de COIN-OR................................................................................27
3.1 Librairie CLP...........................................................................................................................................28
3.2 Librairie CBC..........................................................................................................................................29
4. Analyse et réalisation.............................................................................................................................31
4.1 Solution à mettre en oeuvre.....................................................................................................................31
4.2 Interface LinearProgram et classe AbstractLinearProgram.....................................................................32
4.3 Classes et méthodes CLP/CBC à utiliser.................................................................................................35
4.4 Précisions diverses sur le développement................................................................................................36
III DEUXIÈME PARTIE DU STAGE : mise en place de projets MAVEN........................39
1. Présentation de Maven..........................................................................................................................40
1.1 Créer rapidement un projet......................................................................................................................40
1.2 Standard Directory Layout (SDL)...........................................................................................................40
1.3 Project Object Model (POM)..................................................................................................................42
1.4 Phases de construction.............................................................................................................................44
1.5 Générer un site de documentation...........................................................................................................45
2. « Maveniser » le projet de solver CLP/CBC de MascOpt..................................................................46
2.1 Objectifs précis........................................................................................................................................46
2.2 SDL du projet..........................................................................................................................................46
2.3 Profils et compilation du module JNI......................................................................................................47
2.4 Données diverses sur l'utilisation............................................................................................................50
LP SIL 2007-2008 page 4/54