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

La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.

Présentations similaires


Présentation au sujet: "La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation."— Transcription de la présentation:

1 La méthode du simplexe

2 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation linéaire à n variables.  Le principe de la méthode est de transformer les contraintes qui sont des inéquations en équations en ajoutant des variables positives que l’on appelle variables d’écart. Puis on transforme ce système d’équations linéaires jusqu’à trouver la solution optimale.

3 2) Les étapes de la méthode  Première étape : La formulation mathématique du problème  Deuxième étape : Mise sous forme standard du problème  Troisième étape : Application de l’algorithme du simplexe

4 3) La formulation mathématique du problème (1)  A partir de l’énoncé du problème qui est donné en langage naturel, il faut obtenir sa formulation mathématique. C’est la phase de modélisation.  Il faut déterminer et décrire avec précision les variables du problème (unités et périodes de temps de l’observation).  Il faut déterminer et classer les contraintes en vérifiant l’homogénéité des unités.

5 3) La formulation mathématique du problème (2)  Il faut déterminer la fonction économique (ou objectif) et donner le type d’optimisation recherchée (maximum ou minimum)  Les contraintes et la fonction économique doivent être linéaires par rapport aux variables du problème sinon l’algorithme du simplexe n’est pas applicable.

6 4) Mise sous forme standard du problème  Un problème de programmation linéaire est dit sous forme standard s’il vérifie les conditions suivantes : Les variables du problème doivent toutes être positives. Le type d’optimisation doit être une recherche de maximum. Les contraintes sont des contraintes d’égalité.

7 4-a) Transformation des variables  Si une variable x est négative, on pose  y = -x. La nouvelle variable y est positive et les contraintes et la fonction économique restent bien linéaires après avoir remplacé l’ancienne variable x par – y.

8 4-a) Transformation des variables  Si une variable x est de signe quelconque, on pose x = x1-x2 où x1 et x2 sont deux nouvelles variables positives. Les contraintes et la fonction économique restent bien linéaires après avoir remplacé l’ancienne variable x par x1-x2.

9 4-a) Transformation des variables  Si le type d’optimisation est une recherche de minimum pour la fonction économique Z, on procède à un changement de fonction économique en considérant –Z (qui est toujours une fonction linéaire des variables).  On a la propriété min(Z) = - Max(-Z).

10 4-b) Transformation des inégalités en égalités  Pour cela, il faut ajouter des variables dites variables d’écart qui doivent être également positives.  On suppose qu’initialement les variables sont : x1, x2, …, xn

11 Cas d’une contrainte de type  ou   Au départ on a la contrainte :  a1x1 + a2x2 + …. + anxn  b  On ajoute une variable d’écart e positive, la contrainte devient :  a1x1 + a2x2 + …. + anxn + e = b  Les nouvelles variables sont : x1, x2, …, xn, e

12 Cas d’une contrainte de type  ou   Au départ on a la contrainte :  a1x1 + a2x2 + …. + anxn  b  On retranche une variable d’écart e positive, la contrainte devient :  a1x1 + a2x2 + …. + anxn - e = b  Les nouvelles variables sont : x1, x2, …, xn, e

13 Exemple  Forme canonique du programme linéaire : 2x+y ≤ 800 x+2y ≤ 700 y ≤ 300 x 0, y 0 Fonction économique à maximiser : Z = 30000x + 40000y

14 Forme standard  Le problème est mis sous forme standard en ajoutant trois variables d’écart positives, e1, e2, e3. 2x+y+e1 = 800 x+2y+e2 = 700 y+e3 = 300 x 0, y 0, e1 0, e2 0, e3 0 Max(30000x+40000y)

15 Tableau du simplexe Variables en base xye1e2e3 2 ème membre Ratio e121100800 e212010700 e301001300 Z30000400000000

16 Variables en base et hors-base  On distinguera les variables dites « en base » et les variables dites « hors base ». Les variables hors base ont toujours une valeur nulle, les variables en base sont celles pour lesquelles ne figurent qu’un seul 1 sur leur colonne, les autres coefficients sont nuls sur la colonne.  Au départ Base={ e1, e2, e3}  HorsBase={ x,y}  Les coefficients de la fonction économique sont appelés taux marginaux de substitution (ou TMS). Ici 30000 et 40000.

17 Remarque 1  Si la fonction économique a dans son expression un coefficient constant, il faut le faire figurer dans l’avant-dernière colonne (celle des seconds membres) avec le signe opposé.  C’est dans cette même cellule que l’on trouvera l’opposé de la valeur de la fonction économique pour la solution en cours et donc l’opposé de l’optimum quand il sera atteint.

18 Remarque 2  On remarque, dans le tableau initial, que pour chaque variable en base on a un seul un sur la colonne et les autres coefficients sont nuls. A chaque étape, le tableau devra répondre à cette exigence.

19 Constitution du tableau  Quand le problème est mis sous forme standard, on peut appliquer l’algorithme du simplexe. Les différentes équations linéaires sont placées dans un tableau. Chaque équation est une ligne du tableau, la dernière ligne est réservée pour la fonction économique.  Les colonnes correspondent aux variables du problème. A droite du tableau l’avant dernière colonne contient les seconds membres des équations. La dernière colonne contient ce que l’on appelle les ratios qui seront expliqués plus loin.

20  Les calculs qui sont effectués sont des calculs de combinaisons linéaires sur les lignes du tableau.  On suppose comme cela est signalé dans la remarque ci-dessus que toutes les variables d’écart ont un coefficient 1.  On recherche un maximum de la fonction économique. 5) Application de l’algorithme du simplexe

21 Départ de l’algorithme  Au départ, on a une solution réalisable du problème en considérant que les variables d’écart sont égales aux seconds membres et que les autres variables sont nulles.  Cette solution respecte bien les contraintes de positivité et les égalités sont satisfaites

22 Principe de l’algorithme  A chaque étape de l’algorithme, on choisit une variable hors base que l’on appelle variable entrante et une variable en base que l’on appelle variable sortante afin d’améliorer la solution précédente.  Puis on transforme le tableau pour le remettre sous sa forme standard. En effet, les colonnes des variables en base ne doivent avoir qu ‘un seul 1 et des 0 ailleurs.  Cette transformation se fait par combinaison linéaire des lignes.

23 Choix de la variable entrante  On choisit celle dont le TMS est strictement positif et le plus grand possible.  Si tous les TMS sont négatifs ou nuls, l’optimum est atteint. L’algorithme s’arrête

24 Choix de la variable sortante  Après avoir choisi la variable entrante, on calcule pour chaque ligne représentant une contrainte, le ratio qui est le rapport entre le coefficient du deuxième membre de la contrainte et le coefficient sur la colonne de la variable entrante.  Ce ratio peut être infini si le coefficient est nul.  La variable sortante est celle dont le ratio est le plus petit strictement positif.

25 Transformation du tableau  Après choix de la variable entrante et de la variable sortante, on transforme le tableau.  L’intersection de la colonne de la variable entrante et de la ligne de la variable sortante s’appelle le pivot.  Il faut transformer le tableau par combinaisons linéaires sur les lignes pour faire apparaître un 1 sur le pivot et des 0 ailleurs sur la colonne de la nouvelle variable en base.

26 Fin de l’algorithme  L’optimum est atteint lorsque tous les TMS sont négatifs. Les variables hors base sont nulles. Les valeurs des variables en base se lisent directement sur le tableau puisque leur coefficient est 1 et que les autres variables qui ont un coefficient non nuls sur la même ligne sont hors base.  La valeur de l’optimum est l’opposé de la valeur qui figure sur la ligne de la fonction économique à l’avant dernière colonne. On vérifiera cette valeur en remplaçant les valeurs des variables dans la fonction économique.

27 Méthode appliquée à l’exemple B ase xye1e2e3 2 ème membre Ratio e121100800 e212010700 e301001300 Z30000400000000 A ce stade les variables en base sont e1, e2 et e3. On remarque que pour chaque variable en base on a un seul 1 sur la colonne et que les autres coefficients sont nuls. Base={e1, e2, e3} Les variables hors base sont x et y. HorsBase={x, y}

28 Remarques sur le tableau initial  On admettra qu’à chaque étape, les variables hors base sont nulles. Les variables en base se calculent dans le tableau en tenant compte du fait que les variables hors base sont nulles.  Avec ce tableau initial, on a une solution intermédiaire (au départ) :  x=0 et y=0 (car ces variables sont hors base)  e1=800, e2=700, e3=300. En effet, chaque ligne du tableau correspond à une égalité.

29 Remarques sur le tableau initial  La valeur de Z est l’opposé de la case 2ème membre de la ligne de Z. On peut la recalculer, par vérification, avec la formule Z=40000x+30000y. Initialement on a donc :  Z=0 (puisque x et y sont nuls)  On n’est pas à l’optimum car les TMS (Taux Marginaux de Substitution : coefficients de Z) ne sont pas tous négatifs ou nuls.

30 Variable entrante B ase xye1e2e3 2 ème membre Ratio e121100800 e212010700 e301001300 Z 30000400000000 Variable entrante = Celle qui correspond au plus grand TMS strictement positif (taux marginal de substitution) coefficient >0 de la fonction objectif. Ici y est la variable entrante.

31 Calcul des ratios B ase xye1e2e3 2 ème membre Ratio e121100800 800/1 e212010700 700/2 e301001300 300/1 Z 30000400000000 On calcule les ratios en divisant pour chaque variable de la base (pour chaque ligne), le coefficient du second membre par le coefficient de la colonne de la variable entrante.

32 Variable sortante B ase xye1e2e3 2 ème membre Ratio e121100800 800/1 e212010700 700/2 e301001300 300/1 Z 30000400000000 Variable sortante = Celle correspondant au plus petit ratio strictement positif (coefficient du 2ème membre/coefficient colonne de la variable entrante). Ici e3 est la variable sortante.

33 Transformation du tableau  Pivot = intersection variable entrante et sortante  Dans la colonne du pivot : Il faut mettre un 1 à la place du pivot et un 0 ailleurs. En effet, il s’agit de la nouvelle variable en base.

34 Faire apparaître un 1 sur le pivot  Si le pivot n’est pas égal à 1, il faut diviser toute la ligne par le pivot.  Ici le pivot est déjà à 1.

35 Faire apparaître des 0 sur le reste de la colonne de la nouvelle variable en base  Il faut retrancher à chaque ligne un certain nombre de fois la ligne du pivot pour faire apparaître un 0. Basexye1e2e3 2 ème membre Ratio e121100800 800/1 e212010700 700/2 e301001300 300/1 Z30000400000000 pivot Pour la ligne de e1, il faut lui retrancher la ligne du pivot. On remplace la ligne L1 par L1-L3

36 Autres transformations  Pour la ligne de e2, il faut lui retrancher deux fois la ligne du pivot.. On remplace L2 par L2-2L3  Pour la ligne de Z, il faut lui retrancher 40000 fois la ligne du pivot.. On remplace L4 par L4 – 40000L3

37 Tableau 2 Variables en base xye1e2e3 2 ème membre Ratio e12010500 e21001-2100 y01001300 Z30000000-40000 -12000000 L’optimum n’est pas atteint (1 TMS est >0)

38 Variable entrante, ratios et variable sortante du tableau 2 Variables en base xye1e2e3 2 ème membre Ratio e12010500 500/2=2 50 e21001-2100 100/1=1 00 y01001300 300/0=  Z30000000-40000 -12000000 Variable entrante x et sortante e2

39 Transformations sur le tableau 2  Le pivot est déjà à 1.  Il faut remplacer L1 par L1 - 2*L2  L3 ne doit pas être changée (il y a déjà un 0)  L4 doit être remplacée par L4 – 30000*L2

40 Tableau 3 Variables en base xye1e2e3 2 ème membre Ratio e1001-23300 x1001-2100 y01001300 Z000-3000020000 -15000000 L’optimum n’est pas atteint (1 TMS est >0)

41 Variable entrante, ratios et variable sortante du tableau 3 Variables en base xye1e2e3 2 ème membre Ratio e1001-23300 =300/3=1 00 x1001-2100 =-100/2=- 50 y01001300 =300/1=3 00 Z000-3000020000 -15000000 Variable entrante e3 et sortante e1

42 Etape 1: Division du pivot par 3 Variables en base xye1e2e3 2 ème membre Ratio e1001/3-2/31300/3=100 x1001-2100 y01001300 Z000-3000020000 -15000000

43 Etape 2: Apparition des 0 sur le reste de la colonne Variables en base xye1e2e3 2 ème membre Ratio e1001/3-2/31300/3=100 x1001-2100 y01001300 Z000-3000020000 -15000000 Il faut remplacer L2 par L2 + 2*L1, L3 par L3-L1 et L4 par L4 -20000*L1

44 Tableau 4 Variables en base xye1e2e3 2 ème membre Ratio e1001/3-2/31100 x102/3-1/30300 y01-1/32/30200 Z0-20000/30-50000/30 -17000000 L’optimum est atteint (Tous les TMS sont négatifs)

45 Résultats  Optimum : 17 000 000  X=300  Y=200  Vérification : Z=30000X + 40000Y=30000*300 + 40000*200=17 000 000


Télécharger ppt "La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation."

Présentations similaires


Annonces Google