320 likes | 435 Views
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 29/10/2014. Plan. 1. Parallèle entre générations de colonnes et méthode de plans coupants
E N D
Une méthode de génération de colonnes basée sur unalgorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC Christian Destré – Orange Labs Alain Faye – CEDRIC 29/10/2014
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
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
u2 u* u1 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 restreintdonne une première solution • La résolution du sous-problèmefait apparaître de nouvelles variables, donc de nouveaux plans • On continue jusqu'à ce qu'on nepuisse plus rajouter de variablequi améliore la solution • La valeur obtenue est aussi lavaleur optimale du dual
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
u4 u3 u2 u* 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 u1 u2... u* u1
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
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
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 :
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
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
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
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
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 Contrainte 1 u2 Contrainte de la borne inférieure a2.u2+ a1.u1 ≥ LB Contrainte 2 u1
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
τ LB UB 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 c2 u23 u21 u20 u10 u1 u11 u13 c1
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
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 estadmissible • 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 τ
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
τ LB UB ACCP avec boxstep • Reprenons l'exemple : • Départ : • LB = 0 • 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 τ • augmentation de la boîte • Le centre viole une contrainte • On rajoute la contrainte • Le problème est infaisable • suppression de la boîte • le problème est infaisable • mise à jour de UB et de τ • … u2 c2 u23 u21 u20 u10 u1 u11 u13 c1
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
Élément central concentrateur Clients 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
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
Temps de calcul • Bonne initialisation • 10 instances de taille ~ 500 • 10 instances de taille ~ 725 • Initialisation plus légère • 10 instances de taille ~ 500 • Classique : 2050,9 s • Classique : 6020,1s • Classique : 2218.1 s • Centrale : 606,7 s • Centrale : 1099,5 s • Centrale : 874.9 s
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.
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 à jourde τdoit être choisiejudicieusement L'Accelerated Central Cutting Plane τ LB UB u2 c2 u1 c1 Génération de colonnes 29/10/2014 – p29
Résultats avec une moins bonne initialisation • Nombreux optimums locaux aléatoires + heuristique • Peu d'optimums locaux aléatoires
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