Upload
devereux-renou
View
106
Download
0
Embed Size (px)
Citation preview
1
Bornes supérieures pour leTV-Break Packing Problem
Thierry BenoistBOUYGUES e-lab
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