La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

5. Algorithme du simplexe

Présentations similaires


Présentation au sujet: "5. Algorithme du simplexe"— Transcription de la présentation:

1 5. Algorithme du simplexe
avec variables bornées

2 Variante du simplexe pour problème avec variables bornées
Considérons le problème de programmation linéaire avec variables bornées suivant Ramenons à 0 les bornes inférieures en faisant le changement de variables suivant xj = gj – lj (i.e., gj = xj + lj )

3 Variante du simplexe pour problème avec variables bornées
le problème devient Ramenons à 0 les bornes inférieures en faisant le changement de variables suivant xj = gj – lj (i.e., gj = xj + lj )

4 Variante du simplexe pour problème avec variables bornées
le problème devient et en remplaçant: uj = qj – lj et b = h – Al

5 Variante du simplexe pour problème avec variables bornées
Dans ce problème puisque cTl représente une constante, nous pouvons la sortir de la minimisation sans changer la solution optimale et dans la suite de la présentation considérer le problème sans cette constante sans perte de généralité.

6 Considérons la formulation explicite du problème
Une façon de le résoudre est de le ramener sous une forme standard en introduisant des variables d’écart yj, et d’ensuite utiliser l’algorithme du simplexe

7

8 Considérons une solution de base réalisable de ce problème.
La présence des contraintes xj + yj = uj implique qu’au moins une des deux variables xj ou yj est variable de base, j = 1,2,…,n. Donc une des trois situations suivantes prévaut pour chaque j = 1,2,…,n: a) xj = uj est variable de base et yj = 0 est variable hors base b) xj = 0 est variable hors base et yj = uj est variable de base c) 0 < xj < uj est variable de base et 0 < yj < uj est variable de base Non dégénérescence: toutes les variables de base sont positives à chaque itération

9 m + n variables de base requises
il y a n variables yj Il y a au moins m variables xj dans la base Exactement m variables xj satisfont 0 < xj < uj. Par contradiction, si m0 m variables xj satisfaisaient la relation, alors les m0 variables yj correspondantes seraient également dans la base. De plus, pour les n – m0 autres indices j xj = uj (cas a) ou bien yj = uj (cas b) serait vérifié. Alors le nombre de variables de base serait égal à 2m0 + (n – m0) = m0 + n m + n

10 La base a donc la forme suivante
0 < xj < uj 0 < yj < uj xj=uj yj=uj

11 La base a donc la forme suivante
0 < xj < uj 0 < yj < uj xj=uj yj=uj

12

13 La base a donc la forme suivante
Base de A Les colonnes de la base B de A correspondent aux variables 0<xj<uj n 0 < xj < uj 0 < yj < uj xj=uj yj=uj

14 Ainsi, nous pouvons développer une variante du simplexe pour résoudre directement le problème
en traitant implicitement les bornes supérieures uj. À chaque itération, nous allons considérer une solution (de base) associée à une base B de A ayant m variables de base n – m variables hors base

15 n – m variables hors base .
À chaque itération, nous allons considérer une solution (de base) associée à une base B de A ayant m variables de base n – m variables hors base Si on dénote les indices des variables de base IB = {j1, j2, …, jm} où ji est l’indice de la variable de base dans la iième ligne, alors Nous retrouvons les mêmes expressions que pour les problèmes sans bornes sauf que les variables hors base

16 Il suffit d’ajuster les critères d’entrée et de
sortie en conséquence pour retrouver la variante du simplexe. Nous retrouvons les mêmes expressions que pour les problèmes sans bornes sauf que les variables hors base

17 Étape 1: Choix de la variable d’entrée
Le critère pour choisir la variable d’entrée est modifié pour tenir compte des variables hors base xj à leur borne supérieure uj qui peuvent diminuer. Ainsi, pour un indice si , il est avantageux d’augmenter xj si , il est avantageux de diminuer xj Déterminons et Soit Si , alors la solution est optimale et l’algorithme s’arrête. Si , alors la variable xs augmente; aller à l’étape 2.1. Si , alors la variable xs diminue; aller à l’étape 2.2

18 Étape 2.1: Choix de la variable de sortie
la valeur de la variable de base L’augmentation θ de la variable d’entrée xs est limitée par la première des trois situations suivantes qui se produit: i) xs atteint sa borne sup. us ii) une variable de base décroît à 0 (dans ce cas ) iii) une variable de base augmente pour atteindre sa borne sup (dans ce cas ) Soit Si θ = ∞, alors le problème n’est pas borné inférieurement et l’algorithme s’arrête.

19 Étape 2.1: Choix de la variable de sortie
la valeur de la variable de base L’augmentation θ de la variable d’entrée xs est limitée par la première des trois situations suivantes qui se produit: i) xs atteint sa borne sup. us ii) une variable de base décroît à 0 (dans ce cas ) iii) une variable de base augmente pour atteindre sa borne sup (dans ce cas ) Soit Si θ = us, alors l’ensemble des variables de base reste le même et la même base est utilisée à la prochaine itération. La variable xs demeure hors base et sa valeur passe de 0 à us. Retourner à l’étape 1.

20 Étape 2.1: Choix de la variable de sortie
la valeur de la variable de base L’augmentation θ de la variable d’entrée xsest limitée par la première des trois situations suivantes qui se produit: i) xs atteint sa borne sup. us ii) une variable de base décroît à 0 (dans ce cas ) iii) une variable de base augmente pour atteindre sa borne sup (dans ce cas ) Soit Si alors la valeur de la variable d’entrée xs augmente à θ. La variable d’entrée xs devient variable de base à la place de la variable de sortie qui devient égale à 0. Pivoter sur et retourner à l’étape 1

21 Étape 2.1: Choix de la variable de sortie
la valeur de la variable de base L’augmentation θ de la variable d’entrée xs est limitée par la première des trois situations suivantes qui se produit: i) xs atteint sa borne sup. us ii) une variable de base décroît à 0 (dans ce cas ) iii) une variable de base augmente pour atteindre sa borne sup (dans ce cas ) Soit Si alors la valeur de la variable d’entrée xs augmente à θ. La variable d’entrée xs devient variable de base à la place de la variable de sortie qui devient égale à Pivoter sur et retourner à l’étape 1

22 Étape 1: Choix de la variable d’entrée
Le critère pour choisir la variable d’entrée est modifié pour tenir compte des variables hors base xj à leur borne supérieure uj qui peuvent diminuer. Ainsi, pour un indice si , il est avantageux d’augmenter xj si , il est avantageux de diminuer xj Déterminons et Soit Si , alors la solution est optimale et l’algorithme s’arrête. Si , alors la variable xs augmente; aller à l’étape 2.1. Si , alors la variable xs diminue; aller à l’étape 2.2

23 Étape 2.2: Choix de la variable de sortie
la valeur de la variable de base La réduction θ de la valeur de la variable d’entrée xs est limitée par la première des trois situations suivantes qui se produit: i) xs atteint sa borne inf. 0 ii) une variable de base décroît à 0 (dans ce cas ) iii) une variable de base augmente pour atteindre sa borne sup (dans ce cas ) Soit Si θ = us, alors l’ensemble des variables de base reste le même et la même base est utilisée à la prochaine itération. La variable xs demeure hors base et sa valeur passe de us à 0. Retourner à l’étape 1.

24 Étape 2.2: Choix de la variable de sortie
la valeur de la variable de base La réduction θ de la valeur de la variable d’entrée xs est limitée par la première des trois situations suivantes qui se produit: i) xs atteint sa borne inf. 0 ii) une variable de base décroît à 0 (dans ce cas ) iii) une variable de base augmente pour atteindre sa borne sup (dans ce cas ) Soit Si alors la valeur de la variable d’entrée xs est réduite de θ (i.e., xs← us– θ). La variable d’entrée xs devient variable de base à la place de la variable de sortie qui devient égale à 0. Pivoter sur et retourner à l’étape 1

25 Étape 2.2: Choix de la variable de sortie
la valeur de la variable de base La réduction θ de la valeur de la variable d’entrée xs est limitée par la première des trois situations suivantes qui se produit: i) xs atteint sa borne inf. 0 ii) une variable de base décroît à 0 (dans ce cas ) iii) une variable de base augmente pour atteindre sa borne sup (dans ce cas ) Soit Si alors la valeur de la variable d’entrée xs et réduite de θ (i.e., xs← us– θ). La variable d’entrée xs devient variable de base à la place de la variable de sortie qui devient égale à . Pivoter sur et retourner à l’étape 1

26 Références M.S. Bazaraa, J.J. Jarvis, H.D. Sherali, “ Linear Programming and Network Flows”, 3rd edition, Wiley-Interscience (2005), p217 F.S. Hillier, G.J. Lieberman, “Introduction to Operations Research”, Mc Graw Hill (2005), Section 7.3 D. G. Luenberger, “ Linear and Nonlinear Programming ”, 2nd edition, Addison-Wesley (1984), Section 3.6


Télécharger ppt "5. Algorithme du simplexe"

Présentations similaires


Annonces Google