60
Solveur Excel Autres solveurs Approx. lin´ eaires Jeux matriciels ef´ erences Optimisation lin´ eaire: Applications MTH8415 S. Le Digabel, Polytechnique Montr´ eal H2020 (v2) MTH8415: Optimisation lin´ eaire: Applications 1/60

Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 2: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 3: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 4: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 5: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 6: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 7: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 8: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 9: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 10: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 11: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 12: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 13: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References

Oak Products : Donnees

MTH8415: Optimisation lineaire: Applications 13/60

Page 14: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 15: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 16: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 17: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References

Oak Products : Resolution

Voir fichier Ex1-Oak Products.xlsx

MTH8415: Optimisation lineaire: Applications 17/60

Page 18: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 19: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References

BRHT : Rapport de sensibilite

MTH8415: Optimisation lineaire: Applications 19/60

Page 20: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 21: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 22: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References

BRHT : Sensibilite aux membres de droite descontraintes

MTH8415: Optimisation lineaire: Applications 22/60

Page 23: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 24: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 25: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 26: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 27: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 28: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 29: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

Solveur Excel Autres solveurs Approx. lineaires Jeux matriciels References

ES : Rapport de sensibilite

MTH8415: Optimisation lineaire: Applications 29/60

Page 30: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 31: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 32: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 33: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 34: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 35: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 36: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 37: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 38: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 39: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 40: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 41: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 42: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 43: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 44: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 45: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 46: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 47: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 48: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 49: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 50: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 51: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 52: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 53: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 54: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 55: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 56: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 57: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 58: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 59: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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

Page 60: Optimisation linéaire: Applications · Voir chier Ex1-Oak Products.xlsx MTH8415: Optimisation lin eaire: Applications 17/60 Solveur Excel Autres solveurs Approx. lin eaires Jeux

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