Interactive systems for the resolution of complex problems. Application in combinatorial optimization, planification and scheduling.
Systèmes interactifs pour la résolution de problèmes complexes.
Résumé
This thesis focuses on algorithm-expert interaction for solving hard problems. Several definitions of an "expert" are possible. Our work concerns interactions with an oracle (rather than human) expert, as we are looking for theoretical performance guarantee. Thus, we are interested in tradeoffs between performance, cost (typically running time), and length of information provided by the oracle. The first objective of this thesis is to understand what is the related work and the common oracle techniques in different domains (distributed and online computing, complexity, combinatorial optimization). The second objective is centered on combinatorial optimization, and more precisely on scheduling and packing problems. We aim at showing how this interactive setting is helpful for the design of approximation algorithms, and of course to provide new results on scheduling and packing problems using these techniques. We mainly focused on two problems: the discrete Resource Sharing Scheduling Problem ($dRSSP$) and the Multiple Strip Packing ($MSP$). The $dRSSP$ comes from the community of hybridation of algorithms. Given a set of algorithms (often called a portfolio), a fixed amount of resources (processors for example), and a (finite) benchmark of instances to solve, the goal is to distribute the resources among the processors to minimize the cost for solving the whole benchmark, using a "space sharing" model for running the algorithms in parallel. We studied the impact of different questions to ask to the oracle, and how to communicate "efficiently" (meaning that the oracle answer is short) with the oracle, leading to several approximation schemes. $MSP$, which is an extension of the well known strip packing problem, consists in packing rectangles into a fixed number of strips, minimizing the height of the packing. We provided approximation schemes/algorithms for different variants of $MSP$ where strips have equal/different widths, and where rectangles must be packed continuously or not (corresponding then to scheduling parallel jobs). It turns out that interactive techniques point out the difficulty of the problems, and are helpful to study problems in a different ways.
Cette thèse concerne l'utilisation de l'interaction entre un algorithme et un expert pour la résolution de problèmes complexes, typiquement NP-difficiles. Plusieurs définitions de l'expert sont possibles. L'objectif étant d'obtenir des algorithmes dont les performances sont garanties, ce travail est centré sur les interactions avec un expert de type "oracle", plutôt que "humain". Ainsi, on s'intéresse à des compromis entre performance, coût (typiquement temps d'exécution), et quantité d'information donnée par l'oracle. Le premier objectif de cette thèse est de comprendre quel est l'état de l'art des différentes techniques interactives dans différents domaines (algorithmique distribuée et online, complexité, optimisation combinatoire). Le second objectif est centré sur l'optimisation combinatoire, et plus particulièrement les problèmes d'ordonnancement et d'empaquetage. Nous proposons un formalisme interactif pour le contexte des problèmes d'optimisations (offline). Le but est de montrer en quoi ce formalisme facilite la conception d'algorithmes d'approximation, en le situant par rapport aux techniques classiques de conception de schémas d'approximation, et en l'utilisant pour fournir de nouveaux résultats sur des problèmes d'ordonnancement et d'empaquetage. Nous avons principalement abordé deux problèmes : le "discrete Resource Sharing Scheduling Problem ($dRSSP$)" et le problème du "Multiple Strip Packing" ($MSP$). Le $dRSSP$ est un problème d'hybridation d'algorithmes. Etant donné un ensemble d'algorithmes (appelé un "portfolio"), un nombre fini de ressources (des processeurs par exemple), et un ensemble représentatif d'instances (appelé "benchmark"), le but est de distribuer ces ressources aux algorithmes afin de minimiser le temps nécessaire à la résolution de toutes les instances du benchmark, en exécutant les algorithmes en parallèle selon le modèle dit du "space sharing" . Nous avons étudié l'impact de plusieurs questions à poser à l'oracle, ainsi que comment communiquer efficacement avec ce dernier (signifiant que la réponse de l'oracle est courte), aboutissant à plusieurs schémas d'approximation. Le $MSP$ est une extension du problème célèbre du "Strip Packing" consistant à placer des rectangles dans un nombre fixé de boîtes, en minimisant la hauteur atteinte. Nous avons fourni plusieurs algorithmes/schémas d'approximation pour différentes variantes de ce problème, dans lesquelles les boîtes ont des largeurs égales/différentes, ou les rectangles doivent être placés de façon "continue" ou non (correspondant alors à un problème classique d'ordonnancement de tâches parallèles). D'une manière générale l'utilisation de l'interactivité permet d'isoler la difficulté des problèmes, et donc de les étudier différemment.