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