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.

Slides:



Advertisements
Présentations similaires
La Méthode de Simplexe Standardisation
Advertisements

La méthode du simplexe.
Méthode du Simplex (Dantzig)
PRESENTE PAR: KASHAMA LUBEMBE Dieudonné.
A la fin de ton année de 4 ème, tu dois être capable d’utiliser parfaitement un Mais d’abord qu’est-ce qu’un TABLEUR ? ???? TABLEUR- GRAPHEUR Page suivante.
Courbes d'Interpolation Interpolation de Lagrange, et Interpolation B-spline.
Transformation de Laplace - Mr.Retima Abderaouf - Mr.Ghandjoui abderahmane Université 20 aout 1955 Skikda.
Premier Degré.
Cours d’Econométrie de la Finance (Stat des choix de portf. IV 1-2)
V Suite géométrique : 1°) Définition : un+1
Suites ordonnées ou mettre de l’ordre
Outils de Recherche Opérationnelle en Génie MTH 8414
Thème 3 – La résistance au mouvement des charges
Pierre Joli Cours de Mathématique Pierre Joli
6. Analyse postoptimale.
Deuxième partie : La courbe d’indifférence
Le modèle d’Harry Markowitz (Travaux de 1954 et prix Nobel en 1990)
Chapitre 4: Variation dans le temps
Techniques de décomposition
Représentation de l’information en binaire:
Les inégalités et les inéquations
Loi Normale (Laplace-Gauss)
Master Réseaux et Systèmes Distribués (RSD)
Techniques d’Optimisation Chapitre 2: Problème de flôt
Analyse en Composantes Principales A.C.P. M. Rehailia Laboratoire de Mathématiques de l’Université de Saint Etienne (LaMUSE).
Précision d'une mesure et chiffres significatifs
Coefficient de corrélation linéaire
Chapitre 2: Les équations et les inéquations polynômes
Les plans de mélange Les plans d’expérience : Présentée par :
(Aix 98) Résoudre le système d'équations : 2x + y = 90
Microéconomie I.
Techniques d’Optimisation Chapitre 3: Programmation en 0-1 (bivalente)
Plans d’experiences : plans de melanges
Programmation linéaire et Recherche opérationnelle Licence d’Econométrie Professeur Michel de Rougemont
LES PRINCIPES DE LA THERMODYNAMIQUE
Exercice 6 : Soit la pyramide suivante : 1000 Ligne 1
C1 – Interpolation et approximation
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
Les tableaux.
Structure D’une Base De Données Relationnelle
Formules de calculs et Fonctions. Structure des formules de calcul Commencez toujours votre calcul par le signe =, ensuite sans laisser d’espaces, placez.
ACP Analyse en Composantes Principales
OPTIMISATION 1ère année ingénieurs
1/15 STABILITE 1)- NOTION DE STABILITE 2)- CONDITIONS DE STABILITE.
I Définition : Elle est définie ...
OPTIMISATION 1ère année ingénieurs
Etude de la commande du système à inertie
La Dualité et l’Analyse sensitive et post-optimale en PL
2.4 La loi de vitesse d’une réaction chimique
CHAPITRE 8 Equations - Inéquations
2. Méthode du simplexe et son analyse.
CHAPITRE 6 Stabilité des SA.
Chapitre 1 Formulation d’un programme linéaire (PL) Georges Abboudeh BUST 347.
Il s’agit de l’étude de l’effet total que HICKS et SLUTSKY ont étudié.
l’algorithme du simplexe
Les équations. Résultat d’apprentissage: Activité1: les énoncées mathématiques suivantes sont-elles des équations ?
La maximisation de la fonction d’utilité
CSI 3505 Algorithmes Voraces
RABAH M ed Ali 2018/2019
Recherche de zero d'une fonction MARMAD ANAS MPSI -2.
Chapitre 2 : Représentation de l’information dans la machine Introduction Représentation des nombres négatifs –Signe / valeur absolue –Complément à 1 –Complément.
5. Algorithme du simplexe
Introduction  La PLNE regroupe l’ensemble des techniques permettant de résoudre des programmes linéaires dont les solutions doivent être entières.  Formellement,
Système de Numération : Décimal, Binaire, Octal et Hexadécimal
Codification et représentation de l’information Enseignant: Mahseur mohammed Groupe FB: mi2016ua1 Chaine YT: Cours informatique.
II Fonctions polynômes degré 2
Oscillations libres des systèmes à deux degrés de liberté 1.
Oscillations libres des systèmes à deux degrés de liberté 1.
Outils de Recherche Opérationnelle en Génie MTH 8414
La programmation dynamique
Transcription de la présentation:

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 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.

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

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.

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.

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é.

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.

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.

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).

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

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

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

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

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)

Tableau du simplexe Variables en base xye1e2e3 2 ème membre Ratio e e e Z

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 et

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.

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.

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.

 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

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

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.

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

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.

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.

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.

Méthode appliquée à l’exemple B ase xye1e2e3 2 ème membre Ratio e e e Z 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}

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é.

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.

Variable entrante B ase xye1e2e3 2 ème membre Ratio e e e Z 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.

Calcul des ratios B ase xye1e2e3 2 ème membre Ratio e /1 e /2 e /1 Z 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.

Variable sortante B ase xye1e2e3 2 ème membre Ratio e /1 e /2 e /1 Z 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.

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.

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.

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 e /1 e /2 e /1 Z pivot Pour la ligne de e1, il faut lui retrancher la ligne du pivot. On remplace la ligne L1 par L1-L3

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 fois la ligne du pivot.. On remplace L4 par L4 – 40000L3

Tableau 2 Variables en base xye1e2e3 2 ème membre Ratio e e y Z L’optimum n’est pas atteint (1 TMS est >0)

Variable entrante, ratios et variable sortante du tableau 2 Variables en base xye1e2e3 2 ème membre Ratio e /2=2 50 e /1=1 00 y /0=  Z Variable entrante x et sortante e2

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

Tableau 3 Variables en base xye1e2e3 2 ème membre Ratio e x y Z L’optimum n’est pas atteint (1 TMS est >0)

Variable entrante, ratios et variable sortante du tableau 3 Variables en base xye1e2e3 2 ème membre Ratio e =300/3=1 00 x =-100/2=- 50 y =300/1=3 00 Z Variable entrante e3 et sortante e1

Etape 1: Division du pivot par 3 Variables en base xye1e2e3 2 ème membre Ratio e1001/3-2/31300/3=100 x y Z

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 x y Z Il faut remplacer L2 par L2 + 2*L1, L3 par L3-L1 et L4 par L *L1

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

Résultats  Optimum :  X=300  Y=200  Vérification : Z=30000X Y=30000* *200=