Optimisation linaire Recherche oprationnelle GCSIE Phase I du

  • Slides: 42
Download presentation
Optimisation linéaire Recherche opérationnelle GC-SIE Phase I du simplexe Michel Bierlaire

Optimisation linéaire Recherche opérationnelle GC-SIE Phase I du simplexe Michel Bierlaire

Algorithme du simplexe Phase I du simplexe Michel Bierlaire

Algorithme du simplexe Phase I du simplexe Michel Bierlaire

Introduction n Algorithme du simplexe : – n n Comment déterminer x 0 ?

Introduction n Algorithme du simplexe : – n n Comment déterminer x 0 ? Comment déterminer le tableau initial ? C’est le rôle de la Phase I. Cas simple : – n Soit x 0 une solution de base admissible problème en forme canonique tel que b ³ 0. Cas difficile : – problème général en forme standard. Phase I du simplexe Michel Bierlaire 3

Forme canonique avec b ³ 0 (hypothèse non générale). On introduit les variables d’écart

Forme canonique avec b ³ 0 (hypothèse non générale). On introduit les variables d’écart y. On obtient un problème en forme standard. Phase I du simplexe Michel Bierlaire 4

Forme canonique n Solution de base admissible : – – – x = 0

Forme canonique n Solution de base admissible : – – – x = 0 y = b Matrice de base : B = I Phase I du simplexe Michel Bierlaire 5

Forme canonique n Forme canonique : n Forme standard : Phase I du simplexe

Forme canonique n Forme canonique : n Forme standard : Phase I du simplexe Michel Bierlaire 6

Forme canonique B(1)=4, B(2)=5, B(3)=6 B=B-1=I c. B=0 Phase I du simplexe Michel Bierlaire

Forme canonique B(1)=4, B(2)=5, B(3)=6 B=B-1=I c. B=0 Phase I du simplexe Michel Bierlaire 7

Forme canonique Tableau initial : B-1 A=A B-1 b=b c. T – c. TBB-1

Forme canonique Tableau initial : B-1 A=A B-1 b=b c. T – c. TBB-1 A=c. T -c. TBB-1 b =0 Phase I du simplexe Michel Bierlaire 8

Forme standard n n n On peut supposer, sans perte de généralité, que b

Forme standard n n n On peut supposer, sans perte de généralité, que b ³ 0. Si bi < 0, on remplace la contrainte ai. Txi = bi par -ai. Txi = -bi Phase I du simplexe Michel Bierlaire 9

Forme standard Idée : n On résoud un problème auxiliaire tel que : –

Forme standard Idée : n On résoud un problème auxiliaire tel que : – – n il soit lié au problème initial, il soit trivial d’identifier une solution de base admissible pour ce problème auxiliaire. Pour cela, on introduit une variable auxiliaire par contrainte, et on remplace la fonction de coût. Phase I du simplexe Michel Bierlaire 10

Forme standard n Solution de base admissible : – – – x = 0

Forme standard n Solution de base admissible : – – – x = 0 y = b Matrice de base : B = I Phase I du simplexe Michel Bierlaire 11

Forme standard n Appelons P 1 le problème original n et P 2 le

Forme standard n Appelons P 1 le problème original n et P 2 le problème auxiliaire Phase I du simplexe Michel Bierlaire 12

Forme standard n n n Le coût optimal de P 2 ne peut être

Forme standard n n n Le coût optimal de P 2 ne peut être négatif. Supposons que x 0 soit une solution admissible de P 1. Dans ce cas, Ax 0=b et x 0³ 0. x=x 0 et y=0 est une solution admissible de P 2. Le coût associé est 0. C’est donc une solution optimale. Phase I du simplexe Michel Bierlaire 13

Forme standard n n Si P 1 possède une solution admissible Alors le coût

Forme standard n n Si P 1 possède une solution admissible Alors le coût optimal de P 2 est 0. Contraposée : n Si le coût optimal de P 2 est strictement positif n Alors P 1 ne possède pas de solution admissible. Phase I du simplexe Michel Bierlaire 14

Forme standard Si (x*, y*) est solution optimale de P 2. n Si le

Forme standard Si (x*, y*) est solution optimale de P 2. n Si le coût optimal associé est 0. n Alors n – – y*1+y*2+…+y*m = 0 y*1=y*2=…=y*m = 0 Donc Ax*=b et x*³ 0 x* est solution admissible de P 1. Phase I du simplexe Michel Bierlaire 15

Format standard Tableau initial du problème auxiliaire : B-1 A B-1 b A b

Format standard Tableau initial du problème auxiliaire : B-1 A B-1 b A b c. T – c. TBB-1 A -c. TBB-1 b – c. TBA ¦ 0 -c. TBb B-1 = I -Somme des colonnes c. B=(1, 1, 1, …) Pour les variables originales i : ci=0 Phase I du simplexe Michel Bierlaire 16

Forme standard n Problème initial P 1: n Problème auxiliaire P 2 : Phase

Forme standard n Problème initial P 1: n Problème auxiliaire P 2 : Phase I du simplexe Michel Bierlaire 17

Forme standard =1 =1/3 =5/9 =1/3 Phase I du simplexe Michel Bierlaire 18

Forme standard =1 =1/3 =5/9 =1/3 Phase I du simplexe Michel Bierlaire 18

Forme standard =1 =1/3 =5/9 =1/3 =1 =0 =1/2 Phase I du simplexe Michel

Forme standard =1 =1/3 =5/9 =1/3 =1 =0 =1/2 Phase I du simplexe Michel Bierlaire 19

Forme standard =1 =0 =1/2 =1 =1 Phase I du simplexe Michel Bierlaire 20

Forme standard =1 =0 =1/2 =1 =1 Phase I du simplexe Michel Bierlaire 20

Forme standard =1 =1 Phase I du simplexe Michel Bierlaire 21

Forme standard =1 =1 Phase I du simplexe Michel Bierlaire 21

Forme standard Solution optimale du problème auxiliaire P 2: x. T=(1 1/2 1/3 0

Forme standard Solution optimale du problème auxiliaire P 2: x. T=(1 1/2 1/3 0 0 0) n Coût optimal = 0 n Solution admissible du problème P 1 x 0 T = (1 1/2 1/3 0) Attention : n Il reste une variable artificielle en base (x 7) n Phase I du simplexe Michel Bierlaire 22

Forme standard Comment éliminer les variables artificielles hors de la base ? Note :

Forme standard Comment éliminer les variables artificielles hors de la base ? Note : n Si (x*, y*) est solution optimale à coût nul du problème auxiliaire n Alors la variable artificielle en base est forcément nulle n Donc la solution est dégénérée. n Phase I du simplexe Michel Bierlaire 23

Forme standard n n n Supposons que la kième variable de base soit artificielle.

Forme standard n n n Supposons que la kième variable de base soit artificielle. Examinons la kième ligne du tableau. Choisir l’élément en colonne j de cette ligne tel que – – n n j soit l’indice d’une variable du problème original l’élément soit non nul. k sort de base. j rentre en base Pivotage du tableau. Phase I du simplexe Michel Bierlaire 24

Forme standard Mais… n Que se passe-t-il si aucun élément de la sorte n’existe

Forme standard Mais… n Que se passe-t-il si aucun élément de la sorte n’existe ? n Phase I du simplexe Michel Bierlaire 25

Forme standard Cela signifie que n la matrice A n’est pas de rang plein

Forme standard Cela signifie que n la matrice A n’est pas de rang plein n la ligne en question correspond à une contrainte redondante n elle peut être supprimée. Phase I du simplexe x 1 + 2 x 2 + 3 x 3 = 3 -x 1 + 2 x 2 + 6 x 3 = 2 4 x 2 + 9 x 3 = 5 Michel Bierlaire 26

Forme standard n n n Une fois que le tableau optimal du problème auxilaire

Forme standard n n n Une fois que le tableau optimal du problème auxilaire est obtenu, et que toutes les variables artificielles ont quitté la base, on obtient le tableau initial du problème P 1 en – – supprimant les colonnes relatives aux variables artificielles; calculant les coûts réduits initiaux. Phase I du simplexe Michel Bierlaire 27

Exemple P 1 P 2 Phase I du simplexe Michel Bierlaire 28

Exemple P 1 P 2 Phase I du simplexe Michel Bierlaire 28

P 2 : tableau initial =2 =2 Dernière ligne = -somme des colonnes =1

P 2 : tableau initial =2 =2 Dernière ligne = -somme des colonnes =1 Phase I du simplexe Michel Bierlaire 29

 =1 • Solution optimale de P 2 • Coût nul • Mais x

=1 • Solution optimale de P 2 • Coût nul • Mais x 7 est dans la base Phase I du simplexe Michel Bierlaire 30

P 2 : tableau final P 1 : tableau initial -c. TBB-1 b c.

P 2 : tableau final P 1 : tableau initial -c. TBB-1 b c. T – c. TBB-1 A Phase I du simplexe Michel Bierlaire 31

P 1 : tableau initial =2 =3 =0 =0. 4 P 1 : tableau

P 1 : tableau initial =2 =3 =0 =0. 4 P 1 : tableau final. Michel Bierlaire Phase I du simplexe 32

Algorithme du simplexe Nous avons maintenant un algorithme complet pour résoudre tout programme linéaire

Algorithme du simplexe Nous avons maintenant un algorithme complet pour résoudre tout programme linéaire en forme standard Phase I 1. En multipliant certaines contraintes par – 1, modifier le problème pour que b ³ 0. n Phase I du simplexe Michel Bierlaire 33

Algorithme complet du simplexe Phase I (suite) 2. Introduire les variables artificielles y 1,

Algorithme complet du simplexe Phase I (suite) 2. Introduire les variables artificielles y 1, …, ym, et appliquer la méthode du simplexe au problème auxiliaire Phase I du simplexe Michel Bierlaire 34

Algorithme complet du simplexe Phase I (suite) 3. Si le coût optimal est strictement

Algorithme complet du simplexe Phase I (suite) 3. Si le coût optimal est strictement positif, le problème original n’est pas admissible. STOP. 4. Si la kième variable de base est une variable artificielle, examiner la ligne k du tableau. Choisir l’élément en colonne j de cette ligne tel que – – j soit l’indice d’une variable du problème original l’élément soit non nul. Pivoter le tableau autour de cet élément. Phase I du simplexe Michel Bierlaire 35

Algorithme complet du simplexe Phase I (suite) 4. (suite) Si tous ces éléments sont

Algorithme complet du simplexe Phase I (suite) 4. (suite) Si tous ces éléments sont nuls, la ligne correspond à une contrainte redondante et peut être supprimée. Répéter le point 4 jusqu’à ce qu’aucune des variables artificielles ne soient en base. Phase I du simplexe Michel Bierlaire 36

Algorithme complet du simplexe Phase II n Les variables artificielles et les colonnes correspondantes

Algorithme complet du simplexe Phase II n Les variables artificielles et les colonnes correspondantes sont supprimées du tableau. n La ligne des coûts est calculée. n Appliquer la méthode du simplexe au tableau obtenu. Phase I du simplexe Michel Bierlaire 37

Algorithme complet du simplexe Notes : n Complet car il peut gérer toutes les

Algorithme complet du simplexe Notes : n Complet car il peut gérer toutes les issues possibles. n Si le cyclage est empêché (par la règle de Bland), une des 4 possibilités suivantes se passera : – – Le problème n’est pas admissible. Détecté à la fin de la phase I. Le problème est admissible, mais A n’est pas de rang plein. Les contraintes redondantes sont éliminées lors de la phase I. Phase I du simplexe Michel Bierlaire 38

Algorithme complet du simplexe – – Le coût optimal est -. Détecté lors de

Algorithme complet du simplexe – – Le coût optimal est -. Détecté lors de la phase II. La phase II se termine avec une solution optimale. Phase I du simplexe Michel Bierlaire 39

Terminologie Qu’est-ce qu’un simplexe ? n Un ensemble de vecteurs y 1, …, yk+1

Terminologie Qu’est-ce qu’un simplexe ? n Un ensemble de vecteurs y 1, …, yk+1 dans IRn (k£n) est indépendant au sens affine si les vecteurs y 1 -yk+1, y 2 -yk+1…, yk-yk+1 sont linéairement indépendants. n L’enveloppe convexe de k+1 vecteurs de IRn indépendants au sens affine est appelée un simplexe à k dimensions. Phase I du simplexe Michel Bierlaire 45

Terminologie n 3 points sont soit – – n n colinéaires indépendants au sens

Terminologie n 3 points sont soit – – n n colinéaires indépendants au sens affine Le triangle est un simplexe à deux dimensions. La pyramide est un simplexe à 3 dimensions Phase I du simplexe Michel Bierlaire 46

Terminologie n n n Géométriquement, on peut associer un simplexe à chaque base. On

Terminologie n n n Géométriquement, on peut associer un simplexe à chaque base. On peut interpréter un pivotage (au sens de l’algorithme) comme le pivotage « physique » de ce simplexe. C’est de cette interprétation géométrique viennent les termes simplexe et pivotage. Phase I du simplexe Michel Bierlaire 47