L'objectif de ce stage est de réaliser une analyse des possibilités d'optimisation de séquences réalisées dans les produits KNDS au travers de l'automatisation de différents services.
Les nouvelles possibilités offertes par les algorithmes hybrides d'intelligence artificielle et d'optimisation sont des opportunités d'apporter de nouvelles capacités et de nouveaux services aux utilisateurs de nos systèmes.
Le sujet se rapporte à la problématique suivante :
On considère un entrepôt dans lequel les opérations de prélèvements des produits sont réalisés par une flotte de robots non homogènes. Le but de ce projet est d'optimiser en temps réel les opérations de prélèvements. Plus précisément à un instant donné, les robots se situent à des positions connues dans l'entrepôt et une liste de requêtes à traiter est connue. Une requête consiste à prélever un produit à une position donnée et à le transporter jusqu' à un point prédéterminé de l'entrepôt. L'objectif est d'affecter les requêtes aux robots en tenant compte :
- de leurs priorités
- des temps de traitement : chaque robot ne prend en compte qu'une requête à la fois
- de la compatibilité entre les robots et les produits à prélever.
On suppose que le nombre de requêtes est supérieur au nombre de robots et qu'après un certain laps de temps les requêtes disparaissent si elles n'ont pas été satisfaites.
L'objectif est de maximiser la priorité totale des requêtes traitées au cours d'une durée fixée a priori. Dans un premier temps on considèrera le cas dynamique où seules les requêtes connues sont ordonnancées. Dans un second temps, on se placera dans le cas dynamique stochastique où une estimation des requêtes à venir sera effectuée et prise en compte.
Le but de ce stage est de concevoir et d'implémenter un algorithme qui combinera des techniques d'optimisation et d'intelligence artificielle.
L'approche proposée sera validée sur des données générées aléatoirement mais également dans le cadre d'un démonstrateur.
Le stage sera encadré par KNDS en partenariat avec l'INRIA et pourra idéalement déboucher sur une thèse.
Vous êtes étudiant en dernière année d'école d'ingénieur spécialité informatique ou électronique et vous maitrisez les langages Python, C/C++ et l'OS Linux.
Vous êtes autonome, rigoureux et doté d'un bon relationnel et d'un fort esprit d'équipe.
Vous êtes intéressé par les domaines suivants : Informatique embarquée, benchmarks, intelligence artificielle, recherche opérationnelle et vous avez une appétence pour les algorithmes d'optimisation et sur les solveurs de contraintes.
Un niveau d'anglais professionnel est requis pour ce stage.