Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin...
Transcript of Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin...
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Optimisation lineaire: Applications
MTH8415
S. Le Digabel, Polytechnique Montreal
H2020(v2)
MTH8415: Optimisation lineaire: Applications 1/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Plan
1. Optimisation lineaire avec le solveur de Excel
2. Autres solveurs
3. Application : Approximations lineaires
4. Application : Jeux matriciels
References
MTH8415: Optimisation lineaire: Applications 2/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
1. Optimisation lineaire avec le solveur de Excel
2. Autres solveurs
3. Application : Approximations lineaires
4. Application : Jeux matriciels
References
MTH8415: Optimisation lineaire: Applications 3/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Introduction
I Outil integre dans Excel pour l’optimisation lineaire, nonlineaire, et en nombres entiers
I Optimisation lineaire avec le simplexe
I Avantages :I Simplicite d’utilisation. Base sur ExcelI Efficace pour des problemes de taille raisonnableI Outils pour l’analyse de sensibilite
I Inconvenients :I Pas adapte aux problemes de grande tailleI Difficilement integrable au sein d’autres applications
I Bonnes pratiques donnees dans [Ragsdale, 2010]
MTH8415: Optimisation lineaire: Applications 4/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Principes de base
I Communication : Le fichier doit etre clair (noms, couleurs,commentaires, etc.)
I Fiabilite : Les sorties doivent etre correctes et consistantes
I Comprehension : On devrait pouvoir comprendre le modeleet verifier les resultats
I Flexibilite : Un modele devrait etre facilement modifiable lejour ou les donnees changent
MTH8415: Optimisation lineaire: Applications 5/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Trucs (1/2)
I Organiser le format des donnees puis construire le modele apartir des donnees
I Ne jamais mettre de constante dans une formule maisl’adresse de la cellule contenant cette constante
I Les valeurs dont le sens est relie devraient etre situees prochesles unes des autres
I Les formules identiques devraient etre copiees/collees
I Le total d’une colonne devrait etre au bas de la colonne
I Le total d’une ligne devrait etre a droite de la ligne
MTH8415: Optimisation lineaire: Applications 6/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Trucs (2/2)
I On lit habituellement de gauche a droite et de haut en bas.Un modele devrait respecter cet ordre
I Utiliser les caracteristiques de Excel pour distinguer variables,parametres, formules, etc.
I Utiliser des zones de textes et des commentaires pour faciliterla lecture du modele
I Laisser les parametres en orange
MTH8415: Optimisation lineaire: Applications 7/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Variables d’optimisation
I Une cellule par variable
I Les placer sur une meme ligne dans des colonnes contigues
I Ajouter une particularite (couleur bleue) pour identificationrapide
I Placer le nom des variables dans les cellules juste au-dessus eta gauche (lecture facile des sorties)
I Optionnel : Fournir une valeur initiale aux variables
MTH8415: Optimisation lineaire: Applications 8/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Fonction objectif
I Placer les coefficients de maniere similaire aux variables
I Calculer avec la fonction Excel SOMMEPROD (SUMPRODUCT)
I Placer le nom juste au-dessus ou nommer la cellule
I Ajouter une particularite (couleur jaune) pour identificationrapide
MTH8415: Optimisation lineaire: Applications 9/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Contraintes
I Une contrainte par ligne
I Un seul nombre a droite dans une cellule distincte
I Toutes les variables a gauche
I Placer les coefficients dans colonnes correspondant auxvariables
I Faire le calcul (avec SOMMEPROD) du membre de gauche etplacer le resultat dans une cellule
I Placer le nom de la contrainte a gauche
I Ajouter particularite (couleur verte) pour identification rapide
MTH8415: Optimisation lineaire: Applications 10/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Execution du solveurI Lancer l’interface du solveur depuis le menu Outils ou
Donnees
I Cellule cible a definir : fonction objectif (min/max)
I Cellules variables : variables de decision
I Contraintes : contraintes
I Via les Options du solveur :I Suppose non-negatif : contraintes de non negativite
I Indiquer Modele suppose lineaire
I Cocher Echelle automatique
I Cliquer sur Resoudre, puis Reponses (Sensibilite) et surOk
I Apres : Bien lire le message pour savoir si ca a marche
MTH8415: Optimisation lineaire: Applications 11/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Exemple 1 : Oak Products
I [Weatherford, 1997]
I La compagnie Oak Products fabrique 6 types de chaises apartir de 11 composantes
I Chaque semaine on regarde l’inventaire des composantes eton etablit le plan de production
I Chaque type de chaise induit un profit unitaire
I Combien doit on produire de chaises de chaque type ?
MTH8415: Optimisation lineaire: Applications 12/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Oak Products : Donnees
MTH8415: Optimisation lineaire: Applications 13/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Oak Products : Variables et objectif
I Une variable de decision par type de chaise :x = (C,M,H,L,K,Q), avec :
I C : nombre de chaises Captain produitesI M (Mate)I H (American High)I L (American Low)I K (Spanish King)I Q (Spanish Queen)
I Profit : Fonction objectif a maximiser :
f(x) = 36C + 40M + 45H + 38L+ 35K + 25Q
MTH8415: Optimisation lineaire: Applications 14/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Oak Products : Contraintes
I Une condition contrainte d’inventaire a respecter pourchacune des composantes (contraintes ≤) :I Nombre de grandes chevilles :
c1(x) = 8C + 12H + 8K + 4Q ≤ 1280I Nombre de petites chevilles :
c2(x) = 4C + 12M + 12L+ 4K + 8Q ≤ 1900. . .
I Nombre de dossiers type Spanish : c11(x) = K +Q ≤ 85
I Finalement, il y a des imperatifs de production a respecter : ilfaut produire des nombres positifs de chaises (contraintes ≥) :C ≥ 0, M ≥ 0, H ≥ 0, . . ., Q ≥ 0
MTH8415: Optimisation lineaire: Applications 15/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Oak Products : Modele
maxC,M,H,L,K,Q
36C + 40M + 45H + 38L+ 35K + 25Q
s.c.
8C + 12H + 8K + 4Q ≤ 12804C + 12M + 12L+ 4K + 8Q ≤ 19004C + 4M + 4H + 4L+ 4K + 4Q ≤ 1090C +K +Q ≤ 190M +H + L ≤ 170. . .K +Q ≤ 85C,M,H,L,K,Q ≥ 0
MTH8415: Optimisation lineaire: Applications 16/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Oak Products : Resolution
Voir fichier Ex1-Oak Products.xlsx
MTH8415: Optimisation lineaire: Applications 17/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Exemple 2 : Blue Ridge Hot Tubs (BRHT)
I [Ragsdale, 2010]
I Modele :
Max. profit 350X1 + 300X2
Pompes X1 +X2 ≤ 200Main d’œuvre 9X1 + 6X2 ≤ 1566
Tuyaux 12X1 + 16X2 ≤ 2880non-negativite X1, X2 ≥ 0
MTH8415: Optimisation lineaire: Applications 18/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
BRHT : Rapport de sensibilite
MTH8415: Optimisation lineaire: Applications 19/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
BRHT : Sensibilite aux coefficients de l’objectifI Les valeurs appelees “Augmentation admissible” et “Reduction
admissible” pour les cellules variables indiquent la taille maximaledes variations du coefficient de l’objectif qui laissent la solutionoptimale inchangee (meme point extreme) en supposant que tousles autres coefficients restent inchanges
I Un zero pour “Augmentation admissible” ou “Reductionadmissible” indique qu’il existe plus d’une solution optimale
I L’intervalle admissible de changement decrit dans le rapport desensibilite n’est valable que si tous les autres coefficients restentfixes (i.e. seulement un est change)
I Si le changement sort de l’intervalle admissible, il faut resoudre leprobleme a nouveau pour en connaıtre l’impact sur la solutionoptimale (i.e. les nouvelles valeurs optimales des variables et del’objectif)
MTH8415: Optimisation lineaire: Applications 20/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
BRHT : Interpretation des couts reduits desvariables
I Pour une variable qui n’est pas a sa borne superieure ouinferieure, le cout reduit est de zero
I Pour une variable qui est a sa borne sup. ou inf., le coutreduit indique l’impact sur la valeur optimale de l’objectifd’une augmentation d’une unite de cette variable
I Une variable dont la valeur optimale est a son minimum a uncout reduit relie au changement minimum du coefficient del’objectif qui rend une augmentation de cette variableprofitable
MTH8415: Optimisation lineaire: Applications 21/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
BRHT : Sensibilite aux membres de droite descontraintes
MTH8415: Optimisation lineaire: Applications 22/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
BRHT : Sensibilite aux mdd des contraintesI Changer le membre de droite d’une contrainte :
I Peut changer la valeur optimale de l’objectifI Peut changer la solution optimale (un nouveau point extreme)
I Le rapport de sensibilite associe un cout ombre (shadow price)a chacune des contraintes. Celui-ci indique de combienl’objectif augmentera par unite d’augmentation du membre dedroite, en supposant que tous les autres parametres restentconstants
I Le cout ombre n’est valable que si le mdd reste dansl’intervalle admissible, defini par les valeurs de “Augmentationadmissible” et de “Reduction admissible”
I Les couts ombre correspondent aux opposes des couts reduitsdes variables d’ecart et aux solutions duales
MTH8415: Optimisation lineaire: Applications 23/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
BRHT : Sensibilite aux mdd des contraintesI Si la variation du mdd est dans cet intervalle, la nouvelle
valeur optimale de l’objectif se calcule comme suit :Variation de l’obj. = variation du mdd × cout ombre
I Le cout ombre des contraintes inactives est toujours zero :Changer la valeur du mdd d’une contrainte inactive n’affectepas la solution optimale
I Ces regles ne s’appliquent que si seulement un parametre(mdd) est modifie
I Le cout ombre indique seulement la variation de la valeuroptimale de l’objectif. Si la contrainte est active, changer sonmdd affecte l’ensemble des solution admissibles et mene a unenouvelle solution optimale. Pour trouver la nouvelle solutionoptimale, nous devons resoudre a nouveau le probleme
MTH8415: Optimisation lineaire: Applications 24/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
BRHT : Autre usage des couts ombre
I Supposons qu’un nouveau bain (le Typhoon-Lagoon) peutetre produit par BRHT. Son profit unitaire serait de 320$ etrequiert : 1 pompe (cout ombre = 200$), 8 heures de maind’œuvre (cout ombre = 16.67$), 13 pieds de tuyaux (coutombre = 0$)
I Est-il profitable de produire ce bain ?
I 320− 200× 1− 16.67× 8− 0× 13 = −13.33$ : Non
I Un produit dont le profit marginal est au dessous du coutmarginal de sa production (mesure avec les couts ombre desressources) ne peut etre produit dans une solution optimale (amoins d’ajouter une contrainte de production minimale)
MTH8415: Optimisation lineaire: Applications 25/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
BRHT : Solution degeneree
I La solution d’un POL est appelee degeneree si une desvariables de base est a sa borne superieure ou a sa borneinferieure
I On detecte une solution degeneree si l’augmentation ou ladiminution admissible pour le mdd d’une contrainte est a zero
I Dans ce cas, le rapport de sensibilite est difficilementinterpretable
MTH8415: Optimisation lineaire: Applications 26/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Exemple 3 : Eastern Steel
I ES achete du minerai provenant de 4 mines et melange cesminerais pour obtenir de l’acier. La qualite de l’acier se mesureen fonction de la teneur du melange, selon 3 types d’elementA, B et C. Par tonne d’acier, il faut au moins 5 kilos de A,100 de B, 30 de C. A, B et C sont en quantites differentesdans le minerai des 4 mines exploitees et a des prix differents :
Mine 1 Mine 2 Mine 3 Mine 4A (kg/tonne) 10 3 8 2B (kg/tonne) 90 150 75 175C (kg/tonne) 45 25 20 37$/tonne 800 400 600 500
I Il faut determiner le melange a cout minimal
MTH8415: Optimisation lineaire: Applications 27/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
ES : Modele
I Variables : M1,M2,M3,M4 : Quantite de minerai des mines1 a 4 dans une tonne d’acier
I Modele :
min 800M1 + 400M2 + 600M3 + 500M4
s.c.
10M1 + 3M2 + 8M3 + 2M4 ≥ 5 (1)90M1 + 150M2 + 75M3 + 175M4 ≥ 100 (2)45M1 + 25M2 + 20M3 + 37M4 ≥ 30 (3)M1 +M2 +M3 +M4 = 1 (4)M1,M2,M3,M4 ≥ 0
MTH8415: Optimisation lineaire: Applications 28/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
ES : Rapport de sensibilite
MTH8415: Optimisation lineaire: Applications 29/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
ES : Questions
I De combien au maximum la mine 2 peut-elle augmenter sonprix sans voir ses ventes aupres de ES baisser ?Reponse : 66.85$
I De combien la mine 4 doit-elle baisser son prix pour reussir avendre son minerai a ES ?Reponse : 91.11$
I Sans renegocier le prix des minerais aupres des mines,comment ES peut-elle baisser son cout de minerai a 500$ partonne ?Possibilite 1 : Relaxer la contrainte (1) de 5 a 4.75(511.11− 0.25× 44.44 = 500)Possibilite 2 : Relaxer la contrainte (3) de 30 a 27.5(511.11− 2.5× 4.444 = 500)
MTH8415: Optimisation lineaire: Applications 30/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
1. Optimisation lineaire avec le solveur de Excel
2. Autres solveurs
3. Application : Approximations lineaires
4. Application : Jeux matriciels
References
MTH8415: Optimisation lineaire: Applications 31/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Optimisation lineaire avec Matlab
I Pour resoudre minx∈Rn
f(x) = c>x
s.c.
Ax ≤ bDx = e` ≤ x ≤ u
I Executer la commande :
[x f flag output lambda] = linprog(c, A, b, D, e, l, u)
I lambda.ineqlin et lambda.eqlin permettent d’acceder auxvariables duales
MTH8415: Optimisation lineaire: Applications 32/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
CPLEX
I IBM CPLEX : Logiciel commercial
I Utilisation gratuite pour le monde academique
I Deux facons de l’utiliser : Via la ligne de commande ou enmode librairie
MTH8415: Optimisation lineaire: Applications 33/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Autres solveurs
I Gurobi, Mosek
I AMPL / GAMS : Avec langage de modelisation
I GLPK, CLP (gratuits)
I Et beaucoup d’autres. Voir page Wikipedia de l’optimisationlineaire
MTH8415: Optimisation lineaire: Applications 34/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
1. Optimisation lineaire avec le solveur de Excel
2. Autres solveurs
3. Application : Approximations lineaires
4. Application : Jeux matriciels
References
MTH8415: Optimisation lineaire: Applications 35/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
IntroductionI On cherche a resoudre le systeme d’equations lineairesAx = b, c’est-a-dire trouver x = (xj) ∈ Rn tel que
n∑j=1
aijxj = bi pour i ∈ {1, 2, . . . ,m}
avec A = (aij) ∈ Rm×n, b = (bi) ∈ Rm et m > n (plusd’equations que d’inconnues)
I On suppose que A est de plein rang colonne (r(A) = n)
I La plupart du temps, ce systeme ne possede pas de solution
I On cherche donc une approximation, c’est-a-dire un pointx∗ ∈ Rn qui minimise une erreur entre
∑nj=1 aijx
∗j et bi pour
chaque equation (i)
MTH8415: Optimisation lineaire: Applications 36/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Exemple
On veut trouver une approximation pour
x1 +x2 +x3 = 603x1 +2x2 +x3 = 100x1 +x2 = 31
x2 +x3 = 49
ou encore Ax = b avec A =
1 1 13 2 11 1 00 1 1
et b = (60, 100, 31, 49)
MTH8415: Optimisation lineaire: Applications 37/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Residus
I On definit le vecteur de residus associe a une solution x ∈ Rnpar
r = (r1, r2, . . . , rm)
avec
ri = bi −n∑j=1
aijxj pour tout i = 1, 2, . . . ,m
I La meilleure approximation lineaire est celle qui minimise lanorme des residus, mais il y a plusieurs normes possibles
MTH8415: Optimisation lineaire: Applications 38/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Normes des residusNorme p :
‖r‖p = ‖b−Ax‖p = (|r1|p + |r2|p + . . .+ |rm|p)1/p
Ce qui donne :
I Pour p = 1 (norme `1) :
‖r‖1 = |r1|+ |r2|+ . . .+ |rm|
I Pour p = 2 (norme euclidienne) :
‖r‖2 =√r21 + r22 + . . .+ r2m
I Pour p =∞ (norme `inf) :
‖r‖∞ = limp→∞
‖r‖p = maxi∈{1,2,...,m}
|ri|
MTH8415: Optimisation lineaire: Applications 39/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Comparaison de differentes solutions
x1 x2 x3 r1 r2 r3 r4 ‖r‖1 ‖r‖2 ‖r‖∞
10 20 30 0 0 1 −1 2 1.4142 1
9 22 29 0 0 0 −2 2 2 2
11 18 31 0 0 2 0 2 2 2
11 20 29 0 −2 0 0 2 2 2
x∗`1 10 21 28 1 0 0 0 1 1 1
x∗`2 10.1429 20.5714 28.7143 0.5714 −0.2857 0.2857 −0.2857 1.4286 0.7559 0.5714
x∗`∞ 10.2 20.4 29 0.4 −0.4 0.4 −0.4 1.6 0.8 0.4
MTH8415: Optimisation lineaire: Applications 40/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Solution pour p = 2I Revient a resoudre le probleme d’optimisation non lineaire
sans contrainte
minx∈Rn
m∑i=1
n∑j=1
aijxj − bi
2
I Il s’agit de la regression au sens des moindres carres, pourlaquelle on a une solution analytique donnee par
x∗ = (A>A)−1A>b
(preuve dans cours d’algebre)
I Si r(A) = n, (A>A)−1 et x∗ existent
I Pour l’exemple, on obtient
x∗ = x∗`2 = (10.1429, 20.5714, 28.7143)
MTH8415: Optimisation lineaire: Applications 41/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Solution pour p = 1 : Modele lineaireAvec A> = [a1 a2 . . . am] (i.e. ai : ieme ligne de A), on veutresoudre
minx∈Rn
‖b−Ax‖1 = minx∈Rn
m∑i=1
∣∣∣bi − a>i x∣∣∣= min
x∈Rn,τ∈Rm
m∑i=1
τi s.c. τi ≥∣∣bi − a>i x∣∣ , i = 1, 2, . . . ,m
= minx∈Rn,τ∈Rm
m∑i=1
τi s.c.
{τi ≥ bi − a>i x i = 1, 2, . . . ,mτi ≥ −bi + a>i x i = 1, 2, . . . ,m
= minx∈Rn,τ∈Rm
1>τ s.c.
{Ax+ τ ≥ b−Ax+ τ ≥ −b
(avec 1 = (1, 1, . . . , 1))
MTH8415: Optimisation lineaire: Applications 42/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Solution pour p = 1 : Dual
I Primal (n+m variables, 2m contraintes) :min
x∈Rn,τ∈Rm1>τ
s.c.
{Ax+ τ ≥ b (u)−Ax+ τ ≥ −b (v)
I Dual (2m variables, m+ n contraintes) :maxu,v∈Rm
b>u− b>v
s.c.
A>u−A>v = 0 (x)
u+ v = 1 (τ)u, v ≥ 0
MTH8415: Optimisation lineaire: Applications 43/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Solution pour p = 1 : Dual simplifie
I A partir du dual :maxu,v∈Rm
b>u− b>v
s.c.
A>u−A>v = 0
u+ v = 1u, v ≥ 0
I On pose v = 1− u et le probleme devient
−b>1+ 2 maxu∈Rm
b>u
s.c.
{A>u = 1
2A>1
0 ≤ u ≤ 1
(m variables, n contraintes)
MTH8415: Optimisation lineaire: Applications 44/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Solution pour p = 1 : Pour l’exempleI Il faut resoudre
maxu1,...,u4
60u1 + 100u2 + 31u3 + 49u4
s.c.
u1 + 3u2 + u3 = 5/2u1 + 2u2 + u3 + u4 = 5/2u1 + u2 + u4 = 3/20 ≤ u1, u2, u3, u4 ≤ 1
I La solution est u∗ = (1, 1/4, 3/4, 1/4) qui permet de retrouver
x∗ = x∗`1 = (10, 21, 28)
de valeur
‖r‖1 = −b>1+ 2b>u∗ = −240 + 241 = 1
MTH8415: Optimisation lineaire: Applications 45/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Solution pour p =∞ : Modele lineaire
On veut resoudre
minx∈Rn
‖b−Ax‖∞ = minx∈Rn
maxi=1,2,...,m
∣∣∣bi − a>i x∣∣∣= min
x∈Rn,τ∈Rτ s.c. τ ≥
∣∣bi − a>i x∣∣ , i = 1, 2, . . . ,m
= minx∈Rn,τ∈R
τ s.c.
{τ ≥ bi − a>i x i = 1, 2, . . . ,mτ ≥ −bi + a>i x i = 1, 2, . . . ,m
= minx∈Rn,τ∈R
τ s.c.
{Ax+ τ1 ≥ b−Ax+ τ1 ≥ −b
MTH8415: Optimisation lineaire: Applications 46/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Solution pour p =∞ : Dual
I Primal (n+ 1 variables, 2m contraintes) :
minx∈Rn,τ∈R
τ s.c.
{Ax+ τ1 ≥ b (u)−Ax+ τ1 ≥ −b (v)
I Dual (2m variables, n+ 1 contraintes) :maxu,v∈Rm
b>u− b>v
s.c.
A>u−A>v = 0 (x)1>u+ 1>v = 1 (τ)
u, v ≥ 0
MTH8415: Optimisation lineaire: Applications 47/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Solution pour p =∞ : Pour l’exempleI Il faut resoudre
maxu1,...,v4
60(u1− v1) + 100(u2− v2) + 31(u3− v3) + 49(u4− v4)
s.c.
u1 − v1 + 3(u2 − v2) + u3 − v3 = 0u1 − v1 + 2(u2 − v2) + u3 − v3 + u4 − v4 = 0u1 − v1 + u2 − v2 + u4 − v4 = 0u1 + u2 + u3 + u4 + v1 + v2 + v3 + v4 = 1u1, . . . , u4, v1, . . . , v4 ≥ 0
I La solution est (u∗, v∗) = (0.4, 0, 0.2, 0, 0, 0.2, 0, 0.2) quipermet de retrouver
x∗ = x∗`∞ = (10.2, 20.4, 29)
de valeur‖r‖∞ = 0.4
MTH8415: Optimisation lineaire: Applications 48/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
1. Optimisation lineaire avec le solveur de Excel
2. Autres solveurs
3. Application : Approximations lineaires
4. Application : Jeux matriciels
References
MTH8415: Optimisation lineaire: Applications 49/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Introduction : Exemple
I Jeu du “roche, papier, ciseaux” pour deux joueurs
I Chaque joueur possede trois strategies pures : {P,R, S}
I Matrice de profit A :
P R S
P 0 1 −1R −1 0 1S 1 −1 0
MTH8415: Optimisation lineaire: Applications 50/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Strategies
I Strategie du joueur 1 : Tirer p au hasard dans [0; 1] et :
Si p ∈ [0; 1/2] → jouer PSi p ∈]1/2; 5/6] → jouer R
Si p ∈]5/6; 1] → jouer S
I Cette strategie mixte est representee par le vecteurstochastique x = (1/2, 1/3, 1/6)
I Tout vecteur x ∈ R3 tel que x ≥ 0 et 1>x = 1 definit unestrategie mixte
I Similairement, le joueur 2 joue une strategie mixte y ∈ R3
avec y ≥ 0 et 1>y = 1
MTH8415: Optimisation lineaire: Applications 51/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Profit moyenI Le profit moyen du joueur 1 est donne par :
∑i,j∈{P,R,S}
Ai,j×P (joueur 1 joue i)×P (joueur 2 joue j) = x>Ay
I Pour l’exemple :
x>Ay =
[1
2
1
3
1
6
]>A
y1y2y3
= −1
6y1 +
1
3y2 −
1
6y3
I Si le joueur 2 joue y = (1/3, 1/3, 1/3), alors le profit moyendu joueur 1 est 0. Si y = (1/2, 1/4, 1/4), le profit devient−1/24 : Sur le long terme, le joueur 1 aura paye 1/24$ aujoueur 2 par partie
MTH8415: Optimisation lineaire: Applications 52/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Strategie du joueur 2 en reponse au joueur 1
I Si le joueur 2 connaıt la strategie du joueur 1, il devrait choisiry avec le modele d’OL suivant :
miny∈R3
x>Ay = −1
6y1 +
1
3y2 −
1
6y3
s.c.
{y1 + y2 + y3 = 1
y1, y2, y3 ≥ 0dont la solution est de la forme y = (k, 0, 1− k) aveck ∈ [0; 1] pour un profit moyen de −1/6(a montrer en exercice)
I Donc le joueur 1 devrait changer de strategie
MTH8415: Optimisation lineaire: Applications 53/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Strategies d’equilibre
I (x, y) sont des strategies d’equilibre si x est la meilleurereponse a y et si y est la meilleure reponse a x
I C’est a dire :
x ∈ argmaxx∈X
x>Ay avec X ={x ≥ 0 : 1>x = 1
}ety ∈ argmin
y∈Yx>Ay avec Y =
{y ≥ 0 : 1>y = 1
}I On recherche de telles solutions
MTH8415: Optimisation lineaire: Applications 54/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Chercher les strategies d’equilibre
I Le joueur 1 doit anticiper la strategie du joueur 2 et resoudremaxx∈X
x>Ay ou y resout miny∈Y
x>Ay
I Le joueur 1 doit donc resoudre
maxx∈X
(miny∈Y
x>Ay
)
I Et le joueur 2 doit resoudre
miny∈Y
(maxx∈X
x>Ay
)
MTH8415: Optimisation lineaire: Applications 55/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Duaux des deux problemes a resoudre
(1) maxx∈X
(miny∈Y
x>Ay
)= max
x∈Rn,z∈Rz
s.c.
1>z − x>A ≤ 0
1>x = 1x ≥ 0
(2) miny∈Y
(maxx∈X
x>Ay
)= min
y∈Rn,w∈Rw
s.c.
1w −Ay ≥ 0
1>y = 1y ≥ 0
De plus (2) est le dual de (1)
MTH8415: Optimisation lineaire: Applications 56/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Theoreme du minimax
Theoreme
maxx∈X
(miny∈Y
x>Ay
)= min
y∈Y
(maxx∈X
x>Ay
)
Corollaire
Il existe toujours des strategies d’equilibre
En effet, si (x, z) resout (1) et si (y, w) resout (2), alors (x, y)sont des strategies d’equilibre
MTH8415: Optimisation lineaire: Applications 57/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
Strategie d’equilibre pour roche, papier, ciseauxI Le joueur 1 doit resoudre
maxz,x1,x2,x3
z
s.c.
z + x2 − x3 ≤ 0z − x1 + x3 ≤ 0z + x1 − x2 ≤ 0x1 + x2 + x3 = 1x1, x2, x3 ≥ 0
dont la solution est x = (1/3, 1/3, 1/3), qui correspond ay = (1/3, 1/3, 1/3), le tout pour un profit moyen de 0
I Le jeu matriciel est dit juste
I Les jeux symetriques (tels que A> = A) sont justes
MTH8415: Optimisation lineaire: Applications 58/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
1. Optimisation lineaire avec le solveur de Excel
2. Autres solveurs
3. Application : Approximations lineaires
4. Application : Jeux matriciels
References
MTH8415: Optimisation lineaire: Applications 59/60
Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References
References I
Ragsdale, C. (2010).
Spreadsheet Modeling & Decision Analysis.
South-Western, Cengage Learning, 6th edition.
Weatherford, L. (1997).
Introductory Management Science : Decision Modeling with Spreadsheets.
Prentice Hall, 5th edition.
MTH8415: Optimisation lineaire: Applications 60/60