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

Post on 03-Apr-2015

106 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Bornes supérieures pour leTV-Break Packing Problem

Thierry BenoistBOUYGUES 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

3

Les chaînes …

• LCI

• Eurosport

• TF6

• TV Breizh

• Télétoon / Cartoon Network

• Odyssée

4

…thématiques

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

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

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

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

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

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

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

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

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 ?

12

Bornes supérieures ?

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

14

Polyèdre

XBlun

YA+YB

XAlun

2

1

1

1

XAlun+XBlun 1

(0.5,0.5,2) Points entiers

15

Quelles équations relâcher?

Sous-Problème:

Max cost flowi

Facilement « primalisable »

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

Borne égale à la relaxation continue

16

17

Relaxation Lagrangienne

max f(x) s.t. xX

f

18

Relaxation Lagrangienne

f

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

Propriété d’intégralité

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

20

Borne lagrangienne

XBlun

YA+YB

XAlun

2

1

0.5

1

1

XAlun+XBlun 1

21

Borne lagrangienne

XBlun

YA+YB

XAlun

2

1

0.5

1

1

XAlun+XBlun 1

(0.5,0.5,1)

22

Sous-problèmes lagrangiens

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

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]

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

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]

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

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)

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

30

f

31

f

32

f

33

f

Optimal integer point

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

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]

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

37

Génération de colonnes

38

Contraintes associées

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

top related