Toutes les actualités, formations et événements

Offre de stage M2 : Extension et optimisation par IA d'un système de planification

12 / 01 / 2026, F. Draux

Recrutement

Extension et optimisation par IA d'un système de planification pour établissements de santé

Note : Ce sujet de stage est conçu pour un étudiant de M2 sur 6 mois. Il peut être adapté pour un étudiant de M1 sur 4 mois en se limitant aux phases 1 et 2. Le planning et les livrables seront ajustés en conséquence.

Contexte

Le Centre de calcul de l'URCA (Roméo) a développé pour le groupe Renaissance un système d'optimisation de plannings basé sur OR-Tools (CP-SAT et VRP). Ce système génère des plannings pour les soignants en maximisant la satisfaction des résidents et en minimisant les temps de déplacement.

Le système actuel gère un nombre fixe de tâches prédéfinies (toilettes, petit-déjeuner, médicaments, déplacement en salle, activités) mais n'est pas adapté à l'ajout dynamique de nouvelles tâches. De plus, les approches classiques d'optimisation combinatoire atteignent leurs limites en termes de temps de calcul et de flexibilité.

Un stagiaire L3 développe en parallèle l'interface web du système (PHP/MySQL). Une coordination étroite sera nécessaire.

Objectifs du stage

  1. Étendre le système existant pour gérer un nombre indéterminé de tâches configurables

  2. Explorer l'utilisation de modèles de langage opensource (LLM) pour l'optimisation de plannings

  3. Comparer les performances des approches classiques (OR-Tools) et des approches basées sur l'IA

  4. Coordonner avec le développement de l'interface web

Missions principales

Phase 1 : Prise en main et analyse (1 mois)

  • Étude approfondie du code existant (Python/OR-Tools)

  • Compréhension des algorithmes CP-SAT et VRP implémentés

  • Analyse des limites actuelles du système

  • État de l'art sur l'optimisation de plannings par LLM opensource

  • Définition des cas d'usage pour l'extension modulaire

  • Coordination avec le stagiaire L3 : définition des interfaces et formats d'échange de données

Phase 2 : Extension du système pour tâches modulaires (2 mois)

  • Refonte de l'architecture pour supporter des tâches configurables

  • Système de définition de tâches par l'utilisateur (durée, contraintes, dépendances)

  • Gestion des relations entre tâches (précédence, exclusion mutuelle, parallélisation)

  • Adaptation des solveurs OR-Tools au nouveau modèle

  • Collaboration avec le stagiaire L3 : spécification des API et formats JSON pour l'interface web

  • Tests et validation sur des scénarios complexes

Phase 3 : Expérimentation LLM opensource pour l'optimisation (2.5 mois)

Approche 1 : LLM comme moteur d'optimisation

  • Utilisation de LLM opensource (Llama 3, Mistral, Qwen, ou Oratio de l'URCA)

  • Déploiement local ou sur infrastructure URCA

  • Développement de prompts adaptés au problème de planification

  • Techniques de "chain-of-thought" pour la résolution par étapes

  • Mécanismes de validation et correction des solutions générées

Approche 2 : LLM comme assistant à l'optimisation

  • Génération automatique de contraintes OR-Tools à partir de descriptions en langage naturel

  • Suggestion de stratégies d'optimisation par analyse du problème

  • Détection et résolution de conflits via LLM

  • Post-optimisation guidée par IA (ajustements fins)

Approche 3 : Approche hybride

  • Combinaison OR-Tools + LLM

  • OR-Tools pour la structure globale, LLM pour les décisions locales

  • Utilisation du LLM pour échapper aux optima locaux

Phase 4 : Évaluation et intégration 

  • Benchmarking des différentes approches

  • Métriques : qualité des solutions, temps de calcul, satisfaction des contraintes

  • Intégration avec l'interface web : tests end-to-end avec le travail du stagiaire L3

  • Analyse des forces et faiblesses de chaque méthode

  • Recommandations pour l'utilisation en production

Technologies

Existant :

  • Python 3.x, OR-Tools (CP-SAT, VRP)

  • PHP 8+, MySQL 8.0+, RedBeanPHP

  • HTML5, CSS3, JavaScript

À explorer :

  • LLM opensource : Llama 3.x, Mistral 7B/8x7B, Qwen, Oratio (URCA)

  • Frameworks : LangChain, LlamaIndex pour orchestration

  • Fine-tuning : LoRA/QLoRA si pertinent pour des données de planification

  • Hardware : GPUs disponibles au Centre de calcul URCA

Coordination avec le stagiaire L3

  • Réunions hebdomadaires de coordination

  • Définition des API REST pour l'échange de données

  • Spécification des formats JSON (tâches, contraintes, résultats)

  • Tests d'intégration conjoints

  • Documentation partagée

Résultats attendus

Techniques :

  • Système étendu fonctionnel avec tâches modulaires

  • Implémentation de plusieurs approches LLM opensource

  • Méthodologie de comparaison et benchmarks

  • Intégration complète avec l'interface web

Scientifiques :

  • Analyse comparative des approches (classiques vs IA vs hybrides)

  • Identification des cas d'usage optimaux pour chaque méthode

  • Publication potentielle ou rapport technique détaillé

Compétences développées

  • Optimisation combinatoire avancée

  • Architecture logicielle et refactoring

  • Déploiement et utilisation de LLM opensource

  • Prompt engineering avancé

  • Évaluation scientifique et benchmarking

  • Recherche appliquée en IA

  • Coordination de projets et travail en équipe

Livrables

Code :

  • Système étendu avec tâches modulaires

  • Implémentations des différentes approches LLM

  • API documentée pour l'interface web

  • Suite de tests et benchmarks

  • Documentation technique complète

Scientifiques :

  • État de l'art documenté

  • Rapport d'expérimentation avec analyses comparatives

  • Mémoire de M2

Produits :

  • Guide d'utilisation du système étendu

  • Documentation API pour les développeurs

  • Recommandations pour le passage en production

Contact :

romeo@univ-reims.fr

Toutes les actualités, formations et événements