Allocation distribuée de ressources dans le système CONSENSUS
Abstract
Ce rapport décrit la résolution d'un problème d'allocation de ressources sur-contraint avec le système multi-utilisateur CONSENSUS. Les salles d'un campus, réparties dans plusieurs bâtiments, sont à affecter à plusieurs équipes en fonction de leurs besoins. Les contraintes du problème sont les besoins des utilisateurs. Ces besoins ne seront pas forcément satisfaits, et expriment donc des préférences plutôt que des contraintes dures. De plus ces contraintes sont de différentes natures, et ne sont donc pas facilement comparables. Enfin, on ne fait pas l'hypothèse que les utilisateurs expriment toutes leurs préférences, celles-ci étant apprises à partir des notes qu'ils donnent aux solutions proposées par le système. La méthode utilisée pour calculer des solutions est une méthode de recherche adaptative. Il s'agit d'une méthode de recherche locale Tabou permettant de résoudre des problèmes sur-contraints en recherchant une solution violant le moins possible l'ensemble des contraintes. Une difficulté particulière est de chercher à rendre les contraintes hétérogènes comparables afin que la méthode n'en favorise pas certaines plus que d'autres. L'apprentissage des préférences des utilisateurs est traité quant à lui par un programme linéaire. La résolution globale du problème est itérative, faisant se succéder des phases de calculs de solutions (à partir des préférences exprimées et apprises), et des phases de notation des solutions par les utilisateurs, jusqu'à trouver une solution consensuelle, qui insatisfait le moins aucun utilisateur. D'un point de vue programmation, CONSENSUS est constitué d'un serveur Web et de clients légers, entièrement implanté en Html, XML, Perl et Scilab.