Programmation Linaire MS Val Dom M J Huguet
























































- Slides: 56
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. Algorithme du Simplexe 1. 2
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 à 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 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 7
Exemple 2 : Problème de transport 8
Exemple 3 : Problème de planification 9
Exemple 3 : Problème de planification 10
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 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 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 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 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 : Forme canonique 18 Forme canonique
Exercice : Forme standard PL sous forme canonique Ecrire le PL sous forme standard 19 Forme standard
Géométrie et PL 20
Exemple 21
Géométrie et PL 22
Solution optimale, optimum Définitions Différentes situations 23
Résolution graphique 24
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 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 200 L’optimum en trouve en B. B A 100 I 27 C 100 D 200 300 400 500
Algorithme du Simplexe 28
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 Exemple I est une solution de base admissible (SBA). 31
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
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 d’écart
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 ? 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 (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 en fonction des variables hors base 39
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 (8) Solution courante : 42
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 la variable entrante 44
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
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
Exercice – Résolution graphique 49
Corrigé 50
Exercice Appliquer la méthode des tableaux à l’exemple (diapo 35 à 42) Var. hors base 51 Var. de base Solution :
Exercice 52
Exercice Nouvelle solution (pivotage) Solution : 53
Exercice 54
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 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)