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

Slides:



Advertisements
Présentations similaires
Programmation linéaire et Recherche opérationnelle
Advertisements

Résolution Graphique d'un Programme Linéaire
Eléments d'algèbre linéaire
La Méthode de Simplexe Standardisation
Explorer un espace d’états
La méthode du simplexe.
6. Analyse postoptimale.
3. Variantes de l’algorithme
2. Méthodes du simplexe et son analyse.
Le comportement optimal de l'investisseur. D é fini de fa ç on rigoureuse le comportement de l'agent investisseur dans un univers incertain Son d é veloppement.
Le modèle d’Harry Markowitz (1952 – Prix Nobel en 1990)
5. Algorithme du simplexe
Génération de colonnes
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
6. Analyse postoptimale. Analyse postoptimale Mesurer linfluence sur la solution optimale de modifier certains coefficients du problème Indiquer à lutilisateur.
VI – Rang d’une matrice Mots clés : Rang.
Programmation linéaire
Optimisation linéaire
Méthode du Simplex (Dantzig)
Systèmes d’équations linéaires
Problème de flot à coût minimum
Dualité Introduction à la dualité. Construction du couple primal-dual.
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
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.
Méthode du simplexe Introduction, définitions et notations préliminaires, théorèmes fondamentaux, algorithme (primal) du simplexe, détermination de toutes.
Programmation linéaire en nombres entiers : les méthodes de troncature
l’algorithme du simplexe
Programmation linéaire en nombres entiers
- 5 - Optimisation linéaire et non-linéaire
Post-optimisation, analyse de sensibilité et paramétrage
2. Méthode du simplexe et son analyse.
3. Variantes de l’algorithme
1. Méthode du simplexe et son analyse.
Enseignement des fonctions Objectif : Concevoir une activité introduisant la résolution des équations du second degré Connaissances de l’élève à utiliser.
TP2: Statistique & Probabilité Intervalle de confiance et test d’hypothèses.
Analyse de la proposition d’enseignement du cercle circonscrit au triangle Type de tâches et tâches  Un seul type de tâches T : « déterminer le nombre.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 5 Support de cours rédigé par Bernard COFFIN Université.
Quatrième 4 Chapitre 9: Résolution de problèmes Équations M. FELT 1.
Modèles d’aide à la décision Séance 12 Optimisation non linéaire 1.
Maths en Jean : Nager dans le brouillard. Présentation du sujet Une personne part du bord de la plage et nage 500 mètres en ligne droite dans une direction.
Plans d'expérience Méthode Taguchy Analyse de la variance Anavar.
Paramétrisation adaptative pour l’estimation des paramètres hydrodynamiques dans un milieu poreux non saturé MOMAS-Thème E: Problèmes inverses et analyse.
Chap.V RSA. I. Rappels Mathématiques La congruence Définition 1 a et b sont congrus modulo n s’ils ont même reste par la division par n. On note a≡b[n]
Géomatique Systèmes de projection Types de données Applications Qu’est-ce qu’un SIG ? Présentation de la géomatique La géomatique regroupe l'ensemble des.
Cours de base: Programmation linéaire Dr TARI Abdelkamel Maître de Conférences Habilité Chef du projet CRITT-Béjaia Directeur du Laboratoire LIMED Université.
Chapitre 4 Gestion des disques Module S41. Plan du cours 1. Utilisation de l'outil Gestion des disques 2. Utilisation des disques de base 3. Utilisation.
FACTORY systemes Module 5 Page 5-1 Les outils clients Wonderware FORMATION InSQL 7.0.
Un usage de la notion d’O.M. pour la préparation de l’épreuve sur dossier du CAPES.
Inéquation Partie 2. x est plus grand que 12. Rappel : Les symboles utilisés x est plus grand ou égal à 12. x est plus petit que 12. x est plus petit.
1 Les groupements d’échangeurs thermiques, illustration de systèmes énergétiques, introduction aux systèmes complexes. Comprendre.
C-Ingénierie numérique - cours 4. Présentation du problème.
METHODE DES CHAÎNONS Méthode permettant d’implanter des postes de travail dans les usines ou entrepôts. Optimisation recherchée Gain sur le temps de fabrication.
Faculté Polytechnique Cours 5: introduction à la géométrie analytique spatiale Géométrie et communication graphique Edouard.
GRAFCET Chaîne d’information Principes généraux Le GRAFCET
Modes de Marches et d’Arrêts
La spécialité mathématique en TS. Les mathématiques sont une science qui se construit elle-même grâce à la démonstration. Axiomes et définitions Théorèmes.
Techniques d'Optimisation Master
Mesures de tendance centrale et mesures de dispersion.
Régression linéaire (STT-2400) Section 3 Préliminaires, Partie II, La loi multinormale Version: 8 février 2007.
Test de compréhension sur l’éducation centrée sur l’élève.
La factorisation Formule. Résoudre une équation de la forme ax 2 + bx + c = 0 1 ère Partie Présentation de la formule 2- On ajoute un terme constant et.
AUTOMATISME Chapitre 2: Le GRAFCET.
Section 4 : Analyse descriptive. En 1901, Karl Pearson publie son papier sur l’Analyse en Composante Principale dans : “On lines and planes of closest.
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
Chapitre 4: Variation dans le temps  Les données : audience totale en milliers (tableau 4.1, p. 47, extrait) o Origine : enquête sur les habitudes d’écoute.
La Dualité et l’Analyse sensitive et post-optimale en PL
Chapitre 12 : Notion de fonction
l’algorithme du simplexe
Transcription de la présentation:

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 à deux variables. Le principe consiste à dessiner le polyèdre convexe représentant l’ensemble des contraintes et à parcourir les sommets jusqu’à trouver celui qui optimise la fonction objectif. Exemple: Reprenons l’exemple 1 du chapitre 1 avec t 11 = 0.25 t 12 = 0.4 t 11 = 0 t 21 = 0.5 t 22 = 0.2 t 23 = 0.8 t 1 = t 2 = 40h  1 = 2  2 = 3

Modélisation et résolution de l’Exemple 1 Le programme linéaire associé est: Max Z= 2 x x 2 0,25 x 1 + 0,5 x 2  40 0,4 x 1 + 0,2 x 2  40 0,8 x 2  40 x 1, x 2  0 Le domaine convexe D délimité par l’ensemble des contraintes est représenté dans la Figure 2.1 par la partie hachurée où les sommets sont: O=(0,0) Z O =0 A=(0,50) Z A =150 B=(60,50) Z B =270 C=(80,40) Z C =280 D=(100,0) Z D = 200 Le point extrême qui maximise Z est le sommet C qui est optimale  2 A B  3 C D  O D  1

La méthode du Simplexe Cette technique a été développée par DANTZIG (1948). Condition d’utilisation: Disposer d’une solution de base réalisable de départ Principe: Passer d’une solution de base réalisable (point extrême) à une autre solution de base réalisable (point extrême) de meilleure valeur de la fonction objectif. Dans le cas où nous ne pouvons pas améliorer la valeur de la fonction objectif alors la solution courante est optimale. Dans le l’exemple 2.1, les différentes itérations de la méthode du simplexe seront comme suit: 1 ière itération A 2 iéme Itération B 3 ième Itération C Terminer Début O D

La méthode du simplexe Illustration du fonctionnement de la méthode par l’exemple 2.1 pour déduire l’algorithme: La forme standard du PL est: Max Z= 2 x x 2 0,25x 1 +0,5 x 2 + e 1 = 40 0,4 x 1 +0,2 x 2 + e 2 = 40 0,8 x 2 + e 3 = 40 x 1, x 2, e 1, e 2, e 3  0 La solution de base réalisable de départ est: x 1 =x 2 =0 (VHB) e 1 =e 2 =e 3 =40 (VB) qui correspond au point extrême O=(0,0) avec ZO=0 1 ière itération: Exprimons les variables de base VB et la fonction objectif en fonction des variables hors base VHB e 1 = ,25x 1 - 0,5 x 2 e 2 = ,4 x 1 - 0,2 x 2 …………………………(1) e 3 = ,8 x 2 Z= 2 x x 2

La méthode du simplexe Pour augmenter la valeur de Z nous devons faire rentrer la variable hors base x 2 (coefficient le plus élevé dans Z) dans la base et faire sortir une variable de base hors base. En gardant x 1 =0 et remplaçant sa valeur dans (1) et en utilisant la non négativité des variables, on obtient: e 1 = ,5 x 2  0 x 2  80 e 2 = ,2 x 2  0  x 2  200  x 2  50 e 3 = ,8 x 2  0 x 2  50 On prendra x 2 = Min { 40/0,5; 40/0,2; 40/0,8} = 50 La nouvelle solution de base réalisable est obtenue en posant x 2 = 50 qui est: x 1 = 0 e 3 =0 (VHB) e 1 = 15 e 2 = 30 x 2 =50 (VB) qui correspond au point B=(0, 50) avec Z B = ième itération: Exprimons les variables de base e 1, e 2 et x 2 en fonction des variables hors base x 1 et e 3 on obtient- x 2 = ,25e 3 e 1 = ,25x 1 – 0,5 (50 - 1,25e 3 ) = 15-0,25 x 1 + 0,625 e 3 e 2 = ,4 x 1 - 0,2 (50 - 1,25e 3 ) = 30-0,4 x 1 + 0,25 e 3 …………(2) Z= 2 x (50 - 1,25e 3 ) = x 1 - 3,75 e 3

La méthode du simplexe La variable candidate à entrer en base est x 1. En gardant e 3 =0 dans (2), on obtient: x 2 = 50 e 1 = ,25x 1  0  x 1  60  x 1 = Min{60, 75}= 60 e 2 = 30-0,4 x 1  0 x 1  75 x 1 entre en base et e 1 sort de la base. On obtient la solution de base réalisable: x 1 =60 x 2 = 50 e 2 = 6 (VB) e 1 = e 3 = 0 (VHB) qui correspond au point B =(60, 50) avec Z B = ième itération: En exprimant dans (2) les variables de base et la fonction objectif en fonction des variables hors base, on obtient: x 1 = 60-4e 1 + 2,5 e 3 x 2 = 50 -1,25 e 3 ……………..(3) e 2 = 6 + 1,6 e 1 - 0,75 e 3 Z= 270-8e 1 + 1,25 e 3

La méthode du simplexe La variable e 3 entre en base. En gardant e 1 =0 x 1 = 60 +2,5 e 3  0 x 2 = 50 -1,25 e 3  0  e 3 = Min {40, 8}=8 e 2 = 6 - 0,75 e 3  0 e 3 entre en base et e 2 sort de la base. On obtient la solution de base réalisable suivante: x 1 =80 x 2 = 40 e 8 = 8 (VB) e 1 = e 2 = 0 (VHB) qui correspond au point C =(80, 40) avec Z B = ième Itération En exprimant dans (3) les variables de base et la fonction objectif en fonction des variables hors base on obtient: e 3 = 8+ 2,13e 1 - 1,33 e 2 x 1 = ,33 e 1 - 3,33 e 2 x 2 = ,67 e 1 + 1,67 e 3 Z= ,33e 1 - 1,67 e 2 On ne peut plus augmenter la fonction objectif. Terminer le point C est optimal

La méthode du simplexe Représentation de la méthode du simplexe par les tableaux Pour simplifier et mieux organiser les calculs effectués par cette méthode nous utilisons une représentation des différentes étapes par des tableaux, appelés, tableaux du simplexe Le premier tableau du simplexe reprend les éléments du programme S On supposera que les variables de base sont x 1, x 2, …, x m et les variables hors base sont x m+1, x m+2, …, x n

La méthode du simplexe Posons: Le premier tableau du simplexe est: c 1 c 2 … c m c m+1 … c n BaseCBCB P0P0 P 1 P 2 … P m P m+1 … P n x1...xmx1...xm c1...cmc1...cm b1...bmb1...bm 1 0 … 0 a 1,m+1 … a 1,n 0 1 … 0. ….. 0 … 0. …... … 0. …. 0 0 … 1 a m,m+1 … a m,n Z J c 1 c 2 … c m Z m+1 … Z n  J -Z … 0 c m+1 -Z m+1 … c n -Z n

La méthode du simplexe Principe de la méthode: Démarrer d’une solution de base réalisable (tableau du simplexe) à une autre solution de base réalisable (tableau du simplexe) de meilleure valeur de Z. Cette transformation consiste à faire entrer (selon un critère d’entrée) une variable hors base dans la base et à faire sortir (selon un critère de sortie) une variable de base hors base. Critère d’entrée: Soit I l’ensemble des indices des variables de Base et J ceux des variables hors base. La variable hors base x r de coefficient  r dans la fonction objectif le plus élevé est la variable candidate à entrer en base. En cas d’égalité on fait un choix arbitraire. En d’autres termes:  r = Max {  j /  j > 0, j  J}. Critère de sortie: La variable x s qui doit sortir de la base est telle que: b s /a sr = Min {b i /a ir, a ir >0} a sr : est appelé pivot Critère d’arrêt: Pour un problème de maximisation, l’algorithme s’arrête lorsque tous les coefficients  j, j  J sont négatifs ou nuls

La méthode du simplexe Renouvellement du tableau du simplexe Le nouveau tableau s’obtient par les formules suivantes: Ligne pivot: (celle qui contient le pivot) Nouvel élément= Ancien élément / pivot a sj (k+1 ) = a sj (k) / a sr Autres éléments: a ij (k+1) = a ij (k) – a ri (k) *a sj (k) / a sr (k) -- = * / Nouvel Elément Elément correspondant à la colonne pivot Ancien Elément Elément correspondant à la ligne pivot Pivot

La méthode du simplexe Algorithme du Simplexe (0) Mettre le programme linéaire sous sa forme standard (1)Recherche d’une solution de base réalisable de départ (2) Construire le premier tableau du simplexe (3) Tester si  j  0,  j  {1, …, n} Si oui, terminer la solution courante est optimale Si non, aller en (4) (4) Soit  r = Max {  j /  j > 0, j  J}, la variable x r entre en base Tester Si a ir  0  r  {1, …, m} Si oui, le problème ne possède pas de solution optimale finie Si non, aller en (5) (5) Déterminer la variable sortante x s par b s /a sr = Min {b i /a ir, a ir >0} (6) Renouvellement du tableau par les formules données ci haut

Exemple de résolution Reprendre l’exemple 1 Max Z= 2 x x 2 0,25 x 1 + 0,5 x 2  40 0,4 x 1 + 0,2 x 2  40 0,8 x 2  40 x 1, x 2  0 Le premier tableau du simplexe est: 1 ière itération (point O) Basebx 1 x 2 e 1 e 2 e 3 e1 e2 e3 40 0,25 0, ,4 0, , (-Z)

Exemple de résolution 2 ième itération Ce tableau correspond au point A=(0,50) 3 ème itération Ce tableau correspond au point B=(60,50) Basebx 1 x 2 e 1 e 2 e 3 e1e2x2e1e2x , ,625 0, , , ,75 Basebx 1 x 2 e 1 e 2 e 3 x1e2x2x1e2x , ,6 1 0, , ,25

Exemple de résolution 4 ème itération  j on a  j  0. Terminer la solution est optimale. Cette solution correspond au point C=(80,40) Basebx 1 x 2 e 1 e 2 e 3 x1e3x2x1e3x ,33 3, ,13 1, ,67 -1, ,33 -1,67 0

Recherche d’une solution de base réalisable (1/2) La méthode du simplexe impose une solution de base réalisable de départ. Lorsque nous l’avons pas, nous utilisons la méthode des deux phases (variante de la méthode du simplexe). Considérons le programme linéaire mis sous la forme standard Max Z= c x (PLS)A x = bx désigne le vecteur variable du PLS ainsi x  0que les variables d’écart Associons à ce programme (PLS) la programme auxiliaire suivant: (PLA) A x + y = by désigne le vecteur variable artificielle x, y  0On rajoute à la contrainte n’ayant pas de variable de base une variable artificielle Principe: - Phase 1: Résoudre le programme linéaire auxiliaire (PLA). Si ce problème possède une solution optimale finie, alors cette une solution est de base réalisable de départ pour le programme linéaire (PLS). - Phase 2: Résoudre (PLS) en utilisant comme solution de base réalisable celle trouvée en phase 1.

Recherche d’une solution de base réalisable (2/2) Remarques: 1)Exprimer d’abord la fonction objectif en termes de variables hors base uniquement avant de commencer la résolution de (PLA). 2)A la fin de la phase 1, s’il existe une solution optimale finie, elle doit nécessairement être nulle ; y i =0  i  I(A). 3)Pour accroitre la rapidité de la résolution du problème, il est conseillé d’ajouter dans la tableau du simple à la phase 1 la fonction objectif de (PLS).

Exemple 2 Exemple: Soit le PL suivant: Min Z= x x 2 Max Z’= - x x 2 2 x 1 + x 2  6 2 x 1 + x 2 + e 1 = 6 x 1 + x 2 = 4(PLS) x 1 + x 2 = 4 x x 2  8 x x 2 - e 2 = 8 x 1, x 2  0 x 1, x 2, e 1, e 2  0 Le problème auxiliaire s’obtient en ajoutant au PLS une variable artificielle à la seconde et troisième contrainte Min  = y 1 + y 2 2 x 1 + x 2 + e 1 = 6 (PLA) x 1 + x 2 + y 1 = 4 x x 2 - e 2 +y 2 = 8 x 1, x 2, e 1, e 2, y 1, y 2  0 Min  = y 1 + y 2  Max  ’= x 1 + 4x 2 - e 2

Exemple 2 Phase 1: 1 ière itération 2 ième itération Basebx 1 x 2 e 1 e 2 y 1 y 2 e1y1y2e1y1y ’’ Z’ Basebx 1 x 2 e 1 e 2 y 1 e1y1x2e1y1x2 10/3 4/3 8/3 5/ /3 0 2/ /3 1 1/ /3 0 ’’ 4/32/ /3 0 Z’16/3-1/ /3 0

Exemple 2 3 ième itération Terminer, la solution de base réalisable de départ pour PLS est : x 1 = 2 x 2 =2 e 1 = e 2 = 0 Z=6 Phase 2 Nous avons:  j  0  j, il s’ensuit que la solution de base réalisable trouvée en phase 1 est une solution optimale pour PL Basebx 1 x 2 e 1 e 2 e1x1x2e1x1x / / /2 ’’ 00 0 Z’ /2 Basebx 1 x 2 e 1 e 2 e1x1x2e1x1x / / /2 Z’ /2

Quelques modèles particuliers (1/6) Modèle irréalisable Un PL est dit irréalisable si certaine de ses contraintes se contredisent. Lorsqu’un tel cas se présente, la formulation doit être revue. Exemple 3 Max Z= x 1 + x 2 x 1 + x 2  7 -2 x 1 + x 2  3 x 1 + x 2  0 x 1, x 2  0 Ce modèle est irréalisable car les contraintes 1 et 2 sont en contradictions. On reconnait un tel cas lorsqu’à la fin de la phase 1, une variable artificielle reste dans la base.

Quelques modèles particuliers (2/6) Modèle non borné Un PL est dit non borné si son optimum est infini. On reconnait un tel modèle lorsqu’à une itération donnée, le vecteur colonne de la variable x r qui rentre en base est négatif ou nul. En pratique, cette situation peut signifier une omission d’une contrainte vitale lors de la formulation du problème Exemple 4 Max Z= x 1 + x 2 x 1 - x 2  1 (0,1) -2 x 1 + x 2  3 D x 1, x 2  0 (1,0) En introduisant les variables d’écart et après une itération du simplexe on a La variable x2 entre en base et son vecteur correspondant dans le système des contraintes est négatif Basebx 1 x 2 e 1 e 2 x 1 e Z’

Quelques modèles particuliers (3/6) Modèle à infinité de solutions Ce type de modèle apparaît lorsqu’à la fin de la résolution du PL par la méthode du simplexe une variable hors base possède un coefficient nul dans la ligne de la fonction objectif. Dans ce cas, une itération supplémentaire donnera une seconde solution optimale. Toute combinaison convexe de ces 2 solutions optimales est aussi une solution optimale. Exemple 5 Max Z= 3 x x 2 3 x x 2  18 (0,6) (2,6) x 1  4 x 2  6 D (4,3) x 1, x 2  0 (4,0) B=(2, 6) et C=(4,3) sont deux solutions optimales de PL. Toute combinaison convexe de B et C est une solution optimale

Quelques modèles particuliers (4/6) Modèle dégénéré Un modèle PL est dit dégénéré si une variable de base est nulle. Dans ce cas, il est possible qu’une itération du simplexe n’améliore pas la valeur de la fonction objectif. Supposons qu’un PL est délimité par les 3 contraintes A, B et C suivantes A B C S 1 =S 2 Une itération du simplexe nous fait passer du sommet S 1 au sommet S 2 alors que nous sommes restés au même point. Cette situation est appelée aussi cyclage. Il peut être infini. Une solution possible consiste à perturber le modèle pour sortir de ce cyclage. Le problème perturbé est obtenu en remplaçant le vecteur b par  >0 très petit et P j représente le vecteur coefficient dans le système des contraintes de la variable x j

Quelques modèles particuliers (5/6) On résout le programme perturbé et on revient au programme initial en posant  = 0 Exemple 6 Max Z= 2 x 1 + x 2 3 x 1 - x 2  6 x 1  2 x 1, x 2  0 Après une itération du simplexe on obtient On remplace b 1 =    3 – 3  4 =  2 +  3 – 3  4 =  2 (1+  -3  2 ) b 2 =     4 = 2 +  +  4 Après 3 itérations (voir transparent 27 suivant), on obtient la solution optimale suivante: Z=6 x 1 =0 x 2 =6 e 2 =2 e 1 =0 en posant  =0 dans le dernier tableau Basebx 1 x 2 e 1 e 2 e 1 x jj

Quelques modèles particuliers (6/6) Basebx 1 x 2 e 1 e 2 e 1 x 1  2 (1+  -3  2 ) 2 +  +  jj Basebx 1 x 2 e 1 e 2 e 1 x 1  2 (1+  -3  2 ) 2 +  +  jj-4-  2 (1+  -3  2 ) Basebx 1 x 2 e 1 e 2 x 2 e  +  2 +   +  jj-6-  -  2 -  