Mathieu Trampont – Orange Labs / CEDRIC Christian Destré – Orange Labs

Slides:



Advertisements
Présentations similaires
Programmation linéaire et Recherche opérationnelle
Advertisements

Visualisation et supervision opérationnelle du ciel virtuel GAIA
Eléments d'algèbre linéaire
La Méthode de Simplexe Standardisation
Efficient Simplification of Point-Sampled Surfaces
Gestion de la connaissance – lexpérience dun cabinet juridique britannique Kate Stanfield Head of Knowledge Management CMS Cameron McKenna.
Cours 3-b Méthode des éléments finis 1D
Recherche de motifs par méthodes exploratoires: Comparaisons de performances et statistiques sur le score.
Courbes & Surfaces de subdivision
Bloc 2 : Modèles d’optimisation par la programmation linéaire
1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab
Equipe optimisation TempoSoft
Alain Faye , Frédéric Roupin CEDRIC - IIE - CNAM
1 Réunion biblio 13/12/00 Support Vectors Présentation générale SSS Maintaining Algorithm.
A Pyramid Approach to Subpixel Registration Based on Intensity
Visualisation d’information interactive 5 : Graphes
Optimisation dans les télécommunications
Modélisation et commande hybrides d’un onduleur multiniveaux monophasé
Génération de coupes pour la planification d’agents
Le 19/ 11/ Modèle de tarification planifiée pour les réseaux mobiles Mustapha OUGHDI Alexandre CAMINADA Sid LAMROUS.
Ordonnancement des mouvements de deux robots
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Génération de colonnes
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Mires Chevrons Paul JEAN
Algorithmes Branch & Bound
Programmation linéaire
Optimisation linéaire
Modèles de Leontieff Montage préparé par : André Ross
Méthode des k plus proches voisins
ENSIIE-Master MPRO Alain Faye
La segmentation
CONCEPT : P.O - P1 Bonjour et bienvenue chers amis (e) lions à cette soirée Information de lEquipe Mondiale de lEffectif E M E Destinée aux réunions de.
Modélisation du robot Azimut-3
Les réseaux de neurones
GPA750 Les ateliers multigammes Chapitre 5
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Optimisation linéaire
Optimisation-Identification et Cast3M
Séance d’introduction
L’APPLICATION DE P2P DANS UN RESEAUADHOC
Technique de points de contrôle: Formes de Bézier
Tutorat en bio-informatique Le 21 novembre Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez.
Génération de colonnes pour la résolution des problemes de foresterie
Programmation linéaire en nombres entiers : les méthodes de troncature
Introduction à la programmation linéaire en nombres entiers
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Coupes efficaces pour la relaxation lagrangienne
Calcul d ’interactions Antenne/Structure par FMM
© Sopra, 1999 / Date / Nom doc / p1 Ethernet - Pratique SOPRA. / IUT GTR Éric Aimée.
QCM 1 Windows 2000.
Images, pavages et motifs
Décomposition de Benders
Chapitre 3-B : AUTOMATIQUE : LES S.L.C.I.
Graph cuts et applications
Optimisation par les algorithmes génétiques
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Programmation linéaire en nombres entiers
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Algorithmes Branch & Bound
Micro-intro aux stats.
Recherches locales et méta-heuristiques
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Présenté par : ABED Djemaa; BAKHOUIA Roqiya.
Post-optimisation, analyse de sensibilité et paramétrage
Le Jeu et l’intelligence artificielle
Techniques d'Optimisation Master
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
Transcription de la présentation:

Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC Christian Destré – Orange Labs Alain Faye – CEDRIC 26/03/2017

Plan 1 Parallèle entre générations de colonnes et méthode de plans coupants Problèmes de convergence et de stabilisation L'algorithme ACCP de [Betrò] Comparaison sur un problème de localisation 2 3 4 Génération de colonnes 26/03/2017 – p2

Vision du dual Le dual du problème maître est un programme linéaire avec un très grand nombre de contraintes : La génération de colonnes correspond dans le dual à une méthode de plans coupants Génération de colonnes 26/03/2017 – p3

Vision du dual (2) Dans le dual, c'est l'ensemble des coupes qui est restreint Déroulement de la génération de colonnes : La résolution du problème restreint donne une première solution La résolution du sous-problème fait apparaître de nouvelles variables, donc de nouveaux plans On continue jusqu'à ce qu'on ne puisse plus rajouter de variable qui améliore la solution La valeur obtenue est aussi la valeur optimale du dual u1 u2 u* Génération de colonnes 26/03/2017 – p4

Plan 1 Parallèle entre générations de colonnes et méthode de plans coupants Problèmes de convergence et de stabilisation L'algorithme ACCP de [Betrò] Comparaison sur un problème de localisation 2 3 4 Génération de colonnes 26/03/2017 – p5

Problèmes de stabilisation La convergence de la génération de colonnes vers l'optimum de la relaxation continue peut parfois prendre du temps La vision du dual permet d'illustrer les situations où la convergence ralentit u2 u3 u4 u* u1 u2... u* u1 Génération de colonnes 26/03/2017 – p6

Stabilisation Objectifs Stabiliser la convergence de l'algorithme Diminuer les appels au sous-problème Idée : trouver un meilleur point de séparation à fournir au sous- problème Méthodes proximales pénaliser les déplacements dans le dual méthode boxstep Méthode de stabilisation par point intérieur de [Rousseau et al.] s'attaque spécifiquement à la dégénérescence Génération de colonnes 26/03/2017 – p7

Plan 1 Parallèle entre générations de colonnes et méthode de plans coupants Problèmes de convergence et de stabilisation L'algorithme ACCP de [Betrò] Principe Interprétation géométrique et déroulement Stabilisation et paramétrage Comparaison sur un problème de localisation 2 3 4 Génération de colonnes 26/03/2017 – p8

L'Accelerated Central Cutting Plane Idée [Elzinga&Moore] : Chercher le centre de la plus grande sphère contenue dans un polyèdre basé sur les contraintes du dual auquel on ajoute une borne inférieure Le polyèdre doit être borné Ce problème se modélise par un programme linéaire dont l'objectif est de maximiser le rayon σ de la sphère Les contraintes sont issues de celles du dual On rajoute une contrainte issue d'une borne inférieure : Génération de colonnes 26/03/2017 – p9

L'Accelerated Central Cutting Plane Autre possibilité pour la borne inférieure : Troisième possibilité : Les coordonnées du centre de la sphère serviront de point de séparation Lorsqu'il ne viole aucune contrainte : Mise à jour de la borne inférieure La taille du polyèdre diminue Génération de colonnes 26/03/2017 – p10

L'Accelerated Central Cutting Plane Autre possibilité pour la contrainte de borne : Les coordonnées du centre de la sphère serviront de point de séparation Lorsqu'il ne viole aucune contrainte : Mise à jour de la borne inférieure La taille du polyèdre diminue Génération de colonnes 26/03/2017 – p11

Accélération proposée par Betrò On utilise comme borne inférieure une combinaison convexe entre une borne inférieure valide et une borne supérieure τ = α.UB + (1- α).LB La borne inférieure utilisée n'est peut-être pas valide Lorsque que le centre de la sphère ne viole aucune contrainte τ est bien une borne inférieure Si le problème de recherche de la sphère est infaisable τ est en fait une borne supérieure Génération de colonnes 26/03/2017 – p12

Plan 1 Parallèle entre générations de colonnes et méthode de plans coupants Problèmes de convergence et de stabilisation L'algorithme ACCP de [Betrò] Principe Interprétation géométrique et déroulement Améliorations et Stabilisation Comparaison sur un problème de localisation 2 3 4 Génération de colonnes 26/03/2017 – p13

Interprétation géométrique Pour Elzinga-Moore Ici la borne inférieure vaut zéro et constitue donc le "plancher" Le centre de la sphère se trouve sur le plan de la fonction objectif La sphère est arrêtée par les contraintes du dual et par la borne inférieure Contrainte 1 r λ2 Plan de la fonction objectif du dual Contrainte 2 Plan de la borne inférieure LB = 0 u1

Interprétation géométrique (2) Pour le polyèdre de [Betrò] La borne est ici fixée à une valeur LB On se place dans l'espace des variables duales (sans le plan de la fonction objectif) La sphère est arrêtée par les contraintes du dual et par celle de la borne inférieure u2 Contrainte 1 Contrainte de la borne inférieure a2.u2+ a1.u1 ≥ LB Contrainte 2 u1 Génération de colonnes 26/03/2017 – p15

Interprétation géométrique (3) Autre polyèdre Ici aussi la borne inférieure est nulle et constitue le "plancher" La sphère touche obligatoirement le plan de l'objectif et est arrêtée par les contraintes du dual et la contrainte de la borne inférieure Contrainte 1 r u2 Plan de la fonction objectif du dual Contrainte 2 Plan de la borne inférieure f ≥ 0 u1 Génération de colonnes 26/03/2017 – p16

Accélérations proposées par Betrò Déroulement de l'algorithme avec les accélérations de [Betrò] : Départ : LB = 0 UB = c1 + c2 On utilise la borne inférieure τ0 = (LB + UB) / 2 Le centre ne viole aucune contrainte LB = u20 + u10 τ1 = (LB + UB) / 2 Le centre viole une contrainte On rajoute la contrainte Le problème est infaisable UB = τ1 τ2 = (LB + UB) / 2 … Contrainte rajoutée u2 τ LB UB c2 u23 u21 u20 u10 u11 u1 u13 c1 Génération de colonnes 26/03/2017 – p17

Plan 1 Parallèle entre générations de colonnes et méthode de plans coupants Problèmes de convergence et de stabilisation L'algorithme ACCP de [Betrò] Principe Interprétation géométrique et déroulement Améliorations et Stabilisation Comparaison sur un problème de localisation 2 3 4 Génération de colonnes 26/03/2017 – p18

Paramétrage et améliorations Les poids de LB et de UB dans la combinaison convexe peuvent être ajustés L'idée est de privilégier la borne la plus proche de la valeur optimale Faire évoluer les poids pendant le déroulement de l'algorithme Favoriser UB lorsque le centre de la sphère est admissible Favoriser LB lorsque le problème est infaisable Il est possible de mettre à jour UB plus souvent avec des solutions primales admissibles À partir du problème de la sphère En résolvant le primal LB UB τ Génération de colonnes 26/03/2017 – p19

Stabiliser l'ACCP Les méthodes de boxstep ou de stabilisation par point intérieur peuvent s'appliquer à l'ACCP Pour le point intérieur : adaptation très simple Attention pour le boxstep : les contraintes de boîte peuvent rendre le problème infaisable Nécessité de discerner qui de la boîte ou de τ cause l'infaisabilité Suppression temporaire des contraintes de boîte Si la boîte est responsable, on agrandit la boîte Génération de colonnes 26/03/2017 – p20

ACCP avec boxstep Reprenons l'exemple : u2 τ c2 LB UB u1 c1 Départ : UB = c1 + c2 Le problème est infaisable suppression de la boîte le problème est faisable augmentation de la boîte Aucune contrainte n'est violée mise à jour de LB et de τ Le centre viole une contrainte On rajoute la contrainte le problème est infaisable mise à jour de UB et de τ … u2 τ LB UB c2 u23 u21 u20 u10 u1 u13 u11 c1 Génération de colonnes 26/03/2017 – p21

Plan 1 Parallèle entre générations de colonnes et méthode de plans coupants Problèmes de convergence et de stabilisation L'algorithme ACCP de [Betrò] Comparaison sur un problème de localisation 2 3 4 Génération de colonnes 26/03/2017 – p22

Problème de localisation de concentrateurs But du problème On connaît les coordonnées d'un élément central et de clients Déterminer le nombre de concentrateurs et leurs emplacements de façon à minimiser les coûts de raccordement des clients au central Modèle E est l'ensemble des clients et P(E) l'ensemble des parties de E zi vaut 1 si la partie i se voit attribuer un SR, 0 sinon bij vaut 1 si le client j est dans la partie i, 0 sinon ci correspond au coût total d'attribution d'un SR à la partie i Élément central Clients concentrateur Mettre le problème direct en continu Rajouter le dessin en bas Génération de colonnes 26/03/2017 – p23

Comparaison génération de colonnes classique et ACCP Nous avons résolu la relaxation continue de notre problème avec deux méthodes de génération de colonnes Utilisation d’un boxstep et d’une stabilisation par point intérieur Le paramétrage des méthodes de stabilisation est identique Les colonnes sont initialisées à partir de solutions heuristiques Les instances sont générées aléatoirement 2 séries de dix instances de tailles similaires Génération de colonnes 26/03/2017 – p24

Temps de calcul Bonne initialisation Initialisation plus légère 10 instances de taille ~ 500 10 instances de taille ~ 725 Initialisation plus légère Classique : 2050,9 s Classique : 6020,1 s Classique : 2218.1 s Centrale : 606,7 s Centrale : 1099,5 s Centrale : 874.9 s Génération de colonnes 26/03/2017 – p25

Évolution des bornes Génération de colonnes 26/03/2017 – p26

Références B. Betrò, “An accelerated central cutting plane algorithm for linear semi-infinite programming”, Mathematical Programming, Vol.101, 479-495, 2004. L-M. Rousseau, M. Gendreau, D. Feillet, “Interior point stabilization for column generation”, Operations Research Letters, Vol. 35, 660-668, 2007 J. Elzinga et T. G. Moore, “A central cutting plane algorithm for the convex programming problem”, Mathematical Programming, Vol.8, 134-145, 1975. Génération de colonnes 26/03/2017 – p27

Questions ? Génération de colonnes 26/03/2017 – p28

L'Accelerated Central Cutting Plane Attention : si tau devient proche de la valeur optimale trop rapidement, on perd la stabilité. Betrò propose de perturber τ lorsque plusieurs coupes sont rajoutées successivement τ’ = τ τ = (1-β).τ + β.UB La politique de mise à jour de τ doit être choisie judicieusement τ LB UB u2 c2 Ajouter un slide en annexe sur d’où vient la borne inf u1 c1 Génération de colonnes 26/03/2017 – p29 29

Résultats Instance 1 2 3 4 5 6 7 8 9 Mean Size 515 508 530 492 561 468 1 2 3 4 5 6 7 8 9 Mean Size 515 508 530 492 561 468 536 504 562 485 516,1 CPU Time classical 2951 1548 1196 2516 2971 1142 2118 2045 2059 1963 2050,9 CPU Time central 555 627 495 691 853 575 568 433 751 519 606,7 Integrity yes no No Instance 10 11 12 13 14 15 16 17 18 19 Mean Size 778 724 744 671 735 747 739 717 787 736 737,8 CPU Time classical 8981 5197 4569 4183 4702 11209 5536 3232 7906 4686 6020,1 CPU Time central 1162 702 1059 945 1138 1430 1084 1068 1336 1071 1099,5 Integrity no yes Génération de colonnes 26/03/2017 – p30

Résultats avec une moins bonne initialisation Nombreux optimums locaux aléatoires + heuristique Peu d'optimums locaux aléatoires Instance 1 2 3 4 5 6 7 8 9 Mean Size 515 508 530 492 561 468 536 504 562 485 516,1 CPU Time classical 2951 1548 1196 2516 2971 1142 2118 2045 2059 1963 2050,9 CPU Time central 555 627 495 691 853 575 568 433 751 519 606,7 Instance 1 2 3 4 5 6 7 8 9 Mean CPU Time classical 2403 1362 2718 2117 4069 1108 2306 2280 2650 1168 2218.1 CPU Time central 1022 623 673 455 3003 367 717 573 729 587 874.9 Génération de colonnes 26/03/2017 – p31

Comparaison avec notre heuristique Une heuristique multi-phase a été développée pour notre problème La résolution de la relaxation continue nous donne une borne inférieure Instance 10 11 12 13 14 15 16 17 18 19 Mean Size 778 724 744 671 735 747 739 717 787 736 737,8 CPU Time central 1162 702 1059 945 1138 1430 1084 1068 1336 1071 1099,5 Integrity no yes Gap (%) 0,05 0,04 0,13 0,09 0,03 0,11 0,07 0,15 0,10 0,08 CPU Time heuristic 40 5 33 8 24 28 27 23,1 Génération de colonnes 26/03/2017 – p32