É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
CHAPITRE 3 OPTIMISATION
Concepts de base: recherche opérationnelle Programmation linéaire Programmation en nombre entier Logiciel LINDO
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
CONCEPTS DE BASE RECHERCHE OPÉRATIONNELLE
Définitions Origines Applications Méthodes Modèles
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE
DÉFINITIONS • Application de méthodes, techniques, instruments scientifiques pour modéliser et résoudre les problèmes dans tous les domaines • Application de la méthode scientifique pour modeler et résoudre les problèmes dans tous les domaines • Art de donner des mauvaises réponses à des problèmes auxquels autrement de pires réponses seraient données
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE
ORIGINES • Développement Développement durant la seconde guerre mondiale
applications aux opérations militaires • •
répartition des troupes, du matériel, des ressources approvisionnement en vivres, en pièces, en armement
• Scientifiques et ingénieurs: applications civiles
programmation linéaire (1 ère publication en 1939) développement du simplexe par G. Dantzig (1947) développement des techniques classiques en programmation linéaire, non-linéaire, dynamique, théorie des files d’attente, etc. ralentissement des recherches généré par le manque d’outils de calcul
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE
APPLICATIONS • Applications aux problèmes réels de grande envergure
arrivée des processeurs rapides développement des bases de données techniques d ’optimisation appliquées à de nombreux domaines
• Domaines d’utilisation
militaire transport • • •
aéroport route, trajet, livraison horaire
contrôle des réseaux •
infrastructures, distribution
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE
2 importants centres de recherche à Montréal • CRT: Centre de Recherche sur les Transports • GÉRAD: GÉRAD: Groupe Groupe d’Étud d’Étude e et de de Reche Recherch rche e en Anal Analyse yse des Décisions
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE
CONCEPT DE SYSTÈME • Système
Agrégat ou assemblage d’objets joints par des interactions ou interdépendances régulières
• Activité
Processus qui crée un changement de l’état du système
• Entité
Objet d’intérêt dans un système
• Attribut
Propriétés relatives à une entité
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE EXEMPLE DE SYSTÈME SYSTÈME circulation
ACTIVITÉ mouvements trajets
ENTITÉ véhicules routes
ATTRIBUT vitesse distances
banque
dépôts
clients
état de crédit
transmission
message
priorité
communications
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE
MÉTHODES • • • • • • • • • • •
Techniques mathématiques mathématiques Techniques statistiques Modèles de gestion des stocks Modèles d’affectation Modèles de programmation dynamique Modèles de files d’attente Modèles séquentiels Modèles de remplacement Modèles de compétition Techniques de simulation Méthodes heuristiques
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE
MODÈLE • Moyen pour mieux comprendre la réalité utilisée pour représenter les propriétés fondamentales d’un certain phénomène • Problèmes de gestion souvent complexes • Nécessité fréquente d’ignorer certains paramètres pour tirer une version idéale, épurée: c’est un modèle
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE
CLASSIFICATION DES MODÈLES • Modèles physiques
Modèles iconiques • •
Pour visualiser une solution pratique Modèles réduits, maquettes
Modèles analogiques • •
Phénomène qu’on étudie pour représenter un autre Analogie électrique en hydraulique
• Modèles symboliques
Modèles mathématiques • •
Déterministiques Probabilistes ou stochastiques
Modèles verbaux
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE
Modèles mathématiques • Modèles déterministiques
Incertitude négligeable Résultats du phénomène prévu avec certitude
• Modèles probabilistes ou stochastiques
Incertitude considérée comme facteur important du phénomène ou système analysé
Classe de modèles déterministiques • Modèles de programmation linéaire
Équations ou inéquations du premier degré représentant les contraintes du problème
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE
Méthode scientifique 1. Expériences vécues 2. Critères qui permettent de juger si le problème est résolu 3. Principaux aspects de la réalité 4. Paramètres du modèle 5. Méthodes appropriées 6. Conclusions obtenues versus opinions des personnes 7. Implantation de la décision
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RECHERCHE OPÉRATIONNELLE
Formulation du modèle mathématique • Définir le problème
Quelle est la nature exacte du problème? Quel est l’objectif recherché? Quelles sont les conditions d’opération? Quels sont les paramètres à considérer? Quelle influence? Quel est le degré de précision requis?
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROGRAMME LINÉAIRE
PL • • • •
problème d’optimisation consistant à maximiser (ou minimiser) une fonction objectif linéaire de n variables de décision soumises à un ensemble de contraintes exprimées sous forme d’équations ou d’inéquations linéaires
La terminologie est due à George B. Dantzig, inventeur de l’algorithme du simplexe (1947)
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROGRAMMATION LINÉAIRE
Hypothèses: • La linéarité des contraintes et de la fonction objectif • La proportionnalité des gains/coûts et des consommation de ressources • La divisibilité des variables • Le déterminisme des données Lors de la modélisation d'un problème réel, l'impact de ces hypothèses sur la validité du modèle mathématique doit être étudié Cette analyse peut mener à choisir un modèle différent (non linéaire, stochastique, ...) et est essentielle pour la phase d'interprétation des résultats fournis par le modèle
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MISE EN FORME MATHÉMATIQUE
Définir les variables de décision • ensemble des variables qui régissent la situation à modéliser • variables réelles, entières, binaires
Préciser la fonction objectif • fonction mathématique composée des variables de décision qui représente le modèle physique modélisé • fonction linéaire, non-linéaire
Préciser les contraintes du problème • ensemble des paramètres qui limitent le modèle réalisable • équations ou inéquations composées des variables de décision
Préciser les paramètres du modèle • constantes associées aux contraintes et à la fonction objective
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROGRAMMATION LINÉAIRE
Validation du modèle et des résultats • S’assurer
que le modèle développé est conforme à la réalité que les résultats sont valides dans toutes t outes les conditions
Conception du système d’application • Possibilité d’utiliser des logiciels spécialisés
Implantation
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
FORMULATION MATHÉMATIQUE D’UN PROGRAMME LINÉAIRE
FONCTION OBJECTIF • Maximiser ou minimiser • z = c1x1 + c2x2 + c3x3 + … + + cnxn
Contraintes • a11x1 + a12x2 + a13x3 + … + a1nxn (≤ , =, ≥ ) b1 • a21x1 + a22x2 + a23x3 + … + a2nxn (≤ , =, ≥ ) b2 • am1x1 + am2x2 + am3x3 + … + amnxn (≤ , =, ≥ ) bm
Contraintes de non-négativité • x j ≥ 0 ; j = 1, 2, 3, … n
avec • x j ,b
variables de décision (inconnues) paramètres du programme linéaire
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
TERMINOLOGIE DU MODÈLE
Activités
• Ensemble des actes et opérations à effectuer • j = 1,…n activités
Ressources • Moyens disponibles pour effectuer les activités • bi, i = 1,…m ressources
Quantité requise de ressource • Quantité unitaire de ressources consommées pour chaque activité aij
Niveau activation • Quantité de ressources affectée à une activité • x j = niveau d’activation de l’activité j
Coût ou profit • Mesure de performance de l’allocation des ressources aux activités
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
TERMINOLOGIE DE LA SOLUTION
Solution réalisable • Solution où toutes les contraintes du modèle sont satisfaites
Zone de solution • Ensemble de toutes les solutions réalisables
Solution optimale • Solution réalisable où la fonction objectif atteint la meilleure valeur, maximum ou minimum • Plusieurs solutions optimales possibles
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
EXEMPLE: PROBLÈME D'ALLOCATION DE RESSOURCES Vous disposez de
• 8 kg de pommes • 2,5 kg de pâte • 6 plaques
pour confectionner des chaussons et des tartes Pour faire un chausson, il vous faut: • 150 g de pommes • et 75 g de pâte
Chaque chausson est vendu 3 $ Pour faire une tarte, il vous faut • 1 kg de pommes • 200 g de pâte • et 1 plaque
Chaque tarte est divisée en 6 parts vendues chacune 2 $ Que faut-il cuisiner pour maximiser le chiffre d'affaires de
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROBLÈME D'ALLOCATION DE RESSOURCES Définissons 2 variables de décision • x1 : le nombre de chaussons confectionnés • x2 : le nombre de tartes confectionnées
Le chiffre d’affaires associé à une production (x1; x2) est
z = 3x1 + (6 x 2)x2 = 3x1 + 12x2 Il ne faut pas utiliser plus de ressources que disponibles • 150x1 + 1000x2 ≤ 8000 (pommes) • 75x1 + 200x2 ≤ 2500 (pâte) • x2 ≤ 6 (plaques)
On ne peut pas cuisiner des quantités négatives : x1 et x2
0
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MODÈLE: PROBLÈME D'ALLOCATION DE RESSOURCES Pour maximiser le chiffre d’affaires de la vente, il faut déterminer les nombres x1 et x2 de chaussons et de tartes a cuisiner, solution du problème Max z = 3x1 + 12x2 Sujet à
150x1 + 1000x2 ≤ 8000 75x1 + 200x2 ≤ 2500 x2 ≤ 6 x1 ; x2 ≥ 0
En fait, il faudrait également imposer à x1 et x2 de ne prendre que des valeurs entières
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
EXEMPLE: PROBLÈME DE RECOUVREMENT DONNÉES : Les demandes journalières en chauffeurs dans une entreprise de transport Lu Ma Me Je Ve Sa Di 13 18 21 16 12 25 9 Les chauffeurs travaillent 5 jours d'affilée ( et peuvent donc avoir leurs 2 jours adjacents de congé n'importe quand dans la semaine)
OBJECTIFS : Déterminer Déterminer les effectifs formant les 7 équipes possibles de chauffeurs de manière à: • couvrir tous les besoins engager un nombre minimum de chauffeurs
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROBLÈME DE RECOUVREMENT MODÉLISATION Variables de décision : On associe une variable de décision à chacune des 7 équipes possibles • x1 : nombre de chauffeurs dans l’équipe du lundi (repos le samedi et le dimanche), • x2 : nombre de chauffeurs dans l’équipe du mardi, ... • x7 : nombre de chauffeurs dans l’équipe du dimanche.
Fonction objectif : On veut minimiser le nombre total de chauffeurs engagés z = x1 + … + x 7
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROBLÈME DE RECOUVREMENT CONTRAINTES Contraintes : Le nombre de chauffeurs présents chaque jour doit être suffisant x4 + x5 + x6 + x7 ≥ 13 (lundi) • x1 + x5 + x6 + x7 ≥ 18 (mardi) • x1 + x2 + • … x3 + x4 + x5 + x6 + x7 ≥ 9 (dimanche) •
Contraintes de bornes : Le nombre de chauffeurs dans chaque équipe doit non seulement être non négatif mais également entier • xi ≥ 0 et entier; i = 1; …; 7
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROBLÈME DE RECOUVREMENT : FORMULATION Min z = x1 + x2 + x3 + x4 + x5 + x6 + x7 Sujet à:
• • • • • • • •
x1 + x4 + x5 + x6 + x7 ≥ 13 x1 + x 2 + x5 + x6 + x7 ≥ 18 x1 + x 2 + x 3 + x6 + x7 ≥ 21 x1 + x 2 + x 3 + x 4 + x7 ≥ 16 x1 + x 2 + x 3 + x 4 + x 5 ≥ 12 x2 + x 3 + x 4 + x 5 + x 6 ≥ 25 x3 + x 4 + x 5 + x 6 + x 7 ≥ 9 x1 ; x2 ; x3 ; x4 ; x5 ; x6 ; x7 ≥ 0 entiers
Ce problème n'est pas un PL mais un programme linéaire en nombres entiers (PLNE)
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MODÉLISATION
Exemple: production de portes et fenêtres • 3 usines:
#1 #2 #3
cadres d ’aluminium cadres de bois vitres et assemblages des produits
A B
portes vitrées avec cadrage d ’aluminium fenêtres avec cadrage en bois
#1 #2 #3
A: 1 A: 0 A: 3
• 2 produits
• demande illimitée pour les produits • profits par lot: A: 3000$ B: 5000$ • temps de production pour chaque lot produit par heure
B: 0 B: 2 B: 2
• temps de production disponible par semaine
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
FORMULATION DU PROBLÈME PRODUCTION DE PORTES ET FENÊTRES Temps de production Usine 1 2 Temps disponible par semaine 1 1 0 4 2 0 2 12 3 3 2 18 Profit 3000 5000
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
FORMULATION DU PROBLÈME
Objectif • Maximiser les profits
Variables de décision • x1: • x2:
quantité du produit A fabriquée quantité du produit B fabriquée
Fonction objectif • MAXIMISER z = 3x 1 + 5x2
Contraintes • usine 1: 1x1 + 0x2 ≤ 4 • usine 2: 0x1 + 2x2 ≤ 12 • usine 3: 3x1 + 2x2 ≤ 18
Contraintes de non-négativité • x1 ≥ 0
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROGRAMMATION LINÉAIRE
Résolution selon les techniques appropriées • Exemple
MAXIMISER z = 3x1 + 5x2 SUJET À •
x1
•
2x2 ≤ 3x1 + 2x2 ≤ x1 ≥ 0 ; x 2 ≥
• •
≤
4 12 18 0
• Solutions optimales
programmation linéaire: simplexe programmation en nombre entier: branch-and-bound programmation dynamique
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
ZONE DE SOLUTION RÉALISABLE Zone limitée par l’ensemble des équations de contraintes du problème et par les limites des variables de décision x2
3 x1 + 2x 2
= 18
8
x1 = 4 2x 2
6
= 12
4 2 0
2
4
6
8
10
x1
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
FONCTION OBJECTIVE Déplacement de la fonction objective à l’intérieur de la zone de solution réalisable pour atteindre un extremum x2
z
= 36 = 3 x1 + 5 x 2 8 (2,6)
6 z
Solution x1 = 2 x2 = 6 z = 36
= 20 = 3 x1 + 5 x 2 4
z
= 10 = 3 x1 + 5 x 2
2 0
2
4
6
8
10
x1
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROGRAMMATION LINÉAIRE
PHASES D’UNE ÉTUDE DE R.O. • Formulation du problème • Construction du modèle mathématique
Identification des variables associées au problème Formulation des contraintes qui délimitent les valeurs que peuvent prendre les variables Formulation de la mesure d’efficacité associée aux variables (fonction linéaire dite fonction objectif)
• Obtention d’une solution optimale à partir du modèle • Vérification du modèle et de la solution • Établissement de contrôles sur la solution Mise en œuvre de la solution
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RÉSULTAT D’UNE OPTIMISATION LINÉAIRE Le domaine admissible d’un PL peut être • vide: dans un tel cas, le problème est sans solution admissible (pas de solution optimale) • borné (et non vide): le problème possède toujours au moins une solution optimale • non borné: dans ce cas, selon la fonction objectif
le problème peut posséder des solutions optimales il peut exister des solutions admissibles de valeur arbitrairement grande (ou petite) dans un tel cas, le PL n'admet pas de solution optimale finie et est dit non borné
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
FORMULATION DU PROBLÈME PROGRAMMATION LINÉAIRE
Ressources 1 2 … m Contribution
Ressources par activité Activités 1 2 … n a11 a12 … a1n a21 a22 … a2n … … …. … am1 am2 … amn c1 c2 … cn
Ressource disponible b1 b2 . bm
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROBLÈME DE MAXIMISATION
Maximiser Z = x1 + 2x2 Sujet à 2x1 + x2 x1 + x2 -x1 + x2 x1 x1 0, x2
4 8 4 5 0
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROBLÈME DE MAXIMISATION x2
X1 = 2
-x1 + x2 = 4 8
X2 = 6
6
Z = 14
x1 = 5
4 x1 + x 2 = 8
2 2x1 + x2 = 4 0 2
4
6
8
10
x1
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROBLÈME DE MINIMISATION
Minimiser Z = x1 - x2 Sujet à ½x1 + x2 8 -x1 + 8x2 40 x1 8 x2 8 x1 0, x2 0
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROBLÈME DE MINIMISATION X1 = 8
x2
X2 = 6 x2 = 8
8
Z=2
6 -x1 + 8x2 = 40 4 x1 = 8
2 0
½x1 + x2 = 8 2
4
6
8
10
12
14
16
18
20
x
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
INTRODUCTION • développée initialement initialement par George Dantzig en 1947 • seule méthode exacte pour solutionner des problèmes linéaires de grande taille • méthode itérative algébrique où l’on circule séquentiellement sur les sommets à l’intérieur de la zone de solution jusqu’à l’obtention de la solution optimale
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROPRIÉTÉS DU SIMPLEXE
Zone de solution du problème linéaire toujours convexe • une surface est convexe si elle est située toute entière du même coté d ’un plan tangent
S’il existe une seule solution optimale au problème linéaire, elle est obligatoirement localisée sur un sommet de la zone de solution S’il existe de multiples solutions optimales, au moins deux d’entre elles doivent être localisées sur des sommets adjacents Le nombre de sommets de la zone de solution est fini Si la solution réalisable localisée à un sommet donné n’a pas de voisin adjacent dont la solution est supérieure, ce sommet est la solution optimale
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
ALGORITHME DU SIMPLEXE 1. Déterminer une solution de base réalisable 2. Vérifier si la solution actuelle est optimale 3. Déterminer la variable hors base qui va devenir variable de base 4. Déterminer la variable de base qui sortira de la solution 5. Effectuer les opérations linéaires (pivots) selon la technique de Gauss-Jordan
ALGORITHME DU SIMPLEXE
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE DÉFINITIONS
Systèmes d’équations équivalents • Systèmes qui possèdent le même ensemble de solutions
Variable de base • Variable qui a un coefficient unitaire positif dans une des équations du système et un coefficient nul partout ailleurs
Opérations pivot • Opération de Gauss-Jordan pour transformer un système d’équations équivalent dans lequel une variable devient de d e base
Système canonique • Système d’équations où il y a une variable de base par équation
Solution de base • Système d’équations où les variables hors base sont fixées à zéro résolu pour les variables de base
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
FORME CANONIQUE
PROBLÈME DE MAXIMISATION n
∑ c x
Max
j j
j =1
n
sujet à
∑a
≤ bi i = 1 , ...,m
x j
ij
j =1
x j ≥ 0
j = 1 ,...,n
PROBLÈME DE MINIMISATION n
∑ c x
Min
j
j
j =1
n
sujet à
∑a
ij
j =1
x j
≥ bi i = 1 , ...,m
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
FORME NORMALISÉE
PROBLÈME DE MAXIMISATION n
Max
∑ c x
j j
j =1
n
sujet à
∑ a x ij
j
= bi i = 1 , ...,m
j =1
x j ≥ 0
j = 1 ,...,n
PROBLÈME DE MINIMISATION Min ∑= c x n
j j
j 1
n
sujet à
∑ a x ij
j =1
j
= bi i = 1 , ...,m
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
FORME CANONIQUE Max
Z = 3 x1 + 5 x2
sujet à x1 4 2 x2 12 3 x1 + 2 x2 18 et x 0, x 0
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
FORME NORMALISÉE Max Z Z - 3 x1
x1
- 5 x2
+ x3 2 x2 + 2 x2
= 0
(0)
= 4
(1) = 12 (2) (3)
+ x4 + x5 = 18
3 x1 avec x j 0, pour j =1, 2, 3, 4, 5
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
ÉTAPE D’INITIALISATION • • • •
Déterminer une solution de base réalisable Porter les variables hors base à zéro Solutionner les variables de base Exemple:
z, x3, x4 et x5 sont les variables de base x1 et x2 sont les variables hors base
• On obtient:
x1 = 0 et x2 = 0 x3 = 4, x4 = 12 et x 5 = 18 z=0
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
VARIABLE ENTRANT DANS LA BASE • Variable hors base entrant dans la base • Celle qui sera choisie fera augmenter la valeur de la la fonction objective le plus rapidement r apidement possible • Variable ayant le plus grand coefficient négatif (cas de maximisation)de l’équation (0) • Exemple:
X2 devient variable de base
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
VARIABLE SORTANT DE LA BASE • Variable qui limitera le plus rapidement la progression de la nouvelle variable de base • Exemple
si x2 entre dans la base équation (2) • •
équation (3) • •
2 x2 + x4 = 12 x2 max = 6 3 x1 + 2 x2 + x5 = 18 x2 max = 9
limite maximale de x2 égale 6 sinon x 4 devient négatif
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
OPÉRATIONS PIVOT • Système d’équations original (variables de base en gras ) Z
- 3 x1 x1 + x3 2 x2 3 x1 + 2 x2
- 5 x2 = 4 + x4 + x5
= 0 (0) (1) = 12 (2) = 18 (3)
• Pour revenir à la forme canonique, il faut que les variables de base aient un coefficient unitaire dans une équation et nul dans les autres • Équation (2) multipliée par ½ 2 x2 /2
+/42x = 12 /2
(2)
x2 + ½ x4= 6(2) Il faut éliminer les termes x des autres équations
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
OPÉRATIONS PIVOT (suite) • Équation (0) = ancienne (0) + 5 équation (2) Z
- 3 x 1 - 5 x2 5 x2
Z
- 3 x1
+ 5/2 x4 + 5/2 x4
= 0
(0)
= 30 = 30
(2) (0)
• Équation (3) = ancienne (3) – 2 équation (2) 3 x1 + 2 x2 - 2 x2 3 x1
- x4 - x4
+ x5
= 18
(3)
+ x5
= -12 =6
(2) (3)
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
OPÉRATIONS PIVOT (suite) • Nouveau système équivalent d’équations Z
- 3 x1 x1
- 5/2 x4 + x3 x2
3 x1
+ ½ x4 - x4 + x 5
= 30 = 4 = 6 = 6
(0) (1) (2) (3)
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
CRITÈRE D’OPTIMALITÉ • Optimalité assurée lorsqu’il est impossible de faire augmenter (cas de maximisation) la valeur de z • Exemple:
x1 peut faire augmenter z Variable entrante x1 Variable sortante x5 •
équation (1) • •
•
x1 + x3 = 4 x1 max = 4
équation (3) •
3 x1 – x4 + x5 = 6
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
SOLUTION OPTIMALE • Système équivalent d’équations Z x3 x2 x1
• Variables hors base
x4 = 0, x5 = 0
• Variables de base
x1 = 2, x2 = 6, x3 = 2
• Fonction objective
z = 36
+ 3/2 x4 + x5 + 1/3 x4 - 1/3 x5 + ½ x4 - 1/3 x4 +1/3 x5
= 36 = 2 = 6 = 2
(0) (1) (2) (3)
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME TABULAIRE
Méthode essentiellement identique Informations • Coefficients des variables • Constantes des équations • Variables de base de chaque équation
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME TABULAIRE
Initialisation Critère d’optimalité
• Coefficients de l’équation (0) non négatifs ?
Itération # 1 • Variable entrante x 2 Entourer la colonne pivot • Variable sortante x 4 Entourer la ligne pivot Point pivot à l’intersection
• Transformation de Gauss-Jordan
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME TABULAIRE
Itération #1 (suite) • Diviser la ligne pivot par le nombre pivot
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME TABULAIRE
Itération #1 (suite) q
Appliquer les transformations
q
Nouvelle solution q
z = 30
q
Solution (0, 6, 4, 0, 6)
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME TABULAIRE
Itération # 2 Solution • (2, 6, 2, 0, 0) • z = 36
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME TABULAIRE
Ensemble complet
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME MATRICIELLE
Forme canonique
Max Z = cx sujet à Ax x
≤b
≥0
où
x1 b1 x b 2 2 x= b= ... ... x n bm a11 a12 ..... a1n a a22 ..... a2 n 21 A= ..... ..... ..... .....
0 0 0= ... 0
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME MATRICIELLE
Forme normalisée
Max Z = cx sujet à
x [ A, I ] = b x x x ≥ 0 s
s
où I
= matrice identitée m × m
x s
xn +1 x = n+ 2 ...
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME MATRICIELLE
Problème c = [ 3
5]
1 0 1 0 0 [ A, I ] = 0 2 0 1 0 3 2 0 0 1 4 x1 b = 12 x= x2 18
x s
x3 = x4 x
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME MATRICIELLE
Itération 0 xB
X2 entre X4 sort
xB
cB
x 3 1 0 0 1 0 0 −1 B= 0 1 0 B = 0 1 0 = x 4 x 5 0 0 1 0 0 1 x 3 1 0 0 4 4 = x 4 = 0 1 0 12 = 12 x 5 0 0 1 18 18 = [ 0 0 0]
4 Z = [ 0 0 0] 12 = 0 18
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME MATRICIELLE
Itération 1 xB
X1 entre X5 sort
xB
cB
x3 1 B= 0 = x 2 x 5 0 x 3 1 0 = x 2 = 0 0,5 x 5 0 − 1 = [ 0 5 0]
1 0 0 −1 2 0 B = 0 0,5 0 0 − 1 1 2 1 0 4 4 0 12 = 6 1 18 6 4 Z = [ 0 5 0] 6 = 30 6 0
0
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
SIMPLEXE SOUS FORME MATRICIELLE
Itération 2 xB
xB
cB
x3 1 0 1 1 0,33 − 0,33 −1 = x 2 B= 0 2 0 B = 0 0,50 0 x1 0 2 3 0 − 0,33 0,33 x 3 1 0,33 − 0,33 4 2 12 = 6 = x 2 = 0 0,50 0 x1 0 − 0,33 0,33 18 2 = [ 0 5 3]
2 Z = [ 0 5 3] 6 = 36 2
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RÉSOLUTION AVEC MICROSOFT EXCEL
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
RÉSOLUTION AVEC LINDO
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
SITUATIONS PARTICULIÈRES • Égalité des profits relatifs
Choix aléatoire de la variable
• Égalité des ratios
Choix aléatoire Situation de dégénérescence: remonter à l’étape des ratios identiques
• Solution non bornée
En pratique, une contrainte est absente
• Solutions multiples
Variables hors base avec des coefficients nuls dans la fonction objective
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
VARIABLES ARTIFICIELLES • Cas ≥
ai1 x1 + ai2 x2 + ai3 x3 + … + ain xn ≥ bi Ajout d’une variable d’écart ai1 x1 + ai2 x2 + ai3 x3 + … + ain xn – xm = bi Coefficient de la variable d’écart négatif ne peut servir comme variable de base Ajout d’une variable artificielle ai1 x1 + ai2 x2 + ai3 x3 + … + ain xn – xm + xa = bi
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
MÉTHODE DU SIMPLEXE
VARIABLES ARTIFICIELLES • Cas =
L’ajout d’une variable artificielle permet l’insertion d’une variable de base dans la solution de départ Les variables artificielles sont éliminées de la solution en leur assignant une pénalité importante dans la fonction objective
RÉSOLUTION • Méthode du grand M • Méthode des deux phases
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
DUALITÉ PROBLÈME PRIMAL Max
Z =
PROBLÈME DUAL
n
∑ c x
j j
Y 0 =
Min
j =1
∑ a x
ij j
i
i
sujet à
≤ bi
i = 1 , ...,m
j =1
m
∑ a yi ij
≥ cj
j = 1 , ...,n
i =1
et x j ≥ 0
∑ b y i =1
sujet à n
m
et j = 1 ,...,n
yi ≥ 0
i = 1 ,...,m
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
EXEMPLE DE DUALITÉ Le problème dual du programme Max z = x1 + 4x2 Sujet à :
x1 – x2 ≤ 2x1 + x2 ≤ x2 ≤ x1, x2 ≥
2 5 3 0
est Min w = 2y1 + 5y2 + 3y3 Sujet à :
≥ 1 y1 + 2y2 -y1 + y2 + y3 ≥ 4 0
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
DUALITÉ
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
EXERCICE
Utiliser la méthode du simplexe • Max Z = 4 x1 + 3 x2 + 6 x3 • Sujet à
3 x1 + x2 + 3 x3 ≤ 30 2 x1 + 2 x2 + 3 x3 ≤ 40
• et
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROBLÈME DE TRANSPORT
EXEMPLE • • • •
Une municipalité possède 3 serres pour fournir 4 parcs Capacité de production des serres C 1, C2 et C3 Demande hebdomadaire D 1, D2 et D3 Coût unitaire de transport C ij
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROBLÈME DE TRANSPORT
FORMULATION DU PROBLÈME Z =
Min
3
4
∑ ∑ c x ij
ij
i =1 j =1
sujet à 3
∑ x
ij
= D j
j = 1 , ...,4
≤ C i
i = 1 , ...,3
i =1 4
∑ x
j
j =1
et x ≥ 0
i
1
3 j
1
4
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
EXERCICE
3 serres: • S1 = 3 • S2 = 7 • S3 = 5
4 parcs: • • • •
P1 = 4 P2 = 3 P3 = 4 P4 = 4
Coûts d’expédition:
c ij
2 2 2 1 = 10 8 5 4 7 6 6 8
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
EXERCICE
4 usines et 3 centres de distribution Distribution M1 M2 M3
Disponibilité
Usines
W1
4
3
7
140
W2
5
2
10
100
W3
13
8
17
60
W4
9
3
11
40
Demande
120
20
200
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROGRAMMATION LINÉAIRE EN NOMBRE ENTIER
Max Z = 10 x1 + 50 x2 • Sujet à
-x1 + 2 x2 ≤ 5 x1 + 2 x2 ≤ 14 x1 ≤ 8
• et
x1 ≥ 0, x2 ≥ 0 x1, x2 entiers
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROGRAMMATION LINÉAIRE EN NOMBRE ENTIER
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROGRAMMATION LINÉAIRE EN NOMBRE ENTIER
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROGRAMMATION LINÉAIRE EN NOMBRE ENTIER
Méthode de séparation et d’évaluation progressive (Branch-and-Bound Technique) • Choix de la variable de séparation
Critère de la variable la plus distante Critère du meilleur c j
Critère de la variable la plus distante Séparation selon x1
Critère de la variable la plus distante Séparation à partir de P2
Critère de la variable la plus distante Séparation à partir de P1
Critère du meilleur c j
É T I L I B A S I A F E D E S Y L A N A T E N O I T A S I M I T P O
PROGRAMMATION LINÉAIRE EN NOMBRE ENTIER