32
recherche & développement 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 22/06/22

Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

Embed Size (px)

Citation preview

Page 1: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développement

Une méthode de génération de colonnes basée sur unalgorithme central de plans coupantsMathieu Trampont – Orange Labs / CEDRIC

Christian Destré – Orange Labs

Alain Faye – CEDRIC

11/04/23

Page 2: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p2

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

1

2

Plan

3

4

Page 3: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p3

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

Niz

jaz

z

P

i

j

N

iiij

N

iii

z

...10

n...1.b

:s.c

.cmin

1

1

n...10

...1.b

:s.c

.max

n

1

n

1

ju

Nicu

ua

DP

j

ij

jij

jjj

u

Page 4: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p4

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è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

u1u*u2

Page 5: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p5

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

1

2

Plan

3

4

Page 6: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p6

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

u1u*u4u2 u3u

1u

2... u*

Page 7: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p7

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

Page 8: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p8

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

1

2

Plan

3

4

Page 9: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développement

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 :

...Iicbσ..ub...Iic.ub i

n

jij

n

jjiji

n

jjij 11

1

2

11

LBuaj

jj

n

1

Génération de colonnes 04/11/23 – p9

Page 10: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développement

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

LBauaLBuan

jj

jjj

jjj

)...1

2n

1

n

1

LBaua

LBr

r.ua n

jj

jjj

n

jjj

)11.(.

1

2n

1

1

Génération de colonnes 04/11/23 – p10

Page 11: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p11

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

Iicbub

LBaua

...Iic.ub

LBr

r.ua

i

n

jij

jjij

n

jj

jjj

i

n

jjij

n

jjj

...1..

)11.(.

11

2n

1

1

2n

1

1

1

Page 12: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p12

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

Page 13: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p13

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

1

2

Plan

3

4

Page 14: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développement

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

r

u1

λ2

Contrainte 1

Contrainte 2Plan de la fonction

objectif du dual

Plan de la borne inférieureLB = 0

Page 15: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p15

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

u1

u2Contrainte 1

Contrainte 2Contrainte de la borne inférieure

a2.u2+ a1.u1 ≥ LB

Page 16: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p16

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

r

u1

u2

Contrainte 1

Contrainte 2Plan de la fonction

objectif du dual

Plan de la borne inférieure

f ≥ 0

Page 17: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p17

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 + u1

0

• τ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

u1

u2

u20

u21

u10 u1

1u1

3

u23

c1

c2τLBUB

Page 18: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p18

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

1

2

Plan

3

4

Page 19: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p19

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

τ)10

1( max

)10

1( min

Page 20: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p20

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

Page 21: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p21

ACCP avec boxstep Reprenons l'exemple :

Départ :• LB = 0• UB = c1 + c2

Le problème est infaisable• suppression de la boîtele 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îtele problème est infaisable• mise à jour de UB et de τ

…u1

u2

u20

u21

u10

u11u1

3

u23

c1

c2τLBUB

Page 22: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p22

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

1

2

Plan

3

4

Page 23: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p23

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

1)E(...11;0

n...11.b

:s.c

.cmin

1)E(

1

1)E(

1

P

P

P

iz

jz

z

P

i

iiij

iii

z

Élément central

Clients

concentrateur

Page 24: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p24

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

Page 25: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p25

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

Centrale : 606,7 s

Centrale : 1099,5 s

Centrale : 874.9 s

Classique : 2050,9 s

Classique : 6020,1 s

Classique : 2218.1 s

Page 26: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p26

Évolution des bornes

405000

408000

411000

414000

417000

420000

-80 600 1280 1960 2640 3320 4000

CPU Time

Co

st

Classical LB

Classical UB

Central LB

Central UB

Page 27: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p27

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.

Page 28: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p28

Questions ?

Page 29: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développement

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

Génération de colonnes 04/11/23 – p29

L'Accelerated Central Cutting Plane

u1c1

c2

τLBUB

u2

Page 30: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p30

Résultats

Instance 0 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 yes no no yes yes yes yes 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 yes yes no no no no no yes

Page 31: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p31

Nombreux optimums locaux aléatoires + heuristique

Peu d'optimums locaux aléatoires

Résultats avec une moins bonne initialisation

Instance 0 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 0 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

Page 32: Recherche & développement Une méthode de génération de colonnes basée sur un algorithme central de plans coupants Mathieu Trampont – Orange Labs / CEDRIC

recherche & développementGénération de colonnes 04/11/23 – p32

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 yes yes no no no no no yes

Gap (%) 0,05 0,04 0,13 0,05 0,09 0,03 0,11 0,07 0,15 0,10 0,08

CPU Time heuristic

40 5 33 8 24 5 33 28 28 27 23,1