POURQUOI REJOINDRE ARTELYS ?
Au sein de la suite Artelys Crystal, Artelys a développé un moteur d’optimisation intégrant entre autres des algorithmes pour le dimensionnement de grands systèmes électriques. Ce moteur de calcul est ainsi capable de résoudre des grands problèmes en s’appuyant sur des techniques poussées de Recherche Opérationnelle, implémentées avec une forte exigence d’efficacité numérique et utilisant du calcul parallèle. Nous développons actuellement des algorithmes pour le dimensionnement de grands systèmes électriques, s’appuyant sur des techniques de décomposition. Edité entièrement par Artelys, Artelys Knitro est un des solveurs d’optimisation non-linéaire les plus avancés au monde, et utilisé par des centaines d’entreprises, universités et laboratoires de recherche.
SUJET DE STAGE
Le cœur de calcul de la suite logicielle Artelys Crystal embarque un moteur de calcul capable d’optimiser la production des systèmes énergétiques au meilleur cout compte tenu de l’ensemble des contraintes du système. Ce moteur de calcul est capable de résoudre différents types de problèmes :
Optimisation du système énergétique continental par filières (optimisation linéaire)
Optimisation des investissements dans le système énergétique ; investissements dans les moyens de production de stockage et/ou de transmission (optimisation linéaire + algorithme de décomposition)
Optimisation d’un ensemble d’unités de production (optimisation linéaire avec nombres entiers)
Le dernier problème est communément appelé « Unit Commitment problem» et doit prendre en compte certaines caractéristiques physiques des centrales de production (Puissance minimale, démarrage à chaud/à froid, temps minimal d’arrêt, etc.) qui induit l’utilisation de nombres entiers qui peut rendre la résolution de ce problème compliqué.
Artelys souhaiterait explorer de nouvelles méthodes d’optimisation dans un but d’amélioration les performances du cœur de calcul sur certains problèmes.
Ce stage porte donc sur la recherche et mise en œuvre de telles méthodes, couplées ou non à l’utilisation du solveur type FICO Xpress, afin de résoudre le problème de « unit commitment ». Il est attendu que le/la stagiaire réalise les tâches suivantes :
Revue de la littérature sur les méthodes envisagées
Implémentation et comparaison des différentes méthodes sélectionnées
Tests de performances sur des instances du problème
Participation au choix des méthodes mathématiques et à la définition des algorithmes d’optimisation permettant de couvrir les besoins fonctionnels émanant de nos consultants et de nos clients.
Conception et implémentation de ces solutions, avec une forte exigence d’efficacité numérique.
Test et validation des implémentations. A cette fin, l’équipe dispose d’un accès exclusif à des machines dédiées au calcul parallèle.
PROFIL RECHERCHE
En cursus ingénieur ou master en informatique avec une spécialisation en Mathématique/Informatique, vous êtes curieux(se) et désireux(se) d’approfondir vos compétences en optimisation et en informatique. Rigoureux(se) et passionné(e), vous faites preuve d'initiative et d'imagination et possédez déjà une aisance en programmation.
Compétences requises :
Méthodes numériques d’optimisation : programmation linéaire, solveurs MIP
Recherche opérationnelle
Programmation : C++, Python
Compétences appréciées :
Méta-heuristiques
Méthodologies de benchmarking
Compilation
Vous serez amené(e) à collaborer avec les équipes techniques et fonctionnelles, dans un environnement international. De bonnes qualités de communication et une maîtrise de l’anglais seront donc aussi utiles.