Programmation Linaire MS Val Dom M J Huguet

  • Slides: 56
Download presentation
Programmation Linéaire MS - Val. Dom M. -J. Huguet

Programmation Linéaire MS - Val. Dom M. -J. Huguet

Plan 1. Programmation Linéaire (D. Arzelier) Définitions et Programme Linéaire 2. Résolution graphique 3.

Plan 1. Programmation Linéaire (D. Arzelier) Définitions et Programme Linéaire 2. Résolution graphique 3. Algorithme du Simplexe 1. 2

Définitions et Programme Linéaire 3

Définitions et Programme Linéaire 3

Introduction Programme mathématique : Formulation d’un problème d’optimisation : Modéliser un problème d’optimisation consiste

Introduction Programme mathématique : Formulation d’un problème d’optimisation : Modéliser un problème d’optimisation consiste à identifier : Les variables de décision ou de commande (inconnues) Les différentes contraintes auxquelles sont soumises ces variables L’objectif visé ou le critère (optimisation): MIN ou MAX de fonction Programme Linéaire (PL): • Objectif et contraintes sont des combinaisons linéaires des variables. • Programmation Linéaire : 4 Optimisation Linéaire • Modélisation et résolution d’un problème d’optimisation linéaire en variables continues

Introduction Premières applications / modèles Optimisation de production industrielle L. Kantorovich - 1939 Transport

Introduction Premières applications / modèles Optimisation de production industrielle L. Kantorovich - 1939 Transport de marchandises et Allocation optimale de ressources Koopmans - 1944 Fondations de la Recherche Opérationnelle Co-prix Nobel d’économie en 1975 Méthodes de résolution Algorithme du simplexe – G. Dantzig – 1947 Problème militaire de planification d’opérations et d’allocation de ressources 5 Algorithme polynomial de point intérieur – N. Karmarkar - 1984

Exemple 1 : Problème de production 6

Exemple 1 : Problème de production 6

Exemple 1 : Problème de production 7

Exemple 1 : Problème de production 7

Exemple 2 : Problème de transport 8

Exemple 2 : Problème de transport 8

Exemple 3 : Problème de planification 9

Exemple 3 : Problème de planification 9

Exemple 3 : Problème de planification 10

Exemple 3 : Problème de planification 10

Formulation générale (1) Programme Linéaire (PL) Objectif/critère 11

Formulation générale (1) Programme Linéaire (PL) Objectif/critère 11

Formulation générale (2) Linéarité de la fonction objectif et des contraintes Variables continues Différence

Formulation générale (2) Linéarité de la fonction objectif et des contraintes Variables continues Différence avec PLNE (Programmation Linéaire en Nombres Entiers) Solutions réalisables / Régions réalisables Réalisables = Admissibles = Contraintes satisfaites 12

Intérêt de la Programmation Linéaire Optimisation sous contraintes Pas de méthode générique de résolution

Intérêt de la Programmation Linéaire Optimisation sous contraintes Pas de méthode générique de résolution Cadre (restreint) de l’optimisation linéaire sous contraintes Variables réelles Contraintes linéaires Objectif linéaire Existence de méthodes (et de solveur) génériques et efficaces Exemple : LP-Solve, Pu. LP, Cplex, Gurobi, OR-Tools, …. . Tableurs (Excel, Libre. Office), Matlab/Scilab, …. . 13

Formes canoniques et forme standard – Règles de transformation Formes canoniques Forme standard 14

Formes canoniques et forme standard – Règles de transformation Formes canoniques Forme standard 14

Formes canoniques et forme standard – Règles de transformation Objectif : Contraintes : Ajout

Formes canoniques et forme standard – Règles de transformation Objectif : Contraintes : Ajout de variables d’écart Variables : Sans perte de généralité, on considère des problèmes de maximisation avec contraintes sous forme standard 15

Exercice : Problème de production Ecrire le Programme Linéaire : Une entreprise fabrique 2

Exercice : Problème de production Ecrire le Programme Linéaire : Une entreprise fabrique 2 produits qui rapportent respectivement 50€ et 100€ par unité vendue (par kg). La fabrication se fait dans 3 ateliers dont le nombre d’heures de travail total est limité par mois (capacité). Le tableau donne le nombre d’heures requises dans chaque atelier pour fabriquer une unité de chaque type de produit. Par exemple pour produire unité de Produit 1, il faut passer 1 h dans l’atelier 1 et 2 h dans l’atelier 2. On veut maximiser le gain par mois. Durée d’utilisation (en h) Capacité (en h) 16 Produit 1 Produit 2 Atelier 1 1 1 300 Atelier 2 2 1 400 Atelier 3 0 1 250

Exercice : Modélisation sous forme de PL 17

Exercice : Modélisation sous forme de PL 17

Exercice : Forme canonique 18 Forme canonique

Exercice : Forme canonique 18 Forme canonique

Exercice : Forme standard PL sous forme canonique Ecrire le PL sous forme standard

Exercice : Forme standard PL sous forme canonique Ecrire le PL sous forme standard 19 Forme standard

Géométrie et PL 20

Géométrie et PL 20

Exemple 21

Exemple 21

Géométrie et PL 22

Géométrie et PL 22

Solution optimale, optimum Définitions Différentes situations 23

Solution optimale, optimum Définitions Différentes situations 23

Résolution graphique 24

Résolution graphique 24

Principe général PL à 2 variables Représentation graphique dans le plan 25

Principe général PL à 2 variables Représentation graphique dans le plan 25

Exemple Tracer le polyèdre des solutions admissibles : Tracer les droites associées aux contraintes

Exemple Tracer le polyèdre des solutions admissibles : Tracer les droites associées aux contraintes 400 300 200 100 26 100 200 300 400 500

Exemple Tracer les droites isocritère Solution optimale = 1 sommet du polyèdre 400 300

Exemple Tracer les droites isocritère Solution optimale = 1 sommet du polyèdre 400 300 200 L’optimum en trouve en B. B A 100 I 27 C 100 D 200 300 400 500

Algorithme du Simplexe 28

Algorithme du Simplexe 28

Solution de Base et Solution de Base Admissible Cette solution de base ne satisfait

Solution de Base et Solution de Base Admissible Cette solution de base ne satisfait pas TOUTES les contraintes elle n’est pas admissible 29

Solution de Base et Solution de Base Admissible 30

Solution de Base et Solution de Base Admissible 30

Solution de Base et Solution de Base Admissible Exemple I est une solution de

Solution de Base et Solution de Base Admissible Exemple I est une solution de base admissible (SBA). 31

Solution de Base et Solution de Base Admissible Ces solution de base satisfont toutes

Solution de Base et Solution de Base Admissible Ces solution de base satisfont toutes les contraintes : ce sont des SBA Variables hors base Variables de base Équivalent géométrique I C B 32

Liens SBA et sommets du polyèdre 33

Liens SBA et sommets du polyèdre 33

Principe de l’algorithme du Simplexe 1. Démarrer d’une solution initiale Point extrême du polyèdre

Principe de l’algorithme du Simplexe 1. Démarrer d’une solution initiale Point extrême du polyèdre : variables de base et variables hors base 2. Choix d’une direction d’amélioration Variable entrant dans la base Si n’existe pas : arrêt : solution optimale trouvée 3. Déplacement dans la direction jusqu’au point extrême suivant Variable sortant de la base Si n’existe pas : arrêt : le problème est non borné 4. Re-écriture des équations (changement de variables) Nouvelle solution de base (point extrême) Retour en 2 34

Illustration de l’algorithme du Simplexe (1) Forme canonique 35 Forme standard : 3 variables

Illustration de l’algorithme du Simplexe (1) Forme canonique 35 Forme standard : 3 variables d’écart

Illustration de l’algorithme du Simplexe (2) Choix de la direction de déplacement (choix de

Illustration de l’algorithme du Simplexe (2) Choix de la direction de déplacement (choix de l’arête) Choisir la variable entrant dans la base Principe : il faut améliorer l’objectif (max) Choix heuristique : sélectionner la variable hors base qui produit la plus grande augmentation de la fonction objectif Remarque : la fonction objectif doit être définie uniquement en fonction des variables hors base 36

Illustration de l’algorithme du Simplexe (3) Jusqu’où se déplacer dans la direction choisie ?

Illustration de l’algorithme du Simplexe (3) Jusqu’où se déplacer dans la direction choisie ? Choix de la variable sortant de la base Prendre la première variable de base à s’annuler dans la direction de la variable entrante 37

Illustration de l’algorithme du Simplexe (4) Calculer le nouveau point extrême Réaliser un pivotage

Illustration de l’algorithme du Simplexe (4) Calculer le nouveau point extrême Réaliser un pivotage (variable entrante / variable sortante) Nouvelle solution de base admissible Re-écrire les équations en fonction des nouvelles variables de base Principe : Deux opérations (ne changeant pas l’ensemble des solutions) : Multiplication d’une équation égalité par une constante Addition d’un multiple d’une équation égalité à une autre 38

Illustration de l’algorithme du Simplexe (5) Calculer le nouveau point extrême Objectif : uniquement

Illustration de l’algorithme du Simplexe (5) Calculer le nouveau point extrême Objectif : uniquement en fonction des variables hors base 39

Illustration de l’algorithme du Simplexe (6) Test d’optimalité Une solution (point extrême) est optimal

Illustration de l’algorithme du Simplexe (6) Test d’optimalité Une solution (point extrême) est optimal si tous les points adjacents donnent des valeurs inférieures ou égales pour la fonction objectif Vérifier si l’objectif peut augmenter ? Test d’optimalité : si tous les coefficients de la fonction objectif 40 sont négatifs ou nuls, la solution de base courante est optimale

Illustration de l’algorithme du Simplexe (7) 41

Illustration de l’algorithme du Simplexe (7) 41

Illustration de l’algorithme du Simplexe (8) Solution courante : 42

Illustration de l’algorithme du Simplexe (8) Solution courante : 42

Algorithme du Simplexe : méthode des tableaux Problème initial sous forme standard Var. hors

Algorithme du Simplexe : méthode des tableaux Problème initial sous forme standard Var. hors base Var. de base Tableau du PL 43

Algorithme du Simplexe : méthode des tableaux Choix de la variable entrante Colonne de

Algorithme du Simplexe : méthode des tableaux Choix de la variable entrante Colonne de la variable entrante 44

Algorithme du Simplexe : méthode des tableaux Choix de la variable sortante Ligne /

Algorithme du Simplexe : méthode des tableaux Choix de la variable sortante Ligne / variable de base sortante 45

Algorithme du Simplexe : méthode des tableaux 46

Algorithme du Simplexe : méthode des tableaux 46

Questions sur la méthode du Simplexe Initialisation Trouver une solution de base réalisable ?

Questions sur la méthode du Simplexe Initialisation Trouver une solution de base réalisable ? Résolution par un problème auxiliaire (appelé Phase I) avec méthode du Simplexe pour déterminer une solution réalisable Trouver une variable entrante et une variable sortante ? Pas de variable entrante : solution optimale trouvée Pas de variable sortante : problème non borné Plusieurs variables sortantes : dégénérescence Plusieurs solutions avec même valeur de fonction objectif Convergence en un nombre fini d’étapes ? Oui si objectif strictement croissant à chaque itération Risque de cycle en cas de variables candidates (entrantes/sortantes) multiples : stratégie pour éviter les cycles 47

Complexité du Simplexe et de la PL 48

Complexité du Simplexe et de la PL 48

Exercice – Résolution graphique 49

Exercice – Résolution graphique 49

Corrigé 50

Corrigé 50

Exercice Appliquer la méthode des tableaux à l’exemple (diapo 35 à 42) Var. hors

Exercice Appliquer la méthode des tableaux à l’exemple (diapo 35 à 42) Var. hors base 51 Var. de base Solution :

Exercice 52

Exercice 52

Exercice Nouvelle solution (pivotage) Solution : 53

Exercice Nouvelle solution (pivotage) Solution : 53

Exercice 54

Exercice 54

Exercice Nouvelle solution (pivotage) Solution : 55

Exercice Nouvelle solution (pivotage) Solution : 55

Conclusion – Partie Programmation Linéaire Méthode algébrique de résolution d’équations linaires Parties non traitées

Conclusion – Partie Programmation Linéaire Méthode algébrique de résolution d’équations linaires Parties non traitées Dualité 56 Analyse de sensibilité / Analyse post-optimale Comment varie la valeur optimale d’un PL si on modifie certains paramètres (coefficients des variables, second membre des contraintes)