Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Cours 1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 30

TP MODÉLISATION

Melle Boumesbah
OBJECTIF: CE TP PERMET DE VOUS FAMILIARISER
AVEC LA PROGRAMMATION D’UN MODÈLE
D’OPTIMISATION LINÉAIRE EN UTILISANT LINGO.

Comment écrire le modèle


sous la forme compacte sur
LINGO ?
LINGO: est un langage de
modélisation mathématique conçu pour
la résolution des problèmes
d'optimisation notamment la
programmation linéaire, non linéaires
et la programmation en nombre entier.
POUR ÉCRIRE UN MODÈLE DE PROGRAMMATION LINÉAIRE SOUS LA FORME
COMPACTE, ON DOIT DÉFINIR:

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 »

 LINGO vous informera de toutes les erreurs qu'il a


rencontrées.

 Si aucune erreur n'est trouvée, alors la fenêtre d'état


LINGO Solveur apparaît.
EXEMPLE1

 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.

 En fermant cette fenêtre, on pourra alors voir la


fenêtre Rapport Solution suivante:
La capture d'écran dans la moitié supérieure de la
figure1 montre comment ce problème pourrait être
formulé
EXEMPLE 2
 Une entreprise s’est engagée dans un projet du choix de
stations-services à réaliser parmi 11 stations retenues.
Notons S = {1,2,…,11} ensemble
’ des numéros des
stations services
 En tenant compte du coût de réalisation ci, i∈S, ainsi

que le bénéfice vi, i∈S et l’investissement I que


lentreprise
’ envisage de mobiliser en optimisant le
bénéfice obtenu de la construction des stations à réaliser.
LE MODÈLE MATHÉMATIQUE
ASSOCIÉ:
DANS CE MODÈLE MATHÉMATIQUE, SEULE LA
CONTRAINTE DE NON DÉPASSEMENT DE
L’INVESTISSEMENT
’ EST CONSIDÉRÉE:
EXEMPLE 3: MODÈLE DE TRANSPORT
 Écrire le modèle de programmation linéaire sous la
forme compacte qui permet de trouver la quantité
transportée entre des entrepôts et des clients.
 Les ensembles

 I: ensemble des entrepôt

 J: ensemble des clients

 Les données

 Cij: coût de transport entre l’entrepôt i et le client j

 Bi : capacité de l’entrepôt i

 Aj : la demande du client j

 Les variables de décision

 Xij: Volume transporté entre l’entrepôt i et le client j


MODÈLE DE TRANSPORT
•La fonction objectif
3 4
Min Z   Cij X ij
i 1 j 1

•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.

 Avec LINGO, on a la possibilité de charger les


données de EXCEL.
INTERFACE ENTRE LINGO ET
EXCEL
 Comment faire?
 Deux étapes importantes

1. Préparation des données dans


EXCEL

2. Modifications dans la section SETS ET DATA


INTERFACE ENTRE LINGO ET
EXCEL
 Préparation des données
Ensemble: Warehouse
INTERFACE ENTRE LINGO ET
EXCEL
 Préparation des données
Ensemble: Customer
INTERFACE ENTRE LINGO ET
EXCEL
 Préparation des données
Paramètre: CAPACITY
INTERFACE ENTRE LINGO ET
EXCEL
 Préparation des données
Paramètre: DEMAND
INTERFACE ENTRE LINGO ET
EXCEL
 Préparation des données
Paramètre: COST
INTERFACE ENTRE LINGO ET
EXCEL
 Préparation des données
Variable: VOLUME
INTERFACE ENTRE LINGO ET
EXCEL
 Préparation des données
Variable: VOLUME
Cellules
réponses
INTERFACE ENTRE LINGO ET EXCEL
 Modifications des les sections SETS et
DATA

Chargement des données

Renvoi les réponses


MODEL:
!A 3 WAREHOUSES, 4 CUSTOMER TRANSPORTATION PROBLEM
SET MEMBERS AND DATA ARE IMPORTED FORM
DATATRANSPPROBLEM.XLSX AND
THE SOLUTION IS EXPORTED BACK TO
DATATRANSPPROBLEM.XLSX;

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

Vous aimerez peut-être aussi