1 bornes supérieures pour le tv-break packing problem thierry benoist bouygues e-lab...

39
1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab [email protected]

Upload: devereux-renou

Post on 03-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

1

Bornes supérieures pour leTV-Break Packing Problem

Thierry BenoistBOUYGUES e-lab

[email protected]

Page 2: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

2

Plan

• Le TV-Break Packing Problem– Modèle– Panorama des méthodes de résolution

• Calcul de bornes supérieures– Faiblesses de la relaxation continue– Relaxation lagrangienne des contraintes

de capacité– Branch and Bound

• Conclusion

Page 3: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

3

Les chaînes …

• LCI

• Eurosport

• TF6

• TV Breizh

• Télétoon / Cartoon Network

• Odyssée

Page 4: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

4

…thématiques

• Chaque chaîne possède une cible– CSP+ / Urbain– Enfant 4-10– Senior

•… et une audience très différente …

Page 5: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

5

Écrans publicitaires d’une semaine

constituer le plus grand nombre possible de paquets de 30 messages collectant plus de 200000 spectateurs (« contacts »)

230 000

240 000

210 000

270 000

200 000

Page 6: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

6

Packages

Monday Tuseday Wenesday Thursday Friday Saturday Sunday

De 0831 à 1630

De 1631 à 2000

1

De 1330 à 1630

1

(ou 2)3

7

De 1131 à 1329

23(ou 3)

(3 saturday and 3 sunday)

De 0831 à 1130

MODULE A : 10 900 EUROS

De 0700 à 0830

7

6

• Nombre de messages fixé

•Contraintes de couverture de la semaine (zones)

30 messages 21 messages

Nombre min de contacts garanti

Page 7: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

7

Flot• Affectation des spots: packages écrans

Package C

Lundi 7h6

Dimanche 23h153

Mardi 8h403

Mercredi 9h554

Dimanche 20h404

Dimanche 21h204

Dimanche 22h155

Package A

Package A

Package B 18

24

21

21

Ecrans disponibles

Nombre de messages

Capacité(durée / 30s) AUDIENCES

PREVUES

8500

9200

7800

15500

21000

19800

12100

AUDIENCES

REQUISES

210000

160000

215000

210000

Ce que la régie souhaite offrir à la

vente

Page 8: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

8

Complexité• Cas particulier : 3-PARTITION

(NP-difficile au sens fort)

Sm

1

1

1

1

1

1

1

S1

S2

S33

3

3

3

poids

w1

w2

w3

W3m-3

W3m-2

W3m-1

w3m

__ w 3

__ w 3

__ w 3

__ w 3

Page 9: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

9

Flot• Contraintes de répartition hebdomadaire

Pack C

Lundi 7h6

Dimanche 23h153

Lundi 8h403

Lundi 9h554

Dimanche 20h404

Dimanche 21h204

Dimanche 22h155

Pack A

Pack A

Pack B 18

24

21

21

Available breaks

Nombre de messages

Capacité(durée / 30s)

[14,16]

[5,7]

Contraintes de zone

Page 10: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

10

Modèle linéaire

zone = sous-ensemble d’écrans

Sans chevauchement

Nombre de spots

Capacité de chaque écran

Contraintes de zone

Contrainte d’audience

Objectif = maximiser le revenue total

Page 11: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

11

Méthodes de résolution• Programmation Linéaire en Nombres Entiers

(Xpress-MP)– Efficace pour des instances petites ou moyennes,– Pas de solution de tout pour de nombreuses instances

• Heuristique Lagrangienne ou techniques d’arrondis– Robuste, résultats satisfaisants

• Branch and Move – [Benoist & Bourreau, 2003]– Combinaison de Programmation par Contraintes et de

Recherche Locale– Meilleurs résultats sur la plupart des instances (en particulier

sur les grandes)

Pourrions nous avoir des résultats encore meilleurs ?

Page 12: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

12

Bornes supérieures ?

Page 13: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

13

Faiblesse du modèle linéaire

1

2

Package A

Package B

1

1

Nombre de messages

Capacité(durée / 30s)

AUDIENCES PREVUES

3

1

AUDIENCES REQUISES

2

2

0.5

0.50.5

0.5

Meilleure solution continue YA+YB=2

Alors qu’un seul des packages peut être satisfait

Pour chaque package: 2YA (3XAlun+XAmar)

YA XAlun + 0.5

Lundi 7h

Mardi 7h

Page 14: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

14

Polyèdre

XBlun

YA+YB

XAlun

2

1

1

1

XAlun+XBlun 1

(0.5,0.5,2) Points entiers

Page 15: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

15

Quelles équations relâcher?

Sous-Problème:

Max cost flowi

Facilement « primalisable »

Propriété d’intégralité [Geoffrion74]:

Borne égale à la relaxation continue

Page 16: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

16

Page 17: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

17

Relaxation Lagrangienne

max f(x) s.t. xX

f

Page 18: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

18

Relaxation Lagrangienne

f

max f(x) s.t. xX Ax b

Propriété d’intégralité

Page 19: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

19

Quelles équations relâcher?

N sous-Problèmes:

Sac à dos multidimensionnel

(NP-dur)

j

Primalisation plus délicate

Borne strictement meilleure que la relaxation continue

Page 20: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

20

Borne lagrangienne

XBlun

YA+YB

XAlun

2

1

0.5

1

1

XAlun+XBlun 1

Page 21: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

21

Borne lagrangienne

XBlun

YA+YB

XAlun

2

1

0.5

1

1

XAlun+XBlun 1

(0.5,0.5,1)

Page 22: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

22

Sous-problèmes lagrangiens

Page 23: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

23

Sous-problèmes lagrangiens• 1er cas: Yi=0

– minimiser jXij sous les contraintes de couverture de semaine

– Min Cost Flow

Lundi 7h

Dimanche 23h15

Lundi 8h40

Lundi 9h55

Dimanche 20h40

Dimanche 21h20

Dimanche 22h15

Pack A 21[14,16]

[5,7]

1

j

2

Page 24: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

24

Sous-problèmes lagrangiens• 2ème cas: Yi=1

– minimiser jXij sous les contraintes de couverture de semaine et les contraintes d’audience

Lundi 7h

Dimanche 23h15

Lundi 8h40

Lundi 9h55

Dimanche 20h40

Dimanche 21h20

Dimanche 22h15

Pack A 21[14,16]

[5,7]

1

j

2

AUDIENCESPREVUES

8500

9200

7800

15500

21000

19800

12100

S’il n’y avait que les contraintes d’audience:

minjXij s.t. ajXij ri (0-1 knapsack)

Programmation dynamique (état=[0,ri])

Avec les contraintes de taille et de zone l’état devient [0,ri]x[0,qi]x[0,qi1

max] x[0,qi2max]x…x[0,qik

max]

Page 25: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

25

L'état peut être compressé

Pack A 21[14,16]

[5,7]

1

j

2

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

Pour chaque écran, seuls les compteurs des zones englobantes sont actifs

Page 26: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

26

L'état peut être compresséPour chaque écran, seuls les compteurs des zones englobantes sont actifs

Pack A 21[14,16]

[5,7]

1

j

2

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[0,qi]x[14,16] x[0,qi2max]

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[0,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[21,21]x[0,qi1max] x[5,7]

Page 27: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

27

L'état peut être compressé

Pack A 21[14,16]

[5,7]

1

j

2

[0,ri]x[14,16]x[14,16] x[0,qi2max]

[0,ri]x[0,16]x[0,qi1max] x[0,qi2

max]

[0,ri]x[14,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[14,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[14,qi]x[0,qi1max] x[0,qi2

max]

[0,ri]x[0,16]x[0,qi1max] x[0,qi2

max]

Le domaine du compteur d’une zone est restreint par les compteurs des sous-zones incluses (propagation)

[0,ri]x[21,21]x[0,qi1max] x[5,7]

Avec cette règle le nombre total de transitions possibles dans ce programme dynamique n’excède jamais 109 tractable

En pratique Xpress-MP résout ce problème en quelques secondes

Page 28: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

28

Sous-problème lagrangien• Pour chaque package nous calculons

– Opti(Yi=0): min flow– Opti(Yi=1): multi-dimensionnal knapsack– … et nous choisissons le plus grand bornes supérieures meilleures que les bornes linéaires pour

10 instances sur 20 (-2% à -12%)– Mais cela prend 15mn au lieu de 1mn

• Les méthodes de faisceaux peuvent être jusqu’à 10 fois plus rapide (qu’un algorithme de sous-gradient naïf) pour résoudre le problème dual dans ce cas

• Initialiser j à /aj est un bon point de départ (évite l’emploi inutile d’écrans “précieux”)

Dualis by(Triadou et al, 2003)

Page 29: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

29

“Cercle vertueux”

• Connaissant cette borne ub nous pouvons forcer giYi ub

– knapsack : maximiser [opti(1)-opti(0)]+ Yi

– au lieu de choisir le meilleur pour chaque package (individuellement)

écart de dualité moyen réduit d’un tiers

Page 30: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

30

f

Page 31: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

31

f

Page 32: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

32

f

Page 33: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

33

f

Optimal integer point

Page 34: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

34

Branch and Bound• Finalement nous pouvons effectuer un branch and

bound restreint aux variables Yi– A chaque noeud nous coupons la branche si la borne

lagrangienne est plus petite que la meilleure solution connue– Nous propageons la contrainte linéaire giYi > lb

( fixe certains Yi=1)– Les regrets Opti(Yi=1) - Opti(Yi=0) peuvent améliorer le filtrage

( fixe certains Yi=0 quand pureLagBound+ Opti(Yi=1) - Opti(Yi=0) < lb

• Comparé au branch and bound équivalent par PLNE– Meilleures bornes supérieures pour 7 instances – Gap moyen: 1.7% vs. 2.0%– CPU : 3 heures vs. 5 mn

Page 35: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

35

Relaxation Lagrangienne

• Dualiser les contraintes de capacité:

Pack C

Lundi 7h6

Dimanche 23h153

Lundi 8h403

Lundi 9h554

Dimanche 20h404

Dimanche 21h204

Dimanche 22h155

Pack A

Pack A

Pack B 18

24

21

21

[14,16]

[5,7]

Page 36: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

36

Génération de colonnes• Choisir un ensemble faisable d’écrans

(colonne) pour chaque package

Pack

C

Lundi 7

h

Dim

anch

e 2

3h1

5

Lundi

8h4

0

Dim

anc

he

20

h4

0D

imanc

he

21

h2

0D

imanc

he

22

h1

5

Pack

A

Pack

A

Pack

B

• Selectionner la colonne entrante est exactement le problème précédent– Deux familles de colonnes,

celles avec Yi=1 et celles avec Yi=0

• La borne est exactement la même– Mais obtenue après

convergence

Page 37: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

37

Génération de colonnes

Page 38: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

38

Contraintes associées

Page 39: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com

39

Conclusions

• Bornes supérieures– 9 instances sont fermées (parmi 20)– Gap maximum = 7%

• Relaxation lagrangienne des contraintes de capacité– Meilleur polyèdre (que le modèle linéaire)– Améliorations itératives (« cercle vertueux »)– Branch and Bound limité avec filtrage par coûts

réduits