5. Algorithme du simplexe

Slides:



Advertisements
Présentations similaires
7. Probème de flot à coût minimum.
Advertisements

Programmation linéaire et Recherche opérationnelle
La Méthode de Simplexe Standardisation
La méthode du simplexe.
6. Analyse postoptimale.
l’algorithme du simplexe
3. Variantes de l’algorithme
2. Méthodes du simplexe et son analyse.
Algorithmes et structures de données avancés
Résolution d’un programme linéaire
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
M. EL Adel & M. Ouladsine LSIS – UMR-CNRS 6168 Marseille - France
Chapitre II.Rappels mathématiques et complexité
Exemple Champ électrique au-dessus d’un paratonnerre
Génération de colonnes
6. Analyse postoptimale. Analyse postoptimale Mesurer linfluence sur la solution optimale de modifier certains coefficients du problème Indiquer à lutilisateur.
On procède comme on peut le voir sur le dessin ci-contre en effectuant
Programmation linéaire
Optimisation linéaire
Méthode du Simplex (Dantzig)
Problème de flot à coût minimum
Méthodes de prévision (STT-3220)
7. Problème de flot à coût minimum.
GPA750 Les ateliers multigammes Chapitre 5
Dualité Introduction à la dualité. Construction du couple primal-dual.
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Programmation linéaire en nombres entiers : la méthode du simplexe
Optimisation linéaire
Optimisation linéaire
4.Convergence de lalgorithme du simplexe. Convergence dans le cas non dégénéré Hypothèse de non dégénérescence: toutes les variables de base sont positives.
3. Convergence de lalgorithme du simplexe. Preuve: En supposant que la matrice A est de plein rang m, chaque solution de base réalisable doit comporter.
Introduction à la programmation linéaire
SUJETS SPÉCIAUX EN INFORMATIQUE I
L ABORATOIRE d I NGÉNIERIE des S YSTÈMES A UTOMATISÉS EA 4014 – Université dAngers Institut des Sciences et Techniques de lIngénieur dAngers Master2 Recherche.
Méthode du simplexe Introduction, définitions et notations préliminaires, théorèmes fondamentaux, algorithme (primal) du simplexe, détermination de toutes.
Génération de colonnes pour la résolution des problemes de foresterie
Programmation linéaire en nombres entiers : les méthodes de troncature
Introduction à la programmation linéaire en nombres entiers
l’algorithme du simplexe
MAXIMISER les RESULTATS
Présentation de la méthode des Eléments Finis
Solution connue à l’avance
Décomposition de Benders
بسم الله الرحمن الرحيم.
Master 1 en informatique Juin 2007 Visualisation d'un ensemble convexe en 2D et en 3D pour la programmation linéaire 2 / 30.
Optimisation et complexité
P rogrammation M athématique L inéaire TAI Optimisation & Complexité Adeline Dubois Nicolas Hubert Antonin Lapiche 28/05/2010.
Résolution des équations de Navier-Stokes : le problème de Stokes
Programmation linéaire en nombres entiers
Rénovation STG – Économie Gestion - Académie de Lille – Mars 2005
6. Problème de flot à coût minimum.
- 5 - Optimisation linéaire et non-linéaire
Ajouts et retraits dans un arbre de connexion Nicolas Thibault et Christian Laforest, Équipe OPAL Laboratoire IBISC (regroupement LaMI et LSC), Évry 8.
1 Logiciels de confection automatique d’horaires.
Post-optimisation, analyse de sensibilité et paramétrage
2. Méthode du simplexe et son analyse.
programmation linéaire
3. Variantes de l’algorithme
1. Méthode du simplexe et son analyse.
La demande.
Programme linéaire - solution graphique
Chapitre 2 Résolution de Programmes Linéaires. La méthode graphique Cette méthode est simple et s’applique à des problèmes de programmation linéaire à.
Techniques d'Optimisation Master
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
6. Analyse postoptimale.
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.
OPTIMISATION 1ère année ingénieurs
2. Méthode du simplexe et son analyse.
l’algorithme du simplexe
5. Algorithme du simplexe
Transcription de la présentation:

5. Algorithme du simplexe avec variables bornées

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 )

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 )

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

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

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

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

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

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

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

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

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

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

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

É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

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

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

É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

É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

É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

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

É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

É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

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