Le langage AMPL - Informatique

Transcription

Le langage AMPL - Informatique
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Le langage AMPL
Jean-Pierre Dussault1
Départment d’informatique
Université de Sherbrooke
1 email: [email protected]
Club info
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Plan
1
Un exemple de diète simple
La situation
Formulation mathématique
Traduction AMPL
2
Généralisation
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
3
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
Plan
1
Un exemple de diète simple
La situation
Formulation mathématique
Traduction AMPL
2
Généralisation
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
3
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
Diète
Simpliste
Un producteur de bétail utilise trois types de grains pour nourrir
ses animaux ; les grains coûtent respectivement 41, 35 et 96 cents
la livre. Il doit s’assurer que les animaux ont suffisamment de 4
types de nutriments, c’est-à-dire 1250, 250, 900 et 232.5 onces par
semaine. Il connaı̂t les quantités de chaque nutriment dans chaque
type de grain (en onces par livre) :
grain1 grain2 grain3
nutriment#1 2
3
7
nutriment#2 1
1
0
nutriment#3 5
3
0
nutriment#4 1.5
1.2
1
Il souhaite satisfaire la bonne nutrition de ses animaux le moins
cher possible.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
Plan
1
Un exemple de diète simple
La situation
Formulation mathématique
Traduction AMPL
2
Généralisation
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
3
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
Éléments du modèle
Entités importantes
1
donnée : besoins nutritionnels b = (1250, 250, 900, 232, 5) ;
2
donnée : coût de chaque grain c = (41, 35, 96) ;
3
donnée
 : quantités denutriments par sorte de grain
2
3 7
 1
1 0 
;
Q=
 5
3 0 
1.5 1.2 1
variables de décisions : quantités de chacune des 3 sortes de
grain, x1 , x2 , x3 ;
4
5
restriction implicite : x1 ≥ 0, x2 ≥ 0, x3 ≥ 0.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
Éléments du modèle
Entités importantes
1
donnée : besoins nutritionnels b = (1250, 250, 900, 232, 5) ;
2
donnée : coût de chaque grain c = (41, 35, 96) ;
3
donnée
 : quantités denutriments par sorte de grain
2
3 7
 1
1 0 
;
Q=
 5
3 0 
1.5 1.2 1
variables de décisions : quantités de chacune des 3 sortes de
grain, x1 , x2 , x3 ;
4
5
restriction implicite : x1 ≥ 0, x2 ≥ 0, x3 ≥ 0.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
Éléments du modèle
Entités importantes
1
donnée : besoins nutritionnels b = (1250, 250, 900, 232, 5) ;
2
donnée : coût de chaque grain c = (41, 35, 96) ;
3
donnée
 : quantités denutriments par sorte de grain
2
3 7
 1
1 0 
;
Q=
 5
3 0 
1.5 1.2 1
variables de décisions : quantités de chacune des 3 sortes de
grain, x1 , x2 , x3 ;
4
5
restriction implicite : x1 ≥ 0, x2 ≥ 0, x3 ≥ 0.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
Éléments du modèle
Entités importantes
1
donnée : besoins nutritionnels b = (1250, 250, 900, 232, 5) ;
2
donnée : coût de chaque grain c = (41, 35, 96) ;
3
donnée
 : quantités denutriments par sorte de grain
2
3 7
 1
1 0 
;
Q=
 5
3 0 
1.5 1.2 1
variables de décisions : quantités de chacune des 3 sortes de
grain, x1 , x2 , x3 ;
4
5
restriction implicite : x1 ≥ 0, x2 ≥ 0, x3 ≥ 0.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
Éléments du modèle
Entités importantes
1
donnée : besoins nutritionnels b = (1250, 250, 900, 232, 5) ;
2
donnée : coût de chaque grain c = (41, 35, 96) ;
3
donnée
 : quantités denutriments par sorte de grain
2
3 7
 1
1 0 
;
Q=
 5
3 0 
1.5 1.2 1
variables de décisions : quantités de chacune des 3 sortes de
grain, x1 , x2 , x3 ;
4
5
restriction implicite : x1 ≥ 0, x2 ≥ 0, x3 ≥ 0.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
Éléments du modèle
Formulation mathématique
min
41x1 +
sujet à
2x1
x1
5x1
1.5x1
x1
35x2 + 96x3
+
3x2 +
+
x2
+
3x2
+ 1.2x2 +
,
x2 ,
Jean-Pierre Dussault
7x3 ≥ 1250;
≥
250;
≥
900;
x3 ≥ 232.5;
x3 ≥
0.
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
Plan
1
Un exemple de diète simple
La situation
Formulation mathématique
Traduction AMPL
2
Généralisation
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
3
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
var x1;
var x2;
var x3;
minimize cost:
subject to
Bornex1:
Bornex2:
Bornex3:
41*x1 +
A:
B:
C:
D:
2*x1
x1
5*x1
1.5*x1
35*x2 + 96*x3;
+
3*x2 +
+
x2
+
3*x2
+ 1.2*x2 +
x1
x2
Jean-Pierre Dussault
Le langage AMPL
7*x3 >= 1250;
>= 250;
>= 900;
x3 >= 232.5;
>=
>=
x3 >=
0;
0;
0;
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
La situation
Formulation mathématique
Traduction AMPL
La traduction est directe. La fonction économique est nommée
(cost), et chacune des contraintes également (A, B, C, D,
Bornex1, Bornex2, Bornex3).
Un langage ne serait pas nécessaire pour formuler un problème
spécifique.
Voyons l’abstraction de ce problème.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
Plan
1
Un exemple de diète simple
La situation
Formulation mathématique
Traduction AMPL
2
Généralisation
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
3
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
Modèle plus abstrait
Formulation mathématique I
t
Utilisons
 900, 232, 5) , c = (41, 35, 96) et
 b = (1250, 250,
2
3 7
 1
1 0 
 pour récrire
Q=
 5
3 0 
1.5 1.2 1
min
c 1 x1 +
c 2 x2 +
c 3 x3
sujet à Q11 x1
Q21 x1
Q31 x1
Q41 x1
x1
+
+
+
+
,
Q12 x2 + Q13 x3
Q22 x2
Q32 x2
Q42 x2 + Q43 x3
x2 ,
x3
Jean-Pierre Dussault
Le langage AMPL
≥
≥
≥
≥
≥
b1 ;
b2 ;
b3 ;
b4 ;
0.
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
Modèle plus abstrait
Formulation mathématique II
ou encore
min
P3
sujet à
P3
Q1i xi
Pi=1
3
Q2i xi
Pi=1
3
Q3i xi
Pi=1
3
i=1 Q4i xi
x
i=1
Jean-Pierre Dussault
c i xi
≥
≥
≥
≥
≥
Le langage AMPL
b1 ;
b2 ;
b3 ;
b4 ;
0.
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
Modèle plus abstrait
Formulation mathématique III
ou finalement
min
P3
c i xi
sujet à
P3
Qji xi
x
i=1
i=1
≥ bj ; ∀j = 1, 2, 3, 4
≥ 0.
On a donc les données c, b, Q et les variables de décision x. Les
coûts c concernent un ensemble d’aliments (grains) et les besoins
b concernent un ensemble de nutriments. Emprumptons de
l’anglais les noms FOOD et NUTR pour ces ensembles.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
Modèle plus abstrait
Formulation mathématique IV
On peut écrire
min
P
c i xi
sujet à
P
Qji xi
x
∀i∈FOOD
∀i∈FOOD
Jean-Pierre Dussault
≥ bj ; ∀j ∈ NUTR
≥ 0.
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
set NUTR;
set FOOD;
param c {FOOD} > 0;
param b {NUTR} >= 0;
param Q {NUTR,FOOD} >= 0;
var x {j in FOOD} >= 0;
minimize
total_cost: sum {i in FOOD} c[i]*x[i];
subject to
diet{j in NUTR}: sum {i in FOOD} Q[j,i]*x[i] >= b[j];
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
Plan
1
Un exemple de diète simple
La situation
Formulation mathématique
Traduction AMPL
2
Généralisation
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
3
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
Ceci constitue la moitié de la traduction AMPL du problème, le
modèle. On le conserve habituellement dans un fichier d’extension
“.mod”, diet.mod dans ce cas.
Les valeurs specifiques pour un problème donné sont fournies dans
un fichier d’extension “.dat”, diet.dat dans notre cas. diet.dat
fournit les valeurs pour les ensembles NUTR et FOOD, les vecteurs
c et b, ainsi que la matrice Q.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
set NUTR := A B C D;
set FOOD := grain1 grain2 grain3 ;
param:
c
param:
D
b := A
232.5 ;
param
A
B
C
D
Q:
grain1
2
1
5
1.5
:= grain1
41 grain2
1250 B
grain2
3
1
3
1.2
Jean-Pierre Dussault
grain3
7
0
0
1;
35 grain3
250 C
:=
Le langage AMPL
96
900
;
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
Plan
1
Un exemple de diète simple
La situation
Formulation mathématique
Traduction AMPL
2
Généralisation
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
3
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
Modèle plus général
Bornes
Il est de bonne guerre de spécifier des bornes sur la plupart des
quantités du modele.
P3
min
c i xi
i=1
sujet à bmaxj
xmax
≥
≥
P3
i=1 Qji xi
Jean-Pierre Dussault
x
≥ bminj ; ∀j = 1, 2, 3, 4
≥ xmin .
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
set NUTR;
set FOOD;
param c {FOOD} > 0;
param x_min {FOOD} >= 0;
param x_max {j in FOOD} >= x_min[j];
param b_min {NUTR} >= 0;
param b_max {i in NUTR} >= b_min[i];
param Q {NUTR,FOOD} >= 0;
var x {j in FOOD} >= x_min[j], <= x_max[j];
minimize total_cost: sum {j in FOOD} c[j] * x[j];
subject to diet {i in NUTR}:
b_min[i] <= sum {j in FOOD} Q[i,j] * x[j] <= b_max[i];
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
On peut maintenant reformuler le modèle de départ en spécifiant
des valeurs pour ce modèle plus abstrait. On utilise encore un
fichier d’extension “.dat” pour ça.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
set NUTR
set FOOD
param:
grain1
grain2
grain3
param:
A
B
C
D
param Q:
A
B
C
D
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
:= A B C D;
:= grain1 grain2 grain3 ;
c
x_min x_max :=
41
0
Infinity
35
0
Infinity
96
0
Infinity ;
b_min b_max :=
1250
Infinity
250
Infinity
900
Infinity
232.5 Infinity ;
grain1
grain2
grain3 :=
2
3
7
1
1
0
5
3
0
1.5
1.2
1;
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
On peut maintenant utiliser le modèle avec des données un peu
moins simplistes. Il s’agit toujours d’un problème simpliste, mais
qui se rapproche légèrement d’une situation réelle.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
set NUTR := A B1 B2 C ;
set FOOD := BEEF CHK FISH HAM MCH MTL SPG TUR ;
param:
BEEF
CHK
FISH
HAM
MCH
MTL
SPG
TUR
c
3.19
2.59
2.29
2.89
1.89
1.99
1.99
2.49
param:
A
C
B1
b_min
700
700
700
x_min
0
0
0
0
0
0
0
0
x_max :=
100
100
100
100
100
100
100
100 ;
b_max :=
10000
10000
10000
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
B2
700
param Q (tr):
A
BEEF
60
CHK
8
FISH
8
HAM
40
MCH
15
MTL
70
SPG
25
TUR
60
Aspects du langage
Implantation
10000 ;
C
20
0
10
40
35
30
50
20
B1
10
20
15
35
15
15
25
15
B2 :=
15
20
10
10
15
15
15
10 ;
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Plan
1
Un exemple de diète simple
La situation
Formulation mathématique
Traduction AMPL
2
Généralisation
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
3
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Richesse expressive pour définir des ensembles :
opérations (union, inter, diff, cross) ;
ensembles ordonnés, circulaires ;
ensembles d’ensembles.
Facilités pour définir des modèles non-linéaires.
Syntaxe spécialisée pour certains modèles :
réseaux ;
complémentarité.
Instructions de contrôle : if--then--else, for, etc.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Richesse expressive pour définir des ensembles :
opérations (union, inter, diff, cross) ;
ensembles ordonnés, circulaires ;
ensembles d’ensembles.
Facilités pour définir des modèles non-linéaires.
Syntaxe spécialisée pour certains modèles :
réseaux ;
complémentarité.
Instructions de contrôle : if--then--else, for, etc.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Richesse expressive pour définir des ensembles :
opérations (union, inter, diff, cross) ;
ensembles ordonnés, circulaires ;
ensembles d’ensembles.
Facilités pour définir des modèles non-linéaires.
Syntaxe spécialisée pour certains modèles :
réseaux ;
complémentarité.
Instructions de contrôle : if--then--else, for, etc.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Richesse expressive pour définir des ensembles :
opérations (union, inter, diff, cross) ;
ensembles ordonnés, circulaires ;
ensembles d’ensembles.
Facilités pour définir des modèles non-linéaires.
Syntaxe spécialisée pour certains modèles :
réseaux ;
complémentarité.
Instructions de contrôle : if--then--else, for, etc.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Richesse expressive pour définir des ensembles :
opérations (union, inter, diff, cross) ;
ensembles ordonnés, circulaires ;
ensembles d’ensembles.
Facilités pour définir des modèles non-linéaires.
Syntaxe spécialisée pour certains modèles :
réseaux ;
complémentarité.
Instructions de contrôle : if--then--else, for, etc.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Richesse expressive pour définir des ensembles :
opérations (union, inter, diff, cross) ;
ensembles ordonnés, circulaires ;
ensembles d’ensembles.
Facilités pour définir des modèles non-linéaires.
Syntaxe spécialisée pour certains modèles :
réseaux ;
complémentarité.
Instructions de contrôle : if--then--else, for, etc.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Richesse expressive pour définir des ensembles :
opérations (union, inter, diff, cross) ;
ensembles ordonnés, circulaires ;
ensembles d’ensembles.
Facilités pour définir des modèles non-linéaires.
Syntaxe spécialisée pour certains modèles :
réseaux ;
complémentarité.
Instructions de contrôle : if--then--else, for, etc.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Richesse expressive pour définir des ensembles :
opérations (union, inter, diff, cross) ;
ensembles ordonnés, circulaires ;
ensembles d’ensembles.
Facilités pour définir des modèles non-linéaires.
Syntaxe spécialisée pour certains modèles :
réseaux ;
complémentarité.
Instructions de contrôle : if--then--else, for, etc.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Richesse expressive pour définir des ensembles :
opérations (union, inter, diff, cross) ;
ensembles ordonnés, circulaires ;
ensembles d’ensembles.
Facilités pour définir des modèles non-linéaires.
Syntaxe spécialisée pour certains modèles :
réseaux ;
complémentarité.
Instructions de contrôle : if--then--else, for, etc.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Plan
1
Un exemple de diète simple
La situation
Formulation mathématique
Traduction AMPL
2
Généralisation
Abstraction du modèle simple
Séparation du modèle et des données
Généralisation du modèle abstrait
3
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Interface : doit utiliser un “solveur” pour effectivement
résoudre les problèmes ;
Pré-solve simplifie les problèmes avant de les soumettre aux
solveurs ;
Possibilités variées pour communiquer avec les solveurs
Interface commune pour de nombreux solveurs : serveur Web
NEOS.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Interface : doit utiliser un “solveur” pour effectivement
résoudre les problèmes ;
Pré-solve simplifie les problèmes avant de les soumettre aux
solveurs ;
Possibilités variées pour communiquer avec les solveurs
Interface commune pour de nombreux solveurs : serveur Web
NEOS.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Interface : doit utiliser un “solveur” pour effectivement
résoudre les problèmes ;
Pré-solve simplifie les problèmes avant de les soumettre aux
solveurs ;
Possibilités variées pour communiquer avec les solveurs
Interface commune pour de nombreux solveurs : serveur Web
NEOS.
Jean-Pierre Dussault
Le langage AMPL
Un exemple de diète simple
Généralisation
Le langage et l’implantation AMPL
Aspects du langage
Implantation
Interface : doit utiliser un “solveur” pour effectivement
résoudre les problèmes ;
Pré-solve simplifie les problèmes avant de les soumettre aux
solveurs ;
Possibilités variées pour communiquer avec les solveurs
Interface commune pour de nombreux solveurs : serveur Web
NEOS.
Jean-Pierre Dussault
Le langage AMPL

Documents pareils