Optimisation Combinatoire 3ème année Ing., Filière Intelligence Artificielle –

Optimisation Combinatoire 3ème année Ing., Filière Intelligence Artificielle – ENSI Olfa BELKAHLA DRISS Maître de Conférences à l’ESCT Laboratoire LARIA LA Recherche en Intelligence Artificielle – ENSI Université de la Manouba olfa.belkahla@esct.uma.tn Chapitre 1 Introduction à la l’optimisation Combinatoire Définitions Applications Modélisation Exemples de problèmes d’optimisation Combinatoire Complexité théorique des problèmes Qu’est-ce que l’optimisation ? L’optimisation est une branche des mathématiques et de l’informatique en tant que discipline cherchant à : Modéliser Analyser Résoudre analytiquement ou numériquement les problèmes réels 3 Un problème d’optimisation Un problème d’optimisation est un modèle mathématique (formel) d’un problème réel On cherche à minimiser (ou maximiser) une fonction objectif f tout en respectant d’éventuelles contraintes 4 Classification de l’optimisation 1. Par rapport à la nature des variables 2. Par rapport aux critères 3. Par rapport aux contraintes 5 Classification de l’optimisation 1. Par rapport à la nature des variables 6 Classification de l’optimisation 1. Par rapport à la nature des variables L'optimisation continue : l’espace de recherche est continu L’optimisation discrète : l’espace de recherche est discret et infini L’optimisation combinatoire : c’est une optimisation discrète mais avec un espace de recherche fini (dénombrable) 7 Classification de l’optimisation 2. Par rapport aux critères L'optimisation Mono-objectif : une seule fonction objectif (min ou max) L'optimisation Multi-objectifs : plusieurs fonctions objectif à la fois 8 Classification de l’optimisation 3. Par rapport aux contraintes L'optimisation avec contraintes : fonction objectif sous des contraintes L'optimisation sans contraintes : fonction objectif sans contraintes 9 Combinatoire En mathématiques, la combinatoire, appelée aussi analyse Combinatoire, relatif aux combinaisons Elle étudie les différentes combinaisons pour la variable X d'un problème d'optimisation sur un ensemble discret et fini d'éléments Etudier les dénombrements de ces ensembles 10 L’optimisation combinatoire L’optimisation combinatoire est une branche de l'optimisation en mathématiques appliquées et en informatique, également liée à la recherche opérationnelle, l'algorithmique et la théorie de la complexité. L’optimisation combinatoire = un sous- ensemble de l'optimisation discrète à nombre de solutions finies. 11 Un problème d’optimisation combinatoire Un problème d'optimisation combinatoire consiste à trouver la meilleure solution définie par une fonction objectif parmi un ensemble discret de solutions réalisables. La résolution se ramène à l'examen d'un nombre fini de combinaisons, mais très grand. Pb : cette résolution se heurte à une explosion du nombre de combinaisons à explorer. 12 Un problème d’optimisation combinatoire Une solution est une affectation de valeurs aux variables du problème. Elle spécifie la valeur de la fonction objectif. Une solution est admissible (réalisable) : si elle satisfait toutes les contraintes du problème. Une solution est dite optimale : si elle est réalisable et correspond à la meilleure valeur de la fonction objectif. 13 Un problème d’optimisation combinatoire Etant donnés un ensemble Ωde combinaisons et une fonction f : Ω→IR, il s'agit de trouver la combinaison de Ω minimisant f Formellement : s* ∈Ω, f(s*) ≤f(si), ∀si ∈Ω Terminologie :  Ωou S : espace de recherche, espace des états/configurations/solutions/alternatives  f : fonction objectif, fonction coût/économique  x* (ou s*) : optimum, minimum 14 Applications Problème du voyageur de commerce TSP Ses extensions : les problèmes de transport (VRP, DARP, SARP, etc) Problème du sac à dos Ses généralisations : Bin-Packing problem, problème de stockage de conteneurs Problème SAT Job shop Scheduling problem (ordonnancement de tâches dans un atelier de production) Healthcare scheduling problems (patients admission, nurse, operation room, surgery, etc.) Allocation de fréquences pour les réseaux radio-mobiles Routage dans les réseaux de télécommunication Planification des activités d’une mission spatiale … 15 Les problèmes d’optimisation de base La complexité est connue Problèmes théoriques très étudiés : Plusieurs problèmes réels peuvent se ramener à ces problèmes classiques Benchmarks 16 Modélisation Outils de modélisation pour la résolution des problèmes d’O.C : Théorie des graphes : modélisation naturelle dans certains problèmes (plus court chemin, ordonnancement, etc.) PLNE (programmes linéaires en nombres entiers) : un ensemble de contraintes linéaires et une fonction objectif linéaire portant sur des variables à valeurs entières (problèmes de type sac à dos, ordonnancement, etc.) 17 Exemple : TSP Traveling Salesman Problem 18 Explosion combinatoire Le problème du voyageur de commerce (TSP) où un voyageur de commerce doit parcourir les N villes d’un pays en effectuant le trajet le plus court Il doit visiter chaque ville une et une seule fois et revenir à la ville de départ Etant données des distances entre chaque paire de villes, il doit minimiser la distance totale parcourue Une résolution par énumération nécessite de calculer (N-1)!/2 trajets entre les villes Pour N=24 villes, il faut en générer 23!/2=(2.585201673888498e+22)/2 combinaisons Modélisation : TSP On peut représenter ce problème par un graphe : chaque ville correspond à un sommet et chaque arête correspond à une paire de villes pouvant être visitées l’une à la suite de l’autre Formellement, une instance est un graphe complet G=(V,A,w) avec V un ensemble de sommets, A un ensemble d’arêtes et w une fonction de coût sur les arcs. 19 T.A.F : Recherche sur les VARIANTES de TSP Le problème est de trouver le plus court cycle hamiltonien dans le graphe G = un tour complet dans ce graphe qui minimise la somme des distances Formulation  Les variables de décisions  L’objectif  Les contraintes Max Z = A.X sous : C.X ≤B X ≥0 20 Formulation : Exercice n°1 • 3 produits P1, P2 et P3 • Contribution unitaire dans le profit est respectivement 5d, 8d et 4d • Chaque unité de P1 nécessite 2 heures ouvriers et 7 kg matière 1ère • Chaque unité de P2 nécessite 4 heures ouvriers et 6 kg matière 1ère • Chaque unité de P3 nécessite 3 heures ouvriers et 5 kg matière 1ère 250 heures ouvriers 100 kg matières premières • Fabriquer au moins 10 unités de P1 Ecrire un programme linéaire pour déterminer la quantité optimale à fabriquer de chacun de ces 3 produits 21 Formulation : Exercice n°1 22 Contraintes : Heures ouvriers : 2X1+4X2+3X3 <=250 Matières 1ères : 7X1+6X2+5X3 <=100 X1 >=10 X1 >=0 X2 >=0 X3 >=0 • Les variables de décision : X1 : la quantité fabriquée du produit P1 X2 et X3 • Fonction objectif : Max Z = 5X1 + 8X2 + 4X3 Choisir 2 ouvriers parmi 3 les affecter aux 2 machines Ecrire un programme linéaire aboutissant à une affectation optimale des ouvriers 23 Coûts Ouvrier 1 Ouvrier 2 Ouvrier 3 Machine 1 10 5 7 Machine 2 11 12 3 Formulation : Exercice n°2 Problème d’affectation 24  Choisir 2 ouvriers parmi 3  les affecter aux 2 machines  Pgme linéaire aboutissant à une affectation optimale des ouvriers Coûts Ouvr 1 Ouvr 2 Ouvr 3 Machine 1 10 5 7 Machine 2 11 12 3 Contraintes : ∑ Xi1 = 1 pour i=1,2,3 machine 1 ∑ Xi2 = 1 pour i=1,2,3 machine 2 ∑ X1j <= 1 pour j=1,2 ouvrier 1 ∑ X2j <= 1 pour j=1,2 ouvrier 2 ∑ X3j <= 1 pour j=1,2 ouvrier 3 Xij ∈{0,1} Formulation : Exercice n°2 Variables de décision: Xij = { 1 si l’ouvrier i est affecté à la machine j 0 sinon Fonction objectif : Min C = 10 X11 + 5X21 + 7X31 + 11X12 + 12X22 + 3X32 En algorithmique, le problème du sac à dos, noté KP (Knapsack Problem) est un problème d'optimisation combinatoire. Il modélise une situation analogue au remplissage d'un sac à dos, ne pouvant supporter plus d'un certain poids, avec tout ou partie d'un ensemble donné d'objets ayant chacun un poids et une valeur. Les objets mis dans le sac à dos doivent maximiser la valeur totale, sans dépasser le poids maximum. 25 Le problème du sac à dos (Knapsack Problem) Input : n objets, un vecteur coûts et un vecteur profits Objectif : sélectionner un sous-ensemble d’objets en maximisant le profit total et en respectant une contrainte donnée 26 Le problème du sac à dos (Knapsack Problem) Exemple : Quelles boîtes choisir afin de maximiser la somme emportée tout en ne dépassant pas les 15 kg autorisés ? xj : variable de décision associée à l’objet j (j ∈1..n) : 0 ou 1 n : le nombre d'objets pj : l’utilité ou profit apporté par l'objet j (j ∈1..n) aj : le poids de l'objet j (j ∈1..n) b : la capacité totale du sac 27 Le problème du sac à dos (Knapsack Problem) Modélisation Bin-Packing problem Le problème de bin packing peut s'appliquer à un grand nombre de secteurs industriels ou informatiques : • Pour la version classique en une dimension : • rangement de fichiers sur un support informatique ; • découpe de câbles ; • remplissage de camions ou de containers avec comme seule contrainte le poids ou le volume des articles. • Pour la version en deux dimensions : • découpe de matière première ; • placement de boîtes sur une palette (sans superposition de boîtes) ; • placement dans un entrepôt (sans superposition de boîtes). • Pour la version en trois dimensions : • rangement d'objets physiques dans des boîtes, un entrepôt, des camions, etc. uploads/Science et Technologie/ chapitre-1-introduction-a-loptimisation-combinatoire.pdf

  • 30
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager