La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Mathieu Trampont – Orange Labs / CEDRIC Christian Destré – Orange Labs"— Transcription de la présentation:

1 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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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 : s Centrale : 606,7 s Centrale : 1099,5 s Centrale : s Génération de colonnes 26/03/2017 – p25

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

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

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

29 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

30 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

31 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

32 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


Télécharger ppt "Mathieu Trampont – Orange Labs / CEDRIC Christian Destré – Orange Labs"

Présentations similaires


Annonces Google