1 bornes supérieures pour le tv-break packing problem thierry benoist bouygues e-lab...
TRANSCRIPT
![Page 1: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/1.jpg)
1
Bornes supérieures pour leTV-Break Packing Problem
Thierry BenoistBOUYGUES e-lab
![Page 2: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/12.jpg)
12
Bornes supérieures ?
![Page 13: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/16.jpg)
16
![Page 17: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/30.jpg)
30
f
![Page 31: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/31.jpg)
31
f
![Page 32: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/32.jpg)
32
f
![Page 33: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/38.jpg)
38
Contraintes associées
![Page 39: 1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES e-lab tbenoist@bouygues.com](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d85497959293b8c07b6/html5/thumbnails/39.jpg)
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