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.