Borne inférieure pour le bin stretching online et jeux

Transcription

Borne inférieure pour le bin stretching online et jeux
Borne inférieure pour le bin stretching online et jeux
Michaël Gabay1 , Vladimir Kotov2 , Nadia Brauner1
1
G-SCOP, Grenoble-INP, UJF, CNRS, University of Grenoble,
46 avenue Félix Viallet, 38031 Grenoble Cedex, France
{prénom.nom}@g-scop.grenoble-inp.fr
2
Belarusian State University, FPMI DMA department,
Nezavisimosti avenue 220030 Minsk Belarus
[email protected]
Mots-clés : Bin stretching, ordonnancement, algorithmes online, borne inférieure
1
Bornes sur le facteur d’étirement
La donnée du problème du bin stretching online est une séquence d’objets définis par leurs
tailles wi ∈ [0; 1]. Ces objets doivent être rangés dans m bins et on sait qu’ils peuvent être
rangés dans m bins de taille unitaire. Les objets sont disponibles et placés irrévocablement
dans l’ordre donné par la séquence sans aucune connaissance du nombre d’objets restants ni
de leurs tailles. La valeur d’une solution est égale à la taille du bin le plus grand (le plus
étiré). Un algorithme avec facteur d’étirement (stretching factor) c est un algorithme online
qui réussit à ranger dans m bins de taille c, toute séquence d’objets qui rentrerait dans m bins
de taille 1. C’est-à-dire, pour toute instance I, l’algorithme donne une solution avec valeur
au plus c. L’objectif est de trouver un algorithme qui a un facteur d’étirement le plus petit
possible.
Ce problème est équivalent au problème d’ordonnancement P m|online − list|Cmax où nous
savons en plus que le makespan optimal est inférieur ou égal à une valeur donnée c. Le paramètre
online−list signifie que dès qu’une tâche est présentée, toutes ses caractéristiques sont connues
(le temps d’usinage dans notre cas) et cette tâche doit être ordonnancée avant que la suivante
ne soit connue.
Le problème du bin stretching a été introduit par Azar et Regev [1] en 2001. Ces auteurs
proposent un algorithme de facteur d’étirement 1.625 et prouvent que 4/3 est le plus petit
facteur d’étirement possible pour 2 bins. Dans [6, 4, 5, 3] des algorithmes avec les facteurs
d’étirement respectifs suivants ont été proposés 11/7 ≈ 1.5714, 26/17 ≈ 1.5294 puis 1.5. La
meilleure borne supérieure au facteur d’étirement pour 3 bins est 1.375 [3].
La borne supérieure au facteur d’étirement a été améliorée alors que, pendant ce temps,
la meilleure borne inférieure connue est restée la même : 4/3. Nous présentons une approche
computationnelle pour calculer une meilleure borne inférieure du facteur d’étirement : 19/14 ≈
1.3571. Cette borne inférieure a été calculée pour des instances de 3 ou 4 bins, ce qui laisse un
écart de 1/56 ≈ 0.018 entre les meilleures bornes inférieures et supérieures pour ce problème
avec 3 bins et de 1/7 ≈ 0.143 pour 4 bins ou plus.
2
Une borne inférieure classique
Nous présentons la borne inférieure classique pour le problème d’ordonnancement avec minimisation du makespan adaptée au problème du bin stretching. Considérons le problème avec
deux bins et les deux séquences de tailles d’objets suivantes en entrée :
π=
1 1 2 2
, , ,
3 3 3 3
π0 =
1 1
, ,1
3 3
Évidement, les deux séquences d’objets peuvent être rangées dans deux bins unitaires. Un
algorithme A avec facteur d’étirement c doit ranger ces deux séquences d’objets dans des bins
de taille au plus c. Soit A range les deux premiers objets, de taille 13 , dans le même bin ou
dans des bins différents. Dans le premier cas, avec la séquence π, le plus petit bin est rempli
au moins à 4/3, donc c ≥ 34 . Sinon, avec la séquence π 0 , le plus petit bin est rempli au moins
à 4/3, d’où c ≥ 43 . Dans les deux cas, c ≥ 43 . Donc, le facteur d’étirement de n’importe quel
algorithme online pour ce problème est supérieur ou égal à 43 .
Dans [1], les auteurs généralisent cette borne à n’importe quel nombre de bin. Cette borne
n’a toutefois pas été améliorée depuis.
2.1
Un jeu pour la preuve
Dans la littérature de l’ordonnancement online, des études par cas sont souvent utilisées
pour trouver des bornes inférieures pour les algorithmes déterministes. Toutefois, comme dans
le problème du bin stretching online, l’optimum du cas déterministe est connu à l’avance, cette
approche a peu de chances d’aboutir pour le problème de bins stretching.
Nous calculons une nouvelle borne inférieure (pour le pire cas) de valeur 19/14 ≈ 1.3571.
Afin d’obtenir cette borne, nous modélisons le problème comme un jeu à deux joueurs dans
lequel un algorithme affronte un adversaire off-line adaptatif [2]. Puis, nous utilisons la méthode
dite de l’adversaire où un adversaire malicieux et omnipotent joue contre tous les algorithmes
possibles (on explore tous les placements des objets sélectionnés par l’adversaire) pour calculer
des bornes inférieures améliorées.
Nous utilisons une approche automatisée basée sur un algorithme minimax [7], avec un
élagage alpha-beta [8] pour résoudre le jeu où l’adversaire a des choix réduits dans la taille
des objets. De plus, pour traiter la réalisabilité des instances du bin packing avec des tailles
unitaires, nous utilisons des heuristiques et un algorithme de programmation par contraintes
pour calculer les choix possibles de l’adversaire.
L’algorithme produit un arbre de décision comme preuve. Cet arbre illustre les décisions de
l’adversaire en réaction aux choix de l’algorithme : quelles que soient les décisions prises par
l’algorithme, l’adversaire peut choisir une combinaison de poids permettant d’aboutir à une
solution de valeur au moins 19/14. Nous présenterons la preuve pour la borne inférieure de
19/14 pour 3 bins.
Références
[1] Yossi Azar and Oded Regev. On-line bin-stretching. Theoretical Computer Science,
268(1) :17–41, 2001.
[2] S. Ben-David, A. Borodin, R. Karp, G. Tardos, and A. Wigderson. On the power of
randomization in on-line algorithms. Algorithmica, 11(1) :2–14, 1994.
[3] Martin Böhm, Jirí Sgall, Rob van Stee, and Pavel Veselý. Better algorithms for online
bin stretching. In Evripidis Bampis and Ola Svensson, editors, Approximation and Online
Algorithms, volume 8952 of Lecture Notes in Computer Science, pages 23–34. 2015.
[4] Michaël Gabay, Vladimir Kotov, and Nadia Brauner. Semi-online bin stretching with bunch
techniques. Les Cahiers Leibniz, 208 :1–10, 2013.
[5] Michaël Gabay, Vladimir Kotov, and Nadia Brauner. Online bin stretching with bunch
techniques. Theoretical Computer Science, 602 :103 – 113, 2015.
[6] Hans Kellerer and Vladimir Kotov. An efficient algorithm for bin stretching. Operations
Research Letters, 41(4) :343–346, 2013.
[7] J v Neumann. Zur Theorie der Gesellschaftsspiele. Mathematische Annalen, 100(1) :295–
320, 1928.
[8] Judea Pearl. The solution for the branching factor of the alpha-beta pruning algorithm
and its optimality. Communications of the ACM, 25(8) :559–564, 1982.