1 Bornes supérieures pour le TV-Break Packing Problem Thierry Benoist BOUYGUES 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 dune semaine constituer le plus grand nombre possible de paquets de 30 messages collectant plus de spectateurs (« contacts »)
6 Packages Nombre de messages fixé Contraintes de couverture de la semaine (zones) 30 messages21 messages Nombre min de contacts garanti
7 Flot Affectation des spots: packages écrans Package C Lundi 7h 6 Dimanche 23h15 3 Mardi 8h40 3 Mercredi 9h55 4 Dimanche 20h40 4 Dimanche 21h20 4 Dimanche 22h15 5 Package A Package B Ecrans disponibles Nombre de messages Capacité (durée / 30s) AUDIENCES PREVUES AUDIENCES REQUISES Ce que la régie souhaite offrir à la vente
8 Complexité Cas particulier : 3-PARTITION (NP-difficile au sens fort) SmSm S1S1 S2S2 S3S poids w1w1 w2w2 w3w3 W 3m-3 W 3m-2 W 3m-1 w 3m __ w
9 Flot Contraintes de répartition hebdomadaire Pack C Lundi 7h 6 Dimanche 23h15 3 Lundi 8h40 3 Lundi 9h55 4 Dimanche 20h40 4 Dimanche 21h20 4 Dimanche 22h15 5 Pack A Pack B 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 daudience 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 darrondis –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 Meilleure solution continue Y A +Y B =2 Alors quun seul des packages peut être satisfait Pour chaque package: 2Y A (3X A lun +X A mar ) Y A X A lun Lundi 7h Mardi 7h
14 Polyèdre X B lun Y A +Y B X A lun X A lun +X B lun 1 (0.5,0.5,2) Points entiers
15 Quelles équations relâcher? Sous-Problème: Max cost flow i Facilement « primalisable » Propriété dintégralité [Geoffrion74]: Borne égale à la relaxation continue
16
17 Relaxation Lagrangienne max f(x) s.t. x X f
18 Relaxation Lagrangienne f max f(x) s.t. x X Ax b Propriété dinté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 X B lun Y A +Y B X A lun X A lun +X B lun 1
21 Borne lagrangienne X B lun Y A +Y B X A lun X A lun +X B lun 1 (0.5,0.5,1)
22 Sous-problèmes lagrangiens
23 Sous-problèmes lagrangiens 1 er cas: Y i =0 –minimiser j X ij 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: Y i =1 –minimiser j X ij sous les contraintes de couverture de semaine et les contraintes daudience Lundi 7h Dimanche 23h15 Lundi 8h40 Lundi 9h55 Dimanche 20h40 Dimanche 21h20 Dimanche 22h15 Pack A 21 [14,16] [5,7] 1 j 2 AUDIENCES PREVUES Sil ny avait que les contraintes daudience: min j X ij s.t. a j X ij r i (0-1 knapsack) Programmation dynamique (état=[0, r i ]) Avec les contraintes de taille et de zone létat devient [0, r i ]x[0, q i ]x[0, q i1 max ] x[0, q i2 max ]x…x[0, q ik max ]
25 L'état peut être compressé Pack A 21 [14,16] [5,7] 1 j 2 [0, r i ]x[0, q i ]x[0, q i1 max ] x[0, q i2 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, r i ]x[0, q i ]x[0, q i1 max ] x[0, q i2 max ] [0, r i ]x[0, q i ]x[14,16] x[0, q i2 max ] [0, r i ]x[0, q i ]x[0, q i1 max ] x[0, q i2 max ] [0, r i ]x[21,21]x[0, q i1 max ] x[5,7]
27 L'état peut être compressé Pack A 21 [14,16] [5,7] 1 j 2 [0, r i ]x[14,16]x[14,16] x[0, q i2 max ] [0, r i ]x[0,16]x[0, q i1 max ] x[0, q i2 max ] [0, r i ]x[14, q i ]x[0, q i1 max ] x[0, q i2 max ] [0, r i ]x[0,16]x[0, q i1 max ] x[0, q i2 max ] Le domaine du compteur dune zone est restreint par les compteurs des sous-zones incluses (propagation) [0, r i ]x[21,21]x[0, q i1 max ] x[5,7] Avec cette règle le nombre total de transitions possibles dans ce programme dynamique nexcède jamais 10 9 tractable En pratique Xpress-MP résout ce problème en quelques secondes
28 Sous-problème lagrangien Pour chaque package nous calculons –Opt i (Y i =0): min flow –Opt i (Y i =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 (quun algorithme de sous-gradient naïf) pour résoudre le problème dual dans ce cas Initialiser j à /a j est un bon point de départ (évite lemploi inutile décrans précieux) Dualis by (Triadou et al, 2003)
29 Cercle vertueux Connaissant cette borne ub nous pouvons forcer g i Y i ub –knapsack : maximiser [opt i (1)-opt i (0)] + Y i –au lieu de choisir le meilleur pour chaque package (individuellement) – écart de dualité moyen réduit dun 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 Y i –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 g i Y i > lb ( fixe certains Y i =1) –Les regrets Opt i (Y i =1) - Opt i (Y i =0) peuvent améliorer le filtrage ( fixe certains Y i =0 quand pureLagBound+ Opt i (Y i =1) - Opt i (Y i =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 7h 6 Dimanche 23h15 3 Lundi 8h40 3 Lundi 9h55 4 Dimanche 20h40 4 Dimanche 21h20 4 Dimanche 22h15 5 Pack A Pack B [14,16] [5,7]
36 Génération de colonnes Choisir un ensemble faisable décrans (colonne) pour chaque package Pack C Lundi 7h Dimanch e 23h15 Lundi 8h40 Dimanc he 20h40 Dimanc he 21h20 Dimanc he 22h15 Pack A Pack B Selectionner la colonne entrante est exactement le problème précédent –Deux familles de colonnes, celles avec Y i =1 et celles avec Y i =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