La ROADEF
La R.O.A.D
Evénements
Prix
Publications
Plus
Forums
Connexion
Livre blanc

Offre de stage - Artelys Knitro : Validation et tuning

Forum 'Stages' - Sujet créé le 2016-12-20

Artelys

Artelys est une entreprise en forte phase de croissance spécialisée en optimisation, aide à la décision et modélisation. Grâce à une expertise de haut niveau dans les techniques quantitatives, ses consultant(e)s conçoivent et mettent en oeuvre les solutions les mieux adaptées aux besoins de leurs clients. Ils interviennent dans des secteurs d'activité diversifiés : énergie, logistique & transport, télécommunications, finance et défense.

Artelys Knitro
Artelys met également en oeuvre son expertise en optimisation pour développer des solveurs, en particulier Artelys Knitro, solveur de référence pour l’optimisation non-linéaire et black-box1. Artelys Knitro embarque de nombreux algorithmes pour l’optimisation non-linéaire et non-linéaire en nombres entiers et dispose d’un grand nombre de paramètres permettant de le configurer.
En optimisation non-linéaire, les problèmes sont souvent non-convexes. Il existe alors plusieurs optima locaux. Des améliorations dans le solveur ou un paramétrage différent peuvent aboutir à l’obtention de solutions différentes et de temps de calculs très variables. Se pose alors la question de l’évaluation des performances du solveur : dans ce contexte multi-objectif, comment définir un critère permettant d’évaluer si des changements ont permis « d’améliorer » la résolution ?

Sujet du stage
L’un des volets du stage, vise à répondre à cette question en mettant en place une métrique permettant d’évaluer les performances du solveur. Le stagiaire évaluera cette métrique sur un ensemble d’instances et pour des paramétrages différents du solveur et la mettra en place, en interne dans le système d’intégration continue utilisé pour Knitro (Jenkins, CMake, CTest). Elle sera utilisée par la suite pour évaluer les impacts des nouveaux développements du solveur. Elle pourra également être utilisée dans le solveur, pour le tuner.
Le paramétrage (tuning) des solveurs d’optimisation non-linéaire est essentiel pour une résolution efficace et ne peut être réalisé dynamiquement pour chaque instance, en raison du peu d’information dont dispose le solveur. Il est important par ailleurs de rendre accessibles ces options à des utilisateurs non-experts. A cette fin, Artelys Knitro dispose d’un tuner permettant de tester automatiquement les combinaisons d’options les plus courantes.
Le second objectif du stage sera de développer un tuner permettant de trouver automatiquement et de sélectionner un ensemble de paramètres le plus performant possible pour un ensemble d’instances, fournies par l’utilisateur. Afin d’être le plus efficace possible, ce tuner pourra utiliser des algorithmes combinatoires (e.g. algorithmes génétiques) et des techniques d’apprentissage renforcé (statistiques, machine learning). Cet algorithme, sera utilisé en premier lieu afin d’identifier des ensembles de paramètres performants et de classifier les instances en les associant à des jeux de paramètres standards. A terme, il pourrait également être intégré au tuner de Knitro.

Profil recherché
En dernière année d’école d’ingénieur ou master en optimisation, le candidat est sérieux, curieux et désireux d’approfondir ses connaissances en optimisation mathématique et développement informatique.
L’étudiant dispose déjà d’un socle de connaissances solides en optimisation (en particulier combinatoire et/ou non-linéaire) et fait preuve d’un intérêt marqué pour les techniques d’optimisation mathématique en général. Par ailleurs, le candidat a déjà réalisé de nombreux projets de développement et dispose de connaissances approfondies en informatique.
La connaissance de plusieurs algorithmes et méta-heuristiques classiques pour l’optimisation combinatoire, des techniques d’optimisation multi-objectif et des techniques de machine learning seront des plus mais ne sont pas forcément indispensables.
Les développements seront réalisés en C ou C++ avec des critères importants de qualité logicielle. Une connaissance de CMake et CTest sera utile sans être un prérequis pour autant. La durée du stage est de 3 à 6 mois et le stage s’effectuera dans nos bureaux à Paris. Le stage pourra donner lieu à une offre d’embauche.

Candidature

Envoyez-nous votre lettre de motivation et curriculum vitae via le site web d’Artelys : www.artelys.com/fr/artelys/candidature