Cours 1
Cours 1
Cours 1
Melle Boumesbah
OBJECTIF: CE TP PERMET DE VOUS FAMILIARISER
AVEC LA PROGRAMMATION D’UN MODÈLE
D’OPTIMISATION LINÉAIRE EN UTILISANT LINGO.
Les ensembles
Les données
Les variables de décision
La fonction objectif
Les contraintes
Une fois le modèle est écrit dans la fenêtre Modèle
LINGO, il peut être résolu en cliquant sur le bouton
« Solve » de la barre d'outils, ou en utilisant le raccourci
« Ctrl + s »
Max z=20x+31y
CONSIDÉRONS LE MODÈLE MATHÉMATIQUE SUIVANT:
S.C
2x+5y<=16
4x-3y=6
x>=0, y>=0.
Cette fenêtre contient des informations sur le nombre
de variables, le nombre de contraintes, les détails de la
classification du modèle (LP, QP, ILP, IQP, PNL,
etc), l'état de la solution actuelle (locale ou globale
optimale, etc), la valeur de la fonction objectif, et le
nombre d'itérations nécessaire pour résoudre le modèle
et la méthode utilisée pour la résolution.
Les données
Bi : capacité de l’entrepôt i
Aj : la demande du client j
•Les contraintes
- Contraintes de demande
3
X ij Aj , j 1,2,3,4
i 1
- Contraintes de capacité
4
X ij Bi, i 1,2,3
j 1
STRUCTURE DE DONNÉES DANS
LINGO
Les ensembles et les variables de
décision
LES DONNÉES
La fonction objectif
Les contraintes
INTERFACE ENTRE LINGO ET
EXCEL
Écrier les données dans le programme
n’est pas la meilleure façon surtout quand
le nombre de paramètres et très grand.
SETS:
WAREHOUSE/@OLE ('DataTranspProblem.XLSX')/:
CAPACITY;
CUSTOMER/@OLE ('DataTranspProblem.XLSX')/: DEMAND;
ROUTES(WAREHOUSE, CUSTOMER): COST, VOLUME;
Le modèle au
ENDSETS complet
!OBJECTIVE; devient :
[OBJ] MIN=@SUM(ROUTES:COST*VOLUME);
!DEMAND CONSTRAINTS;
@FOR(CUSTOMER(J): [DEM]
@SUM(WAREHOUSE(I):VOLUME(I,J))>=
DEMAND(J));
!SUPPLY CONSTRAINTS;
@FOR(WAREHOUSE(I):[CAP]
@SUM(CUSTOMER(J):VOLUME(I,J))<=
CAPACITY(I));
!DATA;
DATA:
CAPACITY,DEMAND,COST= @OLE
("DataTranspProblem.XLSX");
@OLE ("DataTranspProblem.XLSX", "VOLUME")=VOLUME;
@OLE ("DataTranspProblem.XLSX", "OBJ")=OBJ;
ENDDATA
END
Solution renvoyée
vers EXCEL