Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parIsabelle Bonneau Modifié depuis plus de 7 années
1
Outils de Recherche Opérationnelle en Génie MTH 8414A
Méthodes de décomposition: Génération de contraintes Génération de variables
2
Plan Génération de coupes (lignes) Génération de variables (colonnes)
Illustration sur le problème du voyageur de commerce Génération de variables (colonnes) Illustration sur un problème de tournée de véhicule
3
Le problème du voyageur de commerce
C’est le problème le plus connu en recherche opérationnelle, celui qui a reçu le plus d’attention et probablement le plus prestigieux; Étant donné un nombre de points (villes) à visiter et une matrice donnant la distance entre chacune d’elles, donner la tournée qui visite toutes les villes en parcourant la plus petite distance.
4
TSP: la structure Le problème du voyageur de commerce (ou Traveling Salesman Problem) est un problème combinatoire NP-difficile C'est-à-dire qu’il n’existe pas de solution dont le temps de calcul est une fonction polynomiale du nombre de points à visiter. Le TSP combine deux structures qui elles sont «faciles». Le problème d’affectation (le degré de chaque noeud = 2) Le problème d’arbre de recouvrement minimum (connectivité)
5
TSP: Modèle mathématique
Soit: xij une variable binaire qui indique si la route passe directement du point i au point j ( 1 si oui, 0 sinon ) Cij le coût d’aller directement de i à j. S un sous-ensemble non vide des points à visiter. Les deux modèles suivants sont corrects et équivalents. Contraintes de degré Contraintes de connectivité
6
TSP: les difficultés Le problème avec les formulations précédentes est le nombre de contraintes de connectivité. Il y en a une pour chaque sous-ensemble possible des points à visiter... donc environ 2|N| Par contre, celles-ci ne sont peut-être pas toutes utiles. On peut donc les ignorer pour commencer et les ajouter par la suite. C’est ce qu’on appelle une approche par plans coupants (Cutting Plane Method) On résout d’abord le problème sans ces contraintes On vérifie la solution si celle-ci satisfait toutes les contraintes ignorées, alors elle est optimale. ON ARRÊTE. sinon, on ajoute les contraintes qui sont violées (c’est ce qu’on appelle la séparation) ON RETOURNE à 1
7
Problème de tournées de véhicules
Planifier les tournées de sorte que chaque client soit visité une fois. Satisfaire les demandes tout en respectant la capacité. Minimiser le nombre de véhicules. Minimiser la distance totale parcourue.
8
L’approche par génération de colonnes Intuition
Supposons que l’on puisse créer et emmagasiner toutes les routes possibles. Clients 1 2 3 4 6 … Alors il ne suffirait que de sélectionner l’ensemble de routes optimales
9
L’approche par génération de colonnes Intuition
Mais bien sûr c’est impossible Alors on travail sur un ensemble partiel des routes possibles 1 2 3 4 6 Que l’on enrichie itérativement en résolvant un sous-problème Jusqu’à ce que l’on puisse démontrer que l’on possède toutes les routes optimales
10
Rappels sur la programmation linéaire
À chaque itération du simplex, on passe d’un point extrême du polyèdre à un autre point extrême. L’objectif ne peut que s’améliorer, ou rester identique. Calculer le vecteur de multiplicateurs correspondant : p Chercher une variable de cout réduit négatif (si on minimise) et on essaie d’augmenter sa valeur (Si son coût réduit est négatif, c’est que sa valeur est actuellement nulle). Si pas de variable de cout réduit négatif, STOP: optimalité atteinte
11
Idée de base On a un problème ou le nombre de variables (colonnes) est très élevé Faire le pricing (évaluer le coût réduit d’une colonne) sur un (petit) sous-ensemble des colonnes. Augmenter l’ensemble des colonnes considérées au fur et à mesure si nécessaire But: Obtenir une solution optimale en prenant en considération un ensemble réduit de colonnes Résolution plus efficace
12
Génération de colonnes: principe
Considérer une version restreinte du probleme avec un « petit » ensemble de colonnes: problème maitre restreint (PMR) Résoudre PMR Si solution optimale, STOP Sinon, ajouter des colonnes et réoptimiser
13
Génération de colonnes: principe
Programme linéaire (Problème maître): Primal (P) Dual (D) A a un très grand nombre de colonnes Impossible à considérer simultanément
14
Génération de colonnes: principe
Considérer un sous ensemble de colonnes Problème maître restreint Primal (MP k) Dual (MD k) Solutions : réalisable pour (P) Optimalité atteinte?
15
Génération de colonnes: principe
Calculer le coût réduit minimum Oracle ou sous-problème Si , est optimale pour (P) Sinon On vient d’identifier une colonne de coût réduit < 0 ajouter au problème maître restreint: (MP k+1) Réoptimiser (MP k+1)
16
Génération de colonnes: principe
17
Génération de colonnes: point de vue dual
18
Génération de colonnes: visuellement
b Base Colonnes inconnues Nouvelle colonne = Problème maître restreint ’ Variables duales i Domaine des sous-problèmes réalisables Fonction objectif Sous-problème
19
GC: sous-probleme Structure particuliere: résolution plus efficace que l‘énumération explicite de toutes les colonnes Dépend de l’application Critique pour l’efficacité de l’algorithme Résolution approximative Ajouter plusieurs colonnes à la fois
20
GC: sous-probleme Problème de plus court/plus long chemin
Problème de sac-à-dos Programme linéaire Problème en nombres entiers Oracle: entrée : vecteur de multiplicateurs p sortie : colonne(s) de cout réduit négatif OU preuve qu’il n’en existe pas.
21
En logistique MAÎTRE: Modèle de recouvrement (ou partitionnement)
SOUS-PROBLÈME :Modèle de réseau Objets à couvrir Entités à répartir Clients Camions Tâches Machines Trajets d’autobus Conducteurs Zones d’une ville Hôpitaux, ambulances, pompiers Vols Équipages
22
Comme ce modèle de VRP déjà vu
Soit R l’ensemble de toutes les routes possibles (ou admissibles) respectant les contraintes de capacité et de fenêtre de temps. Cr : le coût de cette route Air une matrice qui indique si la route r visite le point i.
23
Modèle de partitionnement
Entités à répartir 1 0 0 … 0 1 1 … 1 1 0 … 0 0 0 … ... = 1 ... Objets à couvrir
24
Modèle de recouvrement
Entités à répartir 1 0 0 … 0 1 1 … 1 1 0 … 0 0 0 … ... 1 ... Objets à couvrir
25
Problèmes de confection de tournées de véhicules
Route de véhicule 1 : Clients ou tâches Sous-problème : Chemin le plus court + Capacité des ressources Autre contraintes
26
Sous-Problème (plus court chemin)
Trouver un chemin qui visite certains clients au maximum une fois Satisfaire les demandes tout en respectant la capacité Le coût réduit doit être négatif
27
Plus Court Chemin avec Contraintes graphe cyclique vs. acyclique
Il existe des algorithmes efficaces pour résoudre le problème si on permet les visites multiples Ces algorithmes sont bien adaptés dans les cas acycliques Les problèmes naturellement acyclique Transformation CycliqueAcyclique possible Génère (implicitement) des graphes de très grande taille Nécessite une discrétisation des ressources En pratique ces problèmes sont résolu par programmation dynamique ou de manières heuristique.
28
Exemple de génération de colonnes, faire avec excell
Résoudre le problème de construction de tournées de véhicules ci-dessous, sachant que: Une route ne peut visiter plus de 4 nœuds (capacité) (1,6) et(3,6) ne peuvent être visités ensemble (incompatibilité) 6 2 15 10 10 5 5 5 10 4 1 5 5 5 5 10 5 3 15
29
Résolution en nombres entiers
Branch-and-price: extension du Branch-and-Bound Schémas de branchement: tenir compte du sous-problème Variables de volume ou de quantité: grandes valeurs Pas besoin d’imposer l’intégrité Variables binaires: intégralité requise Difficile de trouver des schemas de branchement assez efficaces En particulier on ne peut fixer une variable du PMR à 0… pourquoi ?
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.