Vous êtes sur la page 1sur 60

1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr.

Références

Optimisation linéaire: Applications

MTH8415

S. Le Digabel, Polytechnique Montréal

H2019
(v4)

MTH8415: Optimisation linéaire: Applications 1/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Plan

1. Optimisation linéaire avec le solveur de Excel

2. Autres solveurs

3. Application : Approximations linéaires

4. Application : Jeux matriciels

Références

MTH8415: Optimisation linéaire: Applications 2/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

1. Optimisation linéaire avec le solveur de Excel

2. Autres solveurs

3. Application : Approximations linéaires

4. Application : Jeux matriciels

Références

MTH8415: Optimisation linéaire: Applications 3/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Introduction
I www.solver.com.
I Outil intégré dans Excel pour l’optimisation linéaire, non
linéaire, et en nombres entiers.
I Optimisation linéaire avec le simplexe.
I Avantages :
I Simplicité d’utilisation. Basé sur Excel.
I Efficace pour des problèmes de taille raisonnable.
I Outils pour l’analyse de sensibilité.
I Inconvénients :
I Pas adapté aux problèmes de grande taille.
I Difficilement intégrable au sein d’autres applications.

I Bonnes pratiques données dans [Ragsdale, 2010].

MTH8415: Optimisation linéaire: Applications 4/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Principes de base

I Communication : Le fichier doit être clair (noms, couleurs,


commentaires, etc.).

I Fiabilité : Les sorties doivent être correctes et consistantes.

I Compréhension : On devrait pouvoir comprendre le modèle


et vérifier les résultats.

I Flexibilité : Un modèle devrait être facilement modifiable le


jour où les données changent.

MTH8415: Optimisation linéaire: Applications 5/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Trucs (1/2)
I Organiser le format des données puis construire le modèle à
partir des données.
I Ne jamais mettre de constante dans une formule mais
l’adresse de la cellule contenant cette constante.
I Les valeurs dont le sens est relié devraient être situées proches
les unes des autres.
I Les formules identiques devraient être copiées/collées

I Le total d’une colonne devrait être au bas de la colonne.

I Le total d’une ligne devrait être à droite de la ligne.

MTH8415: Optimisation linéaire: Applications 6/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Trucs (2/2)

I On lit habituellement de gauche à droite et de haut en bas.


Un modèle devrait respecter cet ordre.

I Utiliser les caractéristiques de Excel pour distinguer variables,


paramètres, formules, etc.

I Utiliser des zones de textes et des commentaires pour faciliter


la lecture du modèle.

I Laisser les paramètres en orange.

MTH8415: Optimisation linéaire: Applications 7/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Variables d’optimisation

I Une cellule par variable

I Les placer sur une même ligne dans des colonnes contiguës.

I Ajouter une particularité (couleur bleue) pour identification


rapide.

I Placer le nom des variables dans les cellules juste au-dessus et


à gauche (lecture facile des sorties).

I Optionnel : Fournir une valeur initiale aux variables.

MTH8415: Optimisation linéaire: Applications 8/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Fonction objectif

I Placer les coefficients de manière 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 particularité (couleur jaune) pour identification


rapide.

MTH8415: Optimisation linéaire: Applications 9/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Contraintes
I Une contrainte par ligne.

I Un seul nombre à droite dans une cellule distincte.

I Toutes les variables à gauche.

I Placer les coefficients dans colonnes correspondant aux


variables.
I Faire le calcul (avec SOMMEPROD) du membre de gauche et
placer le résultat dans une cellule.
I Placer le nom de la contrainte à gauche.

I Ajouter particularité (couleur verte) pour identification rapide.

MTH8415: Optimisation linéaire: Applications 10/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Exécution du solveur
I Lancer l’interface du solveur depuis le menu Outils ou
Données.
I Cellule cible à définir : fonction objectif (min/max).
I Cellules variables : variables de décision.
I Contraintes : contraintes.
I Via les Options du solveur :
I Supposé non-négatif : contraintes de non négativité.
I Indiquer Modèle supposé linéaire.
I Cocher Échelle automatique.
I Cliquer sur Résoudre, puis Réponses (Sensibilité) et sur
Ok.
I Après : Bien lire le message pour savoir si ça a marché.
MTH8415: Optimisation linéaire: Applications 11/60
1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Exemple 1 : Oak Products

I [Weatherford, 1997].

I La compagnie Oak Products fabrique 6 types de chaises à


partir de 11 composantes.

I Chaque semaine on regarde l’inventaire des composantes et


on établit 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 linéaire: Applications 12/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Oak Products : Données

MTH8415: Optimisation linéaire: Applications 13/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Oak Products : Variables et objectif


I Une variable de décision par type de chaise :
x = (C, M, H, L, K, Q) :
I C : nombre de chaises Captain produites.
I M (Mate).
I H (American High).
I L (American Low).
I K (Spanish King).
I Q (Spanish Queen).

I Profit : Fonction objectif à maximiser :

f (x) = 36C + 40M + 45H + 38L + 35K + 25Q

MTH8415: Optimisation linéaire: Applications 14/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Oak Products : Contraintes

I Une condition contrainte d’inventaire à respecter pour


chacune des composantes (contraintes ≤) :
I Nombre de grandes chevilles :
c1 (x) = 8C + 12H + 8K + 4Q ≤ 1280.
I Nombre de petites chevilles :
c2 (x) = 4C + 12M + 12L + 4K + 8Q ≤ 1900.
I ...
I Nombre de dossiers type Spanish : c11 (x) = K + Q ≤ 85.

I Finalement, il y a des impératifs de production à respecter : il


faut produire des nombres positifs de chaises (contraintes ≥) :
C ≥ 0, M ≥ 0, H ≥ 0, . . ., Q ≥ 0.

MTH8415: Optimisation linéaire: Applications 15/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Oak Products : Modèle

max 36C + 40M + 45H + 38L + 35K + 25Q


C,M,H,L,K,Q

≤ 1280


 8C + 12H + 8K + 4Q



 4C + 12M + 12L + 4K + 8Q ≤ 1900



 4C + 4M + 4H + 4L + 4K + 4Q ≤ 1090
C +K +Q ≤ 190

s.c.
 M +H +L
 ≤ 170
...




≤ 85



 K +Q
≥0

C, M, H, L, K, Q

MTH8415: Optimisation linéaire: Applications 16/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Oak Products : Résolution

Voir fichier Ex1-Oak Products.xlsx.

MTH8415: Optimisation linéaire: Applications 17/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Exemple 2 : Blue Ridge Hot Tubs (BRHT)

I [Ragsdale, 2010].

I Modèle :
Max. profit 350X1 + 300X2
Pompes X1 + X2 ≤ 200
Main d’œuvre 9X1 + 6X2 ≤ 1566
Tuyaux 12X1 + 16X2 ≤ 2880
non-négativité X1, X2 ≥0

MTH8415: Optimisation linéaire: Applications 18/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

BRHT : Rapport de sensibilité

MTH8415: Optimisation linéaire: Applications 19/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

BRHT : Sensibilité aux coefficients de l’objectif


I Les valeurs appelées “Augmentation admissible” et “Réduction
admissible” pour les cellules variables indiquent la taille maximale
des variations du coefficient de l’objectif qui laissent la solution
optimale inchangée (même point extrême) en supposant que tous
les autres coefficients restent inchangés.
I Un zéro pour “Augmentation admissible” ou “Réduction
admissible” indique qu’il existe plus d’une solution optimale.
I L’intervalle admissible de changement décrit dans le rapport de
sensibilité n’est valable que si tous les autres coefficients restent
fixes (i.e. seulement un est changé).
I Si le changement sort de l’intervalle admissible, il faut résoudre le
problème à nouveau pour en connaı̂tre l’impact sur la solution
optimale (i.e. les nouvelles valeurs optimales des variables et de
l’objectif).

MTH8415: Optimisation linéaire: Applications 20/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

BRHT : Interprétation des coûts réduits des


variables
I Pour une variable qui n’est pas à sa borne supérieure ou
inférieure, le coût réduit est de zéro.

I Pour une variable qui est à sa borne sup. ou inf., le coût


réduit indique l’impact sur la valeur optimale de l’objectif
d’une augmentation d’une unité de cette variable.

I Une variable dont la valeur optimale est à son minimum a un


coût réduit relié au changement minimum du coefficient de
l’objectif qui rend une augmentation de cette variable
profitable.

MTH8415: Optimisation linéaire: Applications 21/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

BRHT : Sensibilité aux membres de droite des


contraintes

MTH8415: Optimisation linéaire: Applications 22/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

BRHT : Sensibilité aux mdd des contraintes


I Changer le membre de droite d’une contrainte :
I Peut changer la valeur optimale de l’objectif.
I Peut changer la solution optimale (un nouveau point extrême).

I Le rapport de sensibilité associe un coût ombre (shadow price)


à chacune des contraintes. Celui-ci indique de combien
l’objectif augmentera par unité d’augmentation du membre de
droite, en supposant que tous les autres paramètres restent
constants.
I Le coût ombre n’est valable que si le mdd reste dans
l’intervalle admissible, défini par les valeurs de “Augmentation
admissible” et de “Réduction admissible”.
I Les coûts ombre correspondent aux opposés des coûts réduits
des variables d’écart et aux solutions duales.
MTH8415: Optimisation linéaire: Applications 23/60
1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

BRHT : Sensibilité aux mdd des contraintes


I 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 × coût ombre.
I Le coût ombre des contraintes inactives est toujours zéro :
Changer la valeur du mdd d’une contrainte inactive n’affecte
pas la solution optimale.
I Ces règles ne s’appliquent que si seulement un paramètre
(mdd) est modifié.
I Le coût ombre indique seulement la variation de la valeur
optimale de l’objectif. Si la contrainte est active, changer son
mdd affecte l’ensemble des solution admissibles et mène à une
nouvelle solution optimale. Pour trouver la nouvelle solution
optimale, nous devons résoudre à nouveau le problème.
MTH8415: Optimisation linéaire: Applications 24/60
1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

BRHT : Autre usage des coûts ombre


I Supposons qu’un nouveau bain (le Typhoon-Lagoon) peut
être produit par BRHT. Son profit unitaire serait de 320$ et
requiert : 1 pompe (coût ombre = 200$), 8 heures de main
d’œuvre (coût ombre = 16.67$), 13 pieds de tuyaux (coût
ombre = 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 coût


marginal de sa production (mesuré avec les coûts ombre des
ressources) ne peut être produit dans une solution optimale (à
moins d’ajouter une contrainte de production minimale).

MTH8415: Optimisation linéaire: Applications 25/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

BRHT : Solution dégénérée

I La solution d’un POL est appelée dégénérée si une des


variables de base est à sa borne supérieure ou à sa borne
inférieure.

I On détecte une solution dégénérée si l’augmentation ou la


diminution admissible pour le mdd d’une contrainte est à zéro.

I Dans ce cas, le rapport de sensibilité est difficilement


interprétable.

MTH8415: Optimisation linéaire: Applications 26/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Exemple 3 : Eastern Steel


I ES achète du minerai provenant de 4 mines et mélange ces
minerais pour obtenir de l’acier. La qualité de l’acier se mesure
en fonction de la teneur du mélange, selon 3 types d’élément
A, 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 quantités différentes
dans le minerai des 4 mines exploitées et à des prix différents :
Mine 1 Mine 2 Mine 3 Mine 4
A (kg/tonne) 10 3 8 2
B (kg/tonne) 90 150 75 175
C (kg/tonne) 45 25 20 37
$/tonne 800 400 600 500
I Il faut déterminer le mélange à coût minimal.

MTH8415: Optimisation linéaire: Applications 27/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

ES : Modèle

I Variables : M 1, M 2, M 3, M 4 : Quantité de minerai des mines


1 à 4 dans une tonne d’acier.
I Modèle :
min 800M 1 + 400M 2 + 600M 3 + 500M 4


 10M 1 + 3M 2 + 8M 3 + 2M 4 ≥5 (1)
 90M 1 + 150M 2 + 75M 3 + 175M 4 ≥ 100 (2)


s.c. 45M 1 + 25M 2 + 20M 3 + 37M 4 ≥ 30 (3)
M1 + M2 + M3 + M4 =1 (4)




M 1, M 2, M 3, M 4 ≥0

MTH8415: Optimisation linéaire: Applications 28/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

ES : Rapport de sensibilité

MTH8415: Optimisation linéaire: Applications 29/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

ES : Questions
I De combien au maximum la mine 2 peut-elle augmenter son
prix sans voir ses ventes auprès de ES baisser ?
Réponse : 66.85$
I De combien la mine 4 doit-elle baisser son prix pour réussir à
vendre son minerai à ES ?
Réponse : 91.11$
I Sans renégocier le prix des minerais auprès des mines,
comment ES peut-elle baisser son coût de minerai à 500$ par
tonne ?
Possibilité 1 : Relaxer la contrainte (1) de 5 à 4.75
(511.11 − 0.25 × 44.44 = 500).
Possibilité 2 : Relaxer la contrainte (3) de 30 à 27.5
(511.11 − 2.5 × 4.444 = 500).

MTH8415: Optimisation linéaire: Applications 30/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

1. Optimisation linéaire avec le solveur de Excel

2. Autres solveurs

3. Application : Approximations linéaires

4. Application : Jeux matriciels

Références

MTH8415: Optimisation linéaire: Applications 31/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Optimisation linéaire avec Matlab


I Pour résoudre min f (x) = c> x
x∈Rn 
 Ax ≤ b
s.c. Dx = e
`≤x≤u

I Exécuter la commande :

[x f flag output lambda] = linprog(c, A, b, D, e, l, u)

I lambda.ineqlin et lambda.eqlin permettent d’accéder aux


variables duales.

MTH8415: Optimisation linéaire: Applications 32/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

CPLEX

I IBM CPLEX : Logiciel commercial.

I Utilisation gratuite pour le monde académique.

I Deux façons de l’utiliser : Via la ligne de commande ou en


mode librairie.

MTH8415: Optimisation linéaire: Applications 33/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Autres solveurs

I Gurobi, Mosek.

I AMPL / GAMS : Avec langage de modélisation.

I GLPK, CLP (gratuits)

I Et beaucoup d’autres. Voir page Wikipedia de l’optimisation


linéaire.

MTH8415: Optimisation linéaire: Applications 34/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

1. Optimisation linéaire avec le solveur de Excel

2. Autres solveurs

3. Application : Approximations linéaires

4. Application : Jeux matriciels

Références

MTH8415: Optimisation linéaire: Applications 35/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Introduction
I On cherche à résoudre le système d’équations linéaires
Ax = b, c’est-à-dire trouver x = (xj ) ∈ Rn tel que
n
X
aij xj = bi pour i ∈ {1, 2, . . . , m}
j=1

avec A = (aij ) ∈ Rm×n , b = (bi ) ∈ Rm et m > n (plus


d’équations que d’inconnues).
I On suppose que A est de plein rang colonne (r(A) = n).
I La plupart du temps, ce système ne possède pas de solution.
I On cherche donc une approximation, c’est-à-dire un point
x∗ ∈ Rn qui minimise une erreur entre nj=1 aij x∗j et bi pour
P
chaque équation (i).
MTH8415: Optimisation linéaire: Applications 36/60
1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Exemple

On veut trouver une approximation pour

x1
+x2 +x3 = 60
3x1
+2x2 +x3 = 100
+x2 x1= 31
x2 +x3 = 49
 
1 1 1
 3 2 1 
ou encore Ax = b avec A = 
 1 1 0  et b = (60, 100, 31, 49).

0 1 1

MTH8415: Optimisation linéaire: Applications 37/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Résidus
I On définit le vecteur de résidus associé à une solution x ∈ Rn
par

r = (r1 , r2 , . . . , rm )
avec
n
X
ri = bi − aij xj pour tout i = 1, 2, . . . , m .
j=1

I La meilleure approximation linéaire est celle qui minimise la


norme des résidus, mais il y a plusieurs normes possibles.

MTH8415: Optimisation linéaire: Applications 38/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Normes des résidus


Norme p :
krkp = kb − Axkp = (|r1 |p + |r2 |p + . . . + |rm |p )1/p
Ce qui donne :
I Pour p = 1 (norme `1 ) :

krk1 = |r1 | + |r2 | + . . . + |rm |


I Pour p = 2 (norme euclidienne) :
q
krk2 = r12 + r22 + . . . + rm
2

I Pour p = ∞ (norme `inf ) :

krk∞ = lim krkp = max |ri |


p→∞ i∈{1,2,...,m}

MTH8415: Optimisation linéaire: Applications 39/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Comparaison de différentes solutions


x1 x2 x3 r1 r2 r3 r4 krk1 krk2 krk∞

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 linéaire: Applications 40/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Solution pour p = 2
I Revient à résoudre le problème d’optimisation non linéaire
sans contrainte
 2
Xm Xn
min  aij xj − bi 
x∈Rn
i=1 j=1

I Il s’agit de la régression au sens des moindres carrés, pour


laquelle on a une solution analytique donnée par
x∗ = (A> A)−1 A> b
(preuve dans cours d’algèbre).
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 linéaire: Applications 41/60
1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Solution pour p = 1 : Modèle linéaire


Avec A> = [a1 a2 . . . am ] (i.e. ai : ième ligne de A), on veut
résoudre
m
X
minn kb − Axk1 = minn bi − a> x

i
x∈R x∈R
i=1
m
τi ≥ bi − a>
P
= min
n
τi s.c. i x , i = 1, 2, . . . , m

x∈R ,τ ∈Rm i=1
m τi ≥ bi − a>

i x i = 1, 2, . . . , m
P
= min τi s.c.
x∈R ,τ ∈Rm i=1
n τi ≥ −bi + a>i x i = 1, 2, . . . , m

Ax + τ ≥ b
= min 1> τ s.c.
x∈R n ,τ ∈Rm −Ax + τ ≥ −b

(avec 1 = (1, 1, . . . , 1))

MTH8415: Optimisation linéaire: Applications 42/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Solution pour p = 1 : Dual

I Primal (n + m variables, 2m contraintes) :


min 1> τ
x∈Rn ,τ ∈Rm

Ax + τ ≥ b (u)
s.c.
−Ax + τ ≥ −b (v)

I Dual (2m variables, m + n contraintes) :


max b> u − b> v
u,v∈Rm
 >
 A u − A> v = 0 (x)
s.c. u+v =1 (τ )
u, v ≥ 0

MTH8415: Optimisation linéaire: Applications 43/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Solution pour p = 1 : Dual simplifié


I À partir du dual :
max b> u − b> v
u,v∈Rm
 >
 A u − A> v =0
s.c. u+v =1
u, v ≥0

I On pose v = 1 − u et le problème devient

−b> 1 + 2 max b> u


u∈Rm 
A> u = 21 A> 1
s.c.
0≤u≤1

(m variables, n contraintes).

MTH8415: Optimisation linéaire: Applications 44/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Solution pour p = 1 : Pour l’exemple


I Il faut résoudre
max 60u1 + 100u2 + 31u3 + 49u4
u1 ,...,u4


 u1 + 3u2 + u3 = 5/2
u1 + 2u2 + u3 + u4 = 5/2

s.c.
u + u2 + u4 = 3/2
 1


0 ≤ 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

krk1 = −b> 1 + 2b> u∗ = −240 + 241 = 1

MTH8415: Optimisation linéaire: Applications 45/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Solution pour p = ∞ : Modèle linéaire

On veut résoudre

minn kb − Axk∞ = minn max bi − a> x

i
x∈R x∈R i=1,2,...,m

τ ≥ bi − a>

= min τ s.c. i x , i = 1, 2, . . . , m

x∈Rn ,τ ∈R

τ ≥ bi − a>

= min τ s.c. i x i = 1, 2, . . . , m
n
x∈R ,τ ∈R τ ≥ −bi + a>i x i = 1, 2, . . . , m

Ax + τ 1 ≥ b
= min τ s.c.
n
x∈R ,τ ∈R −Ax + τ 1 ≥ −b

MTH8415: Optimisation linéaire: Applications 46/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Solution pour p = ∞ : Dual

I Primal (n + 1 variables, 2m contraintes) :



Ax + τ 1 ≥ b (u)
min τ s.c.
n
x∈R ,τ ∈R −Ax + τ 1 ≥ −b (v)

I Dual (2m variables, n + 1 contraintes) :


max b> u − b> v
u,v∈Rm
 >
 A u − A> v = 0 (x)
s.c. > >
1 u+1 v =1 (τ )
u, v ≥ 0

MTH8415: Optimisation linéaire: Applications 47/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Solution pour p = ∞ : Pour l’exemple


I Il faut résoudre
max 60(u1 − v1 ) + 100(u2 − v2 ) + 31(u3 − v3 ) + 49(u4 − v4 )
u1 ,...,v4


 u1 − v1 + 3(u2 − v2 ) + u3 − v3 =0
 u1 − v1 + 2(u2 − v2 ) + u3 − v3 + u4 − v4 = 0


s.c. u1 − v1 + u2 − v2 + u4 − v4 =0
u + u2 + u3 + u4 + v1 + v2 + v3 + v4 =1

 1



u1 , . . . , u4 , v1 , . . . , v4 ≥ 0

I La solution est (u∗ , v ∗ ) = (0.4, 0, 0.2, 0, 0, 0.2, 0, 0.2) qui


permet de retrouver
x∗ = x∗`∞ = (10.2, 20.4, 29)
de valeur
krk∞ = 0.4

MTH8415: Optimisation linéaire: Applications 48/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

1. Optimisation linéaire avec le solveur de Excel

2. Autres solveurs

3. Application : Approximations linéaires

4. Application : Jeux matriciels

Références

MTH8415: Optimisation linéaire: Applications 49/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Introduction : Exemple

I Jeu du “roche, papier, ciseaux” pour deux joueurs.

I Chaque joueur possède trois stratégies pures : {P, R, S}.

I Matrice de profit A :

P R S
P 0 1 −1
R −1 0 1
S 1 −1 0

MTH8415: Optimisation linéaire: Applications 50/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Stratégies
I Stratégie du joueur 1 : Tirer p au hasard dans [0; 1] et :

Si p ∈ [0; 1/2] → jouer P


Si p ∈]1/2; 5/6] → jouer R
Si p ∈]5/6; 1] → jouer S

I Cette stratégie mixte est représentée par le vecteur


stochastique x = (1/2, 1/3, 1/6).
I Tout vecteur x ∈ R3 tel que x ≥ 0 et 1> x = 1 définit une
stratégie mixte.
I Similairement, le joueur 2 joue une stratégie mixte y ∈ R3
avec y ≥ 0 et 1> y = 1.

MTH8415: Optimisation linéaire: Applications 51/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Profit moyen
I Le profit moyen du joueur 1 est donné par :

X
Ai,j ×P (joueur 1 joue i)×P (joueur 2 joue j) = x> Ay
i,j∈{P,R,S}

I Pour l’exemple :
 
 > y1
1 1 1 1 1 1
x> Ay = A  y2  = − y1 + y2 − y3
2 3 6 6 3 6
y3

I Si le joueur 2 joue y = (1/3, 1/3, 1/3), alors le profit moyen


du 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 payé 1/24$ au
joueur 2 par partie.
MTH8415: Optimisation linéaire: Applications 52/60
1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Stratégie du joueur 2 en réponse au joueur 1


I Si le joueur 2 connaı̂t la stratégie du joueur 1, il devrait choisir
y avec le modèle d’OL suivant :
1 1 1
min x> Ay = − y1 + y2 − y3
y∈R 3 6 3 6

y1 + y2 + y3 = 1
s.c.
y1 , y2 , y3 ≥ 0
dont la solution est de la forme y = (k, 0, 1 − k) avec
k ∈ [0; 1] pour un profit moyen de −1/6
(à montrer en exercice).

I Donc le joueur 1 devrait changer de stratégie.

MTH8415: Optimisation linéaire: Applications 53/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Stratégies d’équilibre

I (x, y) sont des stratégies d’équilibre si x est la meilleure


réponse à y et si y est la meilleure réponse à x.

I C’est à dire :
x ∈ arg max x> Ay X = x ≥ 0 : 1> x = 1

avec
x∈X
et
y ∈ arg min x> Ay Y = y ≥ 0 : 1> y = 1

avec
y∈Y

I On recherche de telles solutions.

MTH8415: Optimisation linéaire: Applications 54/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Chercher les stratégies d’équilibre


I Le joueur 1 doit anticiper la stratégie du joueur 2 et résoudre
max x> Ay où y résout min x> Ay.
x∈X y∈Y

I Le joueur 1 doit donc résoudre


 
>
max min x Ay
x∈X y∈Y

I Et le joueur 2 doit résoudre


 
>
min max x Ay
y∈Y x∈X

MTH8415: Optimisation linéaire: Applications 55/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Duaux des deux problèmes à résoudre


 
(1) max min x> Ay = max z
x∈X y∈Y x∈Rn ,z∈R
 >
 1 z − x> A ≤0
s.c. 1> x =1
x≥0

 
(2) >
min max x Ay = min w
y∈Y x∈X y∈Rn ,w∈R

 1w − Ay ≥0
s.c. 1> y =1
y≥0

De plus (2) est le dual de (1).

MTH8415: Optimisation linéaire: Applications 56/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Théorème du minimax

Théorème
   
> >
max min x Ay = min max x Ay
x∈X y∈Y y∈Y x∈X

Corollaire

Il existe toujours des stratégies d’équilibre.

En effet, si (x, z) résout (1) et si (y, w) résout (2), alors (x, y)


sont des stratégies d’équilibre.

MTH8415: Optimisation linéaire: Applications 57/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Stratégie d’équilibre pour roche, papier, ciseaux


I Le joueur 1 doit résoudre

max z
z,x1 ,x2 ,x3

z + x2 − x3 ≤ 0


z − x1 + x3 ≤ 0



s.c. z + x1 − x2 ≤ 0
x + x2 + x3 = 1

 1



x1 , x2 , x3 ≥ 0
dont la solution est x = (1/3, 1/3, 1/3), qui correspond à
y = (1/3, 1/3, 1/3), le tout pour un profit moyen de 0.
I Le jeu matriciel est dit juste.

I Les jeux symétriques (tels que A> = A) sont justes.

MTH8415: Optimisation linéaire: Applications 58/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

1. Optimisation linéaire avec le solveur de Excel

2. Autres solveurs

3. Application : Approximations linéaires

4. Application : Jeux matriciels

Références

MTH8415: Optimisation linéaire: Applications 59/60


1/4 Excel 2/4 Autres solveurs 3/4 Approx. lin 4/4 Jeux matr. Références

Références 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 linéaire: Applications 60/60