Installation et Configuration

IBM Ilog Optimization Studio

IBM Ilog Optimization Studio est une des suites logicielles les plus complètes pour la programmation linéaire, quadratique, et par contraintes. Elle est fréquemment utilisée dans l'industrie.

  1. Introduction
  2. Installation
  3. Configuration sous Windows
  4. Configuration sous Linux
  5. Tester l’installation
  6. Démarrer

Introduction

Même un défenseur du logiciel libre doit l’admettre, Il n’existe aucune alternative libre aussi complète que la suite IBM Ilog Optimization Studio. La suite comprend plusieurs solveurs :

  • Programmation linéaire (cplex)
  • Programmation Quadratique
  • Programmation Par contraintes (cpoptimizer)
  • Ordonnancement sous contraintes (scheduler)

Vous pouvez appeler ces solveurs depuis plusieurs langages de programmation Java/C/C++/C#/python. Dans les cours et les TPs, nous utiliserons plutôt le langage OPL, un langage de modélisation de haut niveau. Ce langage a une syntaxe déclarative proche de la formulation mathématique des modèles. Ilog propose un IDE basé sur Eclipse pour le langage OPL.

Installation

Dans le cas général, vous devez vous inscrire (ou votre professeur) sur le site de l’initiative académique, puis télécharger la version correspondant à votre système d’installation. Pour les étudiants unice, vous pouvez me demander l’installateur.

Attention, la version mac n’embarque pas l’IDE !

Bloqué ici ? voici un catalogue de solveurs libres ou propriétaires.

Configuration sous Windows

À une époque, L’IDE ne marchait pas avec les version de Windows supérieures à 8. Il fallait utiliser le mode de compatibilité.

  • Clic droit sur l’icône d’OPLIDE -> choisir « Propriété ».
  • Cocher le mode compatibilité et sélectionner Windows 7.

Configuration sous Linux

Pour information, j’ai installé OPLStudio dans /opt.

  • Ajout des exécutables au PATH. Je crée un lien symbolique pour lancer l’IDE.
    cd /usr/local/bin/
    sudo ln -s /opt/ibm/ILOG/CPLEX_Studio128/opl/oplide/oplide .
    
  • Création du script local oplrun dans usr/local/bin. La manipulation précédente ne marche pour les outils en ligne de commande (oplrun et oplrunjava) à cause d’une sombre histoire de LD_LIBRARY_PATH. Il faudra refaire la même chose pour oplrunjava.
    #!/bin/sh 
    export LD_LIBRARY_PATH=/opt/ibm/ILOG/CPLEX_Studio128/opl/bin/x86-64_linux:$LIBRARY_PATH_LD
    /opt/ibm/ILOG/CPLEX_Studio128/opl/bin/x86-64_linux/oplrun
    
  • Modification d’oplide.ini. Par défaut, l’IDE insère votre nom d’utilisateur dans les fichiers de modèle et de données. Pour changer ce comportement, ajouter la ligne -Duser.name=<mon nom> dans /opt/ibm/ILOG/CPLEX_Studio128/opl/oplide/oplide.ini
  • Création d’un lanceur dans le menu applications : /usr/share/applications/oplide.desktop.
    [Desktop Entry]
    Name=OPL IDE
    Type=Application
    Exec=/opt/ibm/ILOG/CPLEX_Studio128/opl/oplide/oplide
    Terminal=false
    Icon=/opt/ibm/ILOG/icon-oplide.png
    Comment=Integrated Development Environment
    NoDisplay=false
    Categories=Development;IDE
    Name[en]=oplide.desktop
    
  • Icône OPL IDE il faut télécharger cette icône créée par Daniel Diaz dans le répertoire /opt/ibm/ILOG/ pour le lanceur.

Tester l’installation

  • Pour tester l’IDE, taper simplement oplide dans un terminal.
    • Importer un des exemples OPL
    • Exécuter une des configurations d’exécution
  • Pour tester la ligne de commandes :
    cd /opt/ibm/ILOG/CPLEX_Studio128/opl/examples/opl/
    oplrun -p knapsack
    ## ou encore
    cd knapsack
    oplrun knapsack.mod knapsack.dat
    

Démarrer

Vous pouvez accéder à la documentation et aux exemples directement depuis l’IDE.

  • La racine de la documentation est /opt/ibm/ILOG/CPLEX_Studio128/doc/html/en-US/documentation.hml.
  • La racine des exemples OPL est /opt/ibm/ILOG/CPLEX_Studio128/opl/examples.

Dans un premier temps, je vous invite à parcourir les sections suivantes de la documentation :

  • Getting Started with the IDE
  • A quick start to CPLEX Studio
  • OPL: Language and Interfaces Examples
  • OPL model library

Pour ceux qui aiment plonger directement dans le grand bain, voici un TP gracieusement proposé par Ilog.