La génération de modèles pour les problèmes d'ordonnancement d'atelier
Publié par Ramiz Gindullin, le 16 septembre 2024 100
A. Question initiale Comment une usine peut-elle produire des milliers de variantes d'un même produit tout en respectant la qualité, les délais et en maîtrisant les coûts ?
B. Présentation du problème Un ordonnancement c'est un peu comme organiser une soirée de spectacle très chargée : dans un premier temps il faut planifier à l'avance le public visé, le programme d'activités, le menu et l'endroit. Puis il faut déterminer les tâches devant être réalisées pour mener cela à bien, les ressources nécessaires à piloter, et décider de l'ordre dans lequel le tout devra être réalisé, puis finalement veiller au bon déroulé et réagir en cas d'imprévu.
C. Présentation du sujet de thèse Ma thèse vise à développer des outils d'aide à la décision pour traiter une grande variété de problèmes de production en se fondant uniquement sur des données décrivant les éléments du contexte. À partir de ces éléments, j'ai créé un système d'apprentissage pouvant générer un modèle d'ordonnancement.
D. Modèles d'ordonnancement Un modèle d'ordonnancement est une représentation simplifiée de la réalité, se focalisant sur l'ordre dans lequel les tâches doivent être exécutées, et sur les ressources nécessaires et leur disponibilité pour mettre en œuvre ces tâches. Dans le cas de l'organisation d'une soirée, on aura différentes tâches associées aux sketches présentés, à la sonorisation, à la lumière, au repas et à la sécurité. Les ressources correspondront à différents matériels nécessaires au bon déroulement et aux personnes avec les compétences requises nécessaires.
D1. Importance des modèles Les modèles permettent de mieux cerner un problème et de trouver des solutions efficaces en extrayant de la réalité les éléments clefs et les contraintes reliant ces points clefs. Par exemple, dans l'organisation d'un spectacle, on déterminera l'enchaînement des activités, de la même manière que dans un problème de production on déterminera un ordre partiel pour produire les différents éléments du produit final à fabriquer.
D2. Les défis des modèles pour les problèmes de production
D21. Enjeux au niveau des données Disponibilité des données Pour construire un modèle pertinent, il faut rassembler de manière automatique de nombreuses informations sur les machines (caractéristiques, disponibilité), les opérateurs (compétence), le processus de fabrication (énergie nécessaire, stockage), sur l'atelier (mode de fonctionnement), et sur la possibilité de passer par des sous-traitants. Identification des données pertinentes Toutes ces données sont le plus souvent réparties à différents endroits du système d'information de l'entreprise, et stockées dans de multiples formats. Un défi est d'identifier les données pertinentes pour le modèle que l'on cherche à établir.
D22. Enjeux au niveau des modèles Variété des contraintes Les problèmes de production font intervenir un nombre varié de contraintes d'autant plus dans un contexte industriel où l'on a une pléthore de contraintes métiers, issues des spécificités du domaine et des ressources humaines mises en œuvre. Plans de production sûrs La spécificité des méthodes d'intelligence artificielle courante est qu'elle génère une réponse auquel peut être associée une probabilité de véracité. Par exemple, dans cette image, je reconnais un chat avec une probabilité de 98 pour cent. Dans notre cadre, il faut que le modèle produise toujours des solutions vérifiant toujours toutes les contraintes.
D23. Enjeux économiques La motivation de générer des modèles pour des problèmes d'ordonnancement de production à partir de données, et de pouvoir adapter automatiquement la production à une variété de changements comme, par exemple, des changements sur la quantité à produire, sur les caractéristiques des objets à produire, ou sur la disponibilité des ressources nécessaires à la production.
E. Comment générer un modèle d'ordonnancement ?
E1. Données explicites Les modèles sont construits à partir de données réelles représentant des plannings de production réalisés par le passé, ainsi que des données présentant les caractéristiques des machines disponibles, les compétences du personnel et sa disponibilité.
E2. Données implicites Les modèles sont également construits à partir de donnée que l'on peut extraire des plannings de production. Par exemple, le mode de production d'un atelier par équipe faisant les 3 huit ou les 2 huit les jours fériés peut être identifié en examinant de près un certain nombre de plannings. Le fait qu'une certaine contrainte ne s'applique que pour les opérations d'un type donnée (par exemple le fait que les tâches de séchages ne sont pas interruptibles) peut aussi se retrouver en examinant plusieurs plannings. Les délais minimums/maximum entre deux tâches consécutives peuvent aussi s'extraire de la même façon.
E3. Identifier le rôle de certaines données Si parfois le sens associé à certaines données est explicitement indiqué, ce n'est pas toujours le cas. Il faut alors identifier la nature des données (par exemple cette table décrit-elle des tâches ou des machines, et telle colonne de cette table décrit-elle la durée ou le début d'une tâche).
E4. Identifier des structures régulières Une spécificité des modèles d'ordonnancement, et qu'ils mettent en œuvre des contraintes sur des ensembles pouvant facilement se définir, c'est-à-dire pas sur des sous-ensembles déterminés de manière aléatoire. Par exemple, on pourra identifier une suite de tâches correspondant aux étapes successives d'un processus de fabrication. De la même manière, on pourra identifier un sous-ensemble de tâches utilisant une même machine pour leur imposer le même type de contrainte.
E5. La méthodologie suivie pour générer des modèles On utilise la combinaison des trois techniques suivantes:
- L'utilisation de méthode d'exploration des données pour interpréter les données que l'on a, et pour identifier les différents sous-ensembles de données potentiellement pertinentes pour faire un apprentissage.
- L'utilisation de méthode de programmation par contraintes pour extraire les contraintes associées aux sous-ensembles identifiés à l'étape précédente.
- La génération d'un modèle dans un langage de modélisation directement utilisable par un grand nombre de logiciels d'optimisation.
F. Application Dans le cadre de notre thèse, nous avons utilisé notre générateur de modèles sur une version simplifiée d'un problème industriel de production de turbines. Les données ont été générées par un simulateur sans considérer les tâches de sous-traitance se déroulant sur une longue période de temps. Des données décrivent chaque tâche apparaissant dans un planning avec des informations telles que l'identifiant, le type, la durée, la quantité produite, l’ensemble des machines ou peut s'exécuter une tâche, la machine ou la tâche s'exécute, le début, la durée, la fin. D'autres données décrivent les ressources mises en œuvre avec des informations telles que l'identifiant, la vitesse, les périodes de disponibilité ou d'indisponibilité. Pour tester la robustesse de notre outil d'apprentissage de modèles, nous avons considéré un grand nombre de variantes du problème dans lesquelles les tâches et les ressources ne sont pas décrites tout à fait de la même façon, les contraintes à apprendre sont différentes, et certaines informations présentes ne sont pas pertinentes.
G. Conclusion Notre recherche a montré la faisabilité de générer automatiquement des modèles d’ordonnancement à partir de données industrielles complexes en intégrant des techniques de fouille de données, de programmation par contraintes et d’apprentissage automatique. La possibilité de développer des modèles pouvant s'exécuter de manière transparente sur les principaux moteurs d'optimisation disponibles (des moteurs propriétaires ou libres) facilite le transfert de ces résultats dans un contexte industriel. Finalement, un certain nombre de questions concernant l’identification automatique de données pertinentes et leur interprétation dans un système d’information, et la recherche de contraintes métier conditionnées par un contexte spécifique restent cependant ouvertes.