Projet M1 : Modélisation et Résolution du Problème de Sudoku 1
Transcription
Projet M1 : Modélisation et Résolution du Problème de Sudoku 1
Projet M1 : Modélisation et Résolution du Problème de Sudoku 1 Contexte La PPC est une technique apparue à la n des années soixante pour résoudre des problèmes combinatoires de grande taille, jugés très diciles à résoudre par l'humain, comme les problèmes d'ordonnancement et de planication. Les problèmes de contraintes sont posés dans plusieurs domaines, on trouve par exemple des applications de la PPC dans les domaines suivants : • Santé : aectation des inrmières dans les hôpitaux (HSW, France), • Transports : planication des chaueurs de bus (RATP, France), • Industrie : planication de livraisons de pièces détachées (Renault, France). Comme il est présenté dans la gure 1, la PPC hérite principalement de deux spécialités : • La branche informatique qui traite l'Intelligence Articielle • La branche mathématique qui traite la Recherche Opérationnelle Le principe de la PPC consiste dans un premier temps à modéliser le problème de contrainte sous forme d'un ensemble de variables prenant leurs Figure 1: Origine de la Programmation Par Contraintes 1 valeurs dans un ensemble ni de valeurs, liées par un ensemble de contraintes. Ensuite si le domaine de chaque variable n'est pas vide, une recherche arborescente est appliquée. Elle consiste à choisir pour chaque n÷ud dans l'arbre, suivant une politique particulière, une variable non assignée et de l'assigner avec une certaine valeur. Pour éliminer dans chaque n÷ud les valeurs qui ne peuvent pas participer à trouver une solution, les algorithmes de recherche peuvent utiliser les techniques de ltrage et de propagation de contraintes. Une solution est trouvée lorsqu'il reste une seule valeur dans le domaine de chaque variable et que toutes les contraintes sont satisfaites. Dans le cas d'un problème de satisfaction de contrainte, la résolution consiste à trouver une ou toutes les solutions possibles. Dans le cas d'un problème d'optimisation, la résolution consiste à trouver une solution optimale. Objectif L'objectif de ce stage est de modéliser et résoudre le problème de sudoku en utilisant le solveur de contraintes OR-Tools. OR-Tools est un solveur open source développé en C++ par l'équipe de recherche Google pour résoudre les problèmes de satisfaction et d'optimisation sous contraintes. Plan • État de l'art • Modélisation du problème de sudoku • Résolution du problème de sudoku avec le solveur OR-Tools Groupe Ce stage est proposé pour un groupe de 2 étudiants. Contact [email protected] 2