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
œuvre 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 met également en œuvre 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-box 1 . 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 ?
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.
Lieu
Arthelys - Paris
Thématiques
Encadrant
Nathalie Faure
Référent universitaire
Safia Kedad-Sidhoum
Fichier descriptif
Document
knitro-stage-v3.pdf
(277.54 Ko)
Tags
Attribué
Non
Année
2017