Profil | Etudiant.e niveau fin de bac ou master |
Prérequis | Bonne maîtrise de la programmation et affinités marquées pour l’algorithmique. Bases en programmation fonctionnelles. (en particulier Scala) |
Durée | Minimum 12 semaines, possibilité de stage étendu (4 mois) avec phase d’apprentissage des bases nécessaires de Scala. |
L’adéquation du candidat sera validée préalablement au démarrage du stage, et le sujet peut être ajusté au stagiaire si nécessaire.
OscaR.cbls est un moteur d’optimisation par recherche locale basé sur des contraintes qui est développé par le CETIC en Scala. OscaR.cbls est open source, sous licence LGPL. OscaR.cbls dispose d’un moteur d’optimisation de routage à l’état de l’art.
L’objectif du stage est d’explorer la possibilité de faire du routage de véhicule progressif.
Contrairement à un TSP classique, le problème d’optimisation n’est pas connu dans sa totalité à l’avance. Au lieu de cela, les points à atteindre sont ajoutés petit à petit, et l’algorithme de routage doit à tout moment proposer une solution partielle qui tienne compte des points connus et d’une distribution géographique des points à venir. Cette solution partielle doit spécifier la tâche à accomplir : aller à un point ; attendre, etc.
Le stage se basera sur une approche simple consistant à traduire le problème partiel avec points inconnus en un problème complet où on rajoute des points fictifs représentant la demande future. Le problème complet se traite facilement à l’aide d’OscaR.cbls en utilisant des scripts déjà disponibles.
Le/la stagiaire devra :
L’objectif du stage est de produire un PoC, donc de se focaliser sur la fonctionnalité en simplifiant le problème le plus possible.
Il est prévu que le/la stagiaire aie du temps et de l’encadrement pour apprendre le langage Scala et le moteur OscaR.cbls. Tout le travail sera encadré, mais nécessitera un minimum d’autonomie.
Le stage se déroulera dans le département d’algorithmique combinatoire du CETIC (COAL) comprenant 5 personnes dont 4 PhD et un Master en IT.
Contact : Renaud De Landtsheer