OPTIMISATION 1ère année ingénieurs rachid.chelouah@eisti.fr
OPTIMISATION Concepts de base: recherche opérationnelle Programmation linéaire Méthode du simplexe Logiciels (Scilab, Solveur Excel, Solveur SAS, LINDO, Eclipse) Variables artificielles et pénalités Méthode du grand M Méthode des 2 phases Dualité Programmation en nombres entiers Programmation en nombres binaires Heuristiques Algorithmes génétiques Algorithme de colonie de fourmis Algorithme de recherche tabou
Chapitre 0. Concepts de base : recherche opérationnelle
DEFINITIONS 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 modéliser et résoudre les problèmes dans tous les domaines
ORIGINES 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
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ériens, routiers et ferroviaires ) route, trajet, livraison horaire contrôle des réseaux infrastructures, distribution télécommunications, industrie forestière, énergie (pétrole, gaz, électricité, nucléaire), Finance, etc.
METHODES Techniques 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
MODELES MATHEMATIQUES Modèles déterministes 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é
FORMULATION DU MODELE MATHEMATIQUE 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?
CLASSIFICATION DES ALGORITHMES D’OPTIMISATION
Chapitre 1. Programmation linéaire
PRINCIPE DE LA PROGRAMMATION LINEAIRE Identification des variables associées au problème Formulation des contraintes Formulation de la fonction linéaire dite fonction objectif Résolution du problème théorique Formulation mathématique Solution théorique (3) Formulation du problème réel Détermination d’une solution réelle (4) (2) Problème réel en programmation linéaire Solution réelle (1) (5) Vérification Identification du problème Situation réelle
PROGRAMME LINÉAIRE Programmation linéaire 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 Différentes programmations linéaires Programmation Linéaire classique Programmation Linéaire en Nombre Entiers Programmation Linéaire en 0-1 Programmation Linéaire Mixte La terminologie est due à George B. Dantzig, inventeur de l’algorithme du simplexe (1947)
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
3 types de machines A, B et C pour produire Optimisation MODELE LINEAIRE Exemple : 3 types de machines A, B et C pour produire 4 produits différents I, II, III et IV. Chaque produit doit être traité par chacune des machines dans l’ordre MGC-800 Optimisation et analyse de faisabilité
Caractéristiques des produits & machines Optimisation MODELE LINEAIRE Exemple : Caractéristiques des produits & machines 5,24 Type de machine Produits Disponibilité hebdomadaire de chaque machines III I II IV A B C Profit par unité 1,5 1 2000 8000 5000 1 5 3 7,30 2,4 1 3,5 8,34 1 3,5 4,18 MGC-800 Optimisation et analyse de faisabilité
MODELE LINEAIRE Exemple : Le modèle : Optimisation MODELE LINEAIRE Exemple : But : établir la production hebdomadaire de chaque produit de façon à maximiser le profit. Le modèle : xj - production hebdomadaire du produit j. but : trouver les valeurs de x1 , x2 , x3 et x4 qui maximisent le profit, considérant la limite de temps d’utilisation de chaque machine MGC-800 Optimisation et analyse de faisabilité
MODELE LINEAIRE Exemple : Optimisation MODELE LINEAIRE Exemple : But : max z = 5,24 x1 + 7,30 x2 + 8,34 x3 + 4,18 x4 Contraintes des machines : A : 1,5 x1 + x2 + 2,4 x3 + x4 2000 B : x1 + 5 x2 + x3 + 3,5 x4 8000 C : 1,5 x1 + 3 x2 + 3,5 x3 + x4 5000 Contraintes de non négativité : x1 , x2 , x3 , x4 0 MGC-800 Optimisation et analyse de faisabilité
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 les conditions Conception du système d’application Possibilité d’utiliser des logiciels spécialisés Implantation
FORMULATION MATHÉMATIQUE D’UN PROGRAMME LINÉAIRE FONCTION OBJECTIF (f.o.) 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é xj 0 ; j = 1, 2, 3, … n avec xj variables de décision (inconnues) aij, bi, cj paramètres du programme linéaire
TERMINOLOGIE DE LA SOLUTION Solution réalisable Solution où toutes les contraintes du modèle sont satisfaites Zone de solutions 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
Problème à deux variables de décision x1 et x2 : Optimisation RESOLUTION GRAPHIQUE Problème à deux variables de décision x1 et x2 : f. o. - droite dans 2 contraintes - hemi-plans de 2 P = (x1 , x2 ) - solution admissible (réalisable) si P satisfait toutes les contraintes région admissible - l’ensemble des solutions admissibles solution optimale - solution admissible qui optimise la f.o. MGC-800 Optimisation et analyse de faisabilité
PROGRAMMATION LINÉAIRE Résolution selon les techniques appropriées Exemple MAXIMISER z = 3x1 + 5x2 SUJET À x1 4 2x2 12 3x1 + 2x2 18 x1 0 ; x2 0 Solutions optimales programmation linéaire: simplexe programmation en nombre entier: branch-and-bound programmation dynamique Solutions sous-optimales: heuristiques
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 8 6 4 2 x1 2 4 6 8 10
POLYTOPE ET POINTS EXTREMES Un polygone est dit convexe si toutes ses diagonales sont entièrement à l'intérieur de la surface délimitée par le polygone Un polytope est la généralisation à toutes dimensions de la notion de polygone pour 2 dim. Polytope convexe: X = { x|Ax = b, x 0} x2 Points extrêmes 8 Polytope convexe 6 4 X 2 x1 2 4 6 8 10
FONCTION OBJECTIVE Déplacement de la fonction objective à l’intérieur de la zone de solution réalisable pour atteindre un extremum x2 8 6 4 2 x1 2 4 6 8 10
FONCTION OBJECTIVE Déplacement de la fonction objective à l’intérieur de la zone de solution réalisable pour atteindre un extremum x2 8 6 4 2 x1 2 4 6 8 10
(un des points extrême) FONCTION OBJECTIVE Déplacement de la fonction objective à l’intérieur de la zone de solution réalisable pour atteindre un extremum x2 8 Solution (un des points extrême) x1 = 2 x2 = 6 z = 36 (2,6) 6 4 2 x1 2 4 6 8 10
FONCTION OBJECTIVE Déplacement de la fonction objective à l’intérieur de la zone de solution réalisable pour atteindre un extremum x2 8 Solution x1 = 2 x2 = 6 z = 36 (2,6) 6 4 2 x1 2 4 6 8 10
PROBLÈME DE MAXIMISATION Maximiser Z = x1 + 2x2 Sujet à 2x1 + x2 4 x1 + x2 8 -x1 + x2 4 x1 5 x1 0, x2 0
PROBLÈME DE MAXIMISATION Z = 14 -x1 + x2 = 4 8 6 x1 = 5 2x1 + x2 = 4 4 x1 + x2 = 8 2 Z=x1 + 2x2 x1 2 4 6 8 10
PROBLÈME DE MINIMISATION Minimiser Z = x1 - x2 Sujet à ½x1 + x2 8 -x1 + 8x2 40 x1 8 x2 8 x1 0, x2 0
PROBLÈME DE MINIMISATION X1 = 8 X2 = 6 Z = 2 x2 x2 = 8 8 6 -x1 + 8x2 = 40 4 x1 = 8 2 ½x1 + x2 = 8 2 4 6 8 10 12 14 16 18 20 x1
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é
EXEMPLE 1 x2 max z = 5 x1 + 3 x2 sc 3 x1 + 5 x2 15 5 x1 + 2 x2 10 Optimisation EXEMPLE 1 x1 O x2 5x1 + 2x2 = 10 max z = 5 x1 + 3 x2 sc 3 x1 + 5 x2 15 5 x1 + 2 x2 10 x1 , x2 0 3x1 + 5x2 = 15 MGC-800 Optimisation et analyse de faisabilité
A z3 ; z EXEMPLE 1 direction = - c1 / c2 = -5/3 Optimisation EXEMPLE 1 A z3 ; A intersection des deux contraintes z1 x1 O x2 z3 max z = 5 x1 + 3 x2 sc 3 x1 + 5 x2 15 5 x1 + 2 x2 10 x1 , x2 0 z2 z = 5x1 + 3x2 A z direction = - c1 / c2 = -5/3 3x1 + 5x2 = 15 5x1 + 2x2 = 10 MGC-800 Optimisation et analyse de faisabilité
AB z2 z EXEMPLE 2 direction = - c1 / c2 = -2,5 x2 Optimisation EXEMPLE 2 z1 z2 x1 O x2 AB z2 max z = 2,5 x1 + x2 sc 3 x1 + 5 x2 15 5 x1 + 2 x2 10 x1 , x2 0 z = 2,5x1 + x2 A B z direction = - c1 / c2 = -2,5 3x1 + 5x2 = 15 5x1 + 2x2 = 10 MGC-800 Optimisation et analyse de faisabilité
Région admissible borné : Optimisation RESUME Région admissible borné : polygone dont les côtés sont des segments des droites représentant les contraintes linéaires du problème un point P à l ’intersection de 2 côtés du polygone est un point extrême solution optimale: point extrême solution optimale unique côté du polygone infinité de solutions optimales ( la valeur de la f. o. est unique ) MGC-800 Optimisation et analyse de faisabilité
Une solution unique CAS SPECIAUX Région admissible non borné Optimisation CAS SPECIAUX Région admissible non borné contraintes : Une solution unique x1 - x2 -1 -0,5 x1 + x2 2 x1 , x2 0 0,5x1 + x2 = 2 x1 x2 = 1 x1 x2 z3 max z = -3 x1 + 4 x2 sc x1 - x2 -1 -0,5 x1 + x2 2 x1 , x2 0 z2 z1 A MGC-800 Optimisation et analyse de faisabilité
Une infinité de solutions Optimisation CAS SPECIAUX Région admissible non borné contraintes : Une infinité de solutions 0,5x1 + x2 = 2 x1 x2 = 1 x1 x2 max z = -x1 + 2 x2 sc x1 - x2 -1 -0,5 x1 + x2 2 x1 , x2 0 z1 z3 z2 MGC-800 Optimisation et analyse de faisabilité
Pas de solution finie CAS SPECIAUX Région admissible non borné Optimisation CAS SPECIAUX Région admissible non borné contraintes : Pas de solution finie 0,5x1 + x2 = 2 x1 x2 = 1 x1 x2 max z = x1 + x2 sc x1 - x2 -1 -0,5 x1 + x2 2 x1 , x2 0 z3 z2 z1 MGC-800 Optimisation et analyse de faisabilité
Région admissible non borné : Optimisation RESUME Région admissible non borné : solution optimale: point extrême solution optimale unique côté de la région admissible infinité de solutions optimales ( la valeur de la f. o. est unique ) pas de solution optimale finie MGC-800 Optimisation et analyse de faisabilité
des hemi plans est vide Optimisation UN DERNIER CAS SPECIAL Région admissible vide contraintes incompatibles 1 er cas : des hemi plans est vide x1 + x2 = 5 x2 x1 x1 x2 = 1 2x1 + 3x2 = 6 x1 + x2 5 - 2 x1 + 3 x2 6 x1 - x2 1 x1 , x2 0 MGC-800 Optimisation et analyse de faisabilité
2 ème cas : contrainte de non négativité pas satisfaite Optimisation UN DERNIER CAS SPECIAL Région admissible vide contraintes incompatibles x2 x1 x1 + x2 = 1 x1 + x2 = 1 2 ème cas : contrainte de non négativité pas satisfaite x1 + x2 -1 - x1 + x2 1 x1 , x2 0 MGC-800 Optimisation et analyse de faisabilité
CONCLUSION Pour chaque problème PL : Solution optimale unique Infinité de solutions optimales Solution optimale infinie Aucune solution
Problème à r > 2 variables de décision solution graphique ?!?! Optimisation GENERALISATION Problème à r > 2 variables de décision solution graphique ?!?! Vocabulaire suggéré par la méthode graphique : - région admissible : région convexe d’un espace de dimension r ( polyèdre convexe ) - un point P à l’intersection de s 2 hyperplans représentant les contraintes est un point extrême du polyèdre MGC-800 Optimisation et analyse de faisabilité
Problème à r > 2 variables de décision solution graphique ?!?! Optimisation GENERALISATION Problème à r > 2 variables de décision solution graphique ?!?! Vocabulaire suggéré par la méthode graphique : - solution optimale: unique point extrême du polyèdre infinité de solutions optimales frontière du polyèdre = hyperplan de dimension < r ( la valeur de la f. o. est unique ) MGC-800 Optimisation et analyse de faisabilité
Méthode exacte et itérative Optimisation METHODE DU SIMPLEXE Méthode exacte et itérative Parcours des points extrêmes jusqu’à trouver la (les) solution(s) optimale(s), si en existe Identification des cas de contraintes incompatibles Basée sur l’algèbre des matrices MGC-800 Optimisation et analyse de faisabilité