Outils et Logiciels d`Optimisation
Transcription
Outils et Logiciels d`Optimisation
Formats de fichiers Cplex interactif Outils et Logiciels d’Optimisation - Cours 2 P. Pesneau [email protected] Université Bordeaux 1 Bât A33 - Bur 256 P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps Fichiers .lp Format propriétaire de CPLEX Assez peu utilisé par les autres logiciels d’optimisation Format utilisé par CPLEX Interactive Optimizer pour rentrer un problème. Permet de définir un problème, mais pas l’algorithme de résolution à utiliser. Facile à lire pour l’utilisateur. Pas vraiment optimisé en taille de fichier P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps Règles et syntaxe Le format n’est pas sensible à la casse (majuscule = minuscule). Commentaires : Tout texte suivant le caractère “\” est considéré comme un commentaire. La zone de commentaire s’arrête quand on passe à une nouvelle ligne. Noms : Chaque variable sera représentées par son nom. On peut aussi (facultatif) nommer l’objectif et les contraintes. Contient au plus 255 caractères alphanumériques (a-z, A-Z, 0-9) ou l’un des symboles ! # $ % & ( ) , . ; ? { } Eviter de commencer les noms par un e ou E pour éviter les confusions avec la notation exponentielle. P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps Règles et syntaxe Mots Clés : Chaque mot-clé doit commencer une ligne et est séparé du reste par au moins un espace (ou retour à la ligne). Maximize, Minimize, Maximum, Minimum, Max, Min : permettent de définir le sens d’optimisation. Ils sont suivi par la fonction objectif Subject To, Such That, s.t., st : Introduit la section des contraintes. Bounds : Introduit la section où l’on définit les bornes sur les variables. General, Generals, Gen : Les variables qui suivent ce mot-clés seront considérées comme entières. Binary, Binaries, Bin : Idem pour les variables binaires. End : Tout problème se finit par ce mot-clé. P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps Règles et syntaxe Objectif : Commence par le mot-clé définissant le sens d’optimisation. Suivi simplement d’une expression : [nom:] 1x1 + 2 x2 + z. Contraintes La section de contraintes commence par le mot-clé adéquate. Chaque contrainte à la forme suivante : [nom:] exp linéaire sens coefficient Sens possibles : <, <=, =<, >, >=, =>, =. Les trois premiers sont considéré comme ≤, les trois suivants comme ≥ et le dernier comme =. P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps Règles et syntaxe Les lignes sont limitées à 560 caractères. On peut écrire l’objectif et chaque contrainte sur plusieurs lignes. Ne pas couper un nom de variable ou un mot-clé pour changer de ligne. On peut mettre des espaces où on veut, sauf au milieu des noms et des mot-clès. P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps Exemple Maximize obj: x1 + 2 x2 + 3 x3 + x4 Subject To c1: - x1 + x2 + x3 + 10 x4 <= 20 c2: x1 - 3 x2 + x3 <= 30 c3: x2 - 3.5 x4 = 0 Bounds 0 <= x1 <= 40 2 <= x4 <= 3 General x4 End P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps Fichiers .mps Standard largement utilisé par les logiciels d’optimisation. Les données sont spécifiées par colonnes (variables). Rend le format assez difficile à lire directement. Chaque variable, contrainte et objectif est référencé par un nom. P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps Sections Un fchiers .mps se décompose en plusieurs sections : NAME : Nom du problème OBJSENSE : sens d’optimisation OBJNAME : nom de l’objectif ROWS : noms et sens de chaque contrainte COLUMNS : noms et coefficients des variables dans chacune des contraintes RHS : coefficients du membre de droite de chaque contrainte RANGES : bornes pour les contraintes limitées par un intervale BOUNDS : bornes sur les variables ENDATA : signale la fin du problème P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps Champs Chaque ligne est divisée en 6 champs : Champ 1 Indicateur Champ 2 Nom Champ 3 Nom Champ 4 Valeur Champ 5 Nom Champ 6 Valeur Les noms sont limités à 255 caractères. Tous les caractères ASCII sont autorisés pour les noms sauf l’espace. Les nombres sont limités à 25 caractères. Le premier champ doit commencer en colonne 1 ou 2. Commentaires : * dans le champ 1. P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps Objectif Par défaut : Minimiser la première contrainte libre. OBJSENSE : Champ 2 : MAX ou MIN les autres champs sont vides OBJNAME : Champ 2 : nom de la contrainte libre servant d’objectif. les autres champs sont vides P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps ROWS Chaque ligne correspond à une contrainte Champ 1 : Sens de la contrainte : N : contrainte libre G : contrainte ≥ L : contrainte ≤ E : contrainte = Champ 2 : nom de la contrainte les autres champs ne sont pas utilisée P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps COLUMNS Chaque ligne va contenir pour une variable donnée jusqu’à deux coefficients non nul dans des contraintes. plusieurs lignes peuvent être nécessaire pour une variable. Champ 1 : Vide Champ 2 : nom de la variable Champ 3 : nom d’une contrainte Champ 4 : valeur de la variable dans la contrainte précédente Champ 5 (opt) : nom d’une contrainte Champ 6 (opt) : valeur de la variable dans la contrainte précédente P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps RHS Champ 1 : Vide Champ 2 : identificateur rhs Champ 3 : nom d’une contrainte Champ 4 : valeur du membre de droite de la contrainte précédente Champ 5 (opt) : nom d’une contrainte Champ 6 (opt) : valeur du membre de droite de la contrainte précédente P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps BOUNDS Champ 1 : Type de borne : LO : borne inférieure UP : borne supérieure FX : valeur fixée FR : variable libre MI : −∞ PL : +∞ BV : variable binaire (Champ 4 : 1, 0 ou vide) LI : borne inf variable entière UI : borne sup variable entière Champ 2 : identificateur BOUND Champ 3 : nom d’une variable Champ 4 : valeur de la borne les autres champs ne sont pas utilisés P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Fichiers .lp Fichiers .mps Exemple NAME ROWS N obj L c1 L c2 E c3 COLUMNS x1 x1 x2 x2 x3 x3 x4 x4 RHS rhs BOUNDS UP BOUND LI BOUND UI BOUND ENDATA obj c2 obj c2 obj c2 obj c3 -1 1 -2 -3 -3 1 -1 -3.5 c1 20 x1 x4 x4 40 2 3 P. Pesneau [email protected] c1 -1 c1 c3 c1 1 1 1 c1 10 c2 30 Outils et Logiciels d’Optimisation - Cours 2 Formats de fichiers Cplex interactif Cplex interactive optimizer Présentation en live ! P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 2