Treffer: egobox, a Rust toolbox for efficient global optimization
egobox, une bibliothèque Rust pour l'optimisation globale efficace
collection:ONERA-MIP
collection:DTIS_ONERA
Weitere Informationen
Efficient global optimization (EGO) algorithms are used to tackle design optimization problems that involve computationally costly models (Jones et al., 1998). Basically, the idea is to use Gaussian process regression to approximate the objective function and use probabilistic information to select the promising next point where the optimum could be located. Starting from that, one still has to tackle numerous challenges regarding the dimensionality, multi-modality and computation time. Different algorithms have been developed to overcome these hurdles (Bartoli et al., 2019; Dubreuil et al., 2020). A key component of such surrogatebased algorithms is the existence of an implementation of Gaussian process regression also known as kriging method (Bouhlel et al., 2016). The Surrogate Modeling Toolbox (Bouhlel et al., 2019; smtorg, 2018) library addresses such concerns using the Python programming language. The egobox library provides such key component to the Rust machine-learning community while focusing on adaptative global optimization.
Les algorithmes du type EGO (Efficient Global Optimization) sont utilisés pour attaquer des problèmes d'optimisation qui impliquent des fonctions objectif couteuses. Fondamentalement il s'agit d'utiliser des processus gaussiens pour approximer une fonction objectif et utiliser l'information statistique pour sélectionner les points prometteurs où l'optimum réside. A partir de là, les défis (dimension, non-linéarités ou temps de calculs) sont nombreux. Différents algorithmes ont été développés pour débloquer ces verrous. Un composant clé de ce type d'algorithmes est l'existence d'une implémentation de la régression par processus gaussien. la bibliothèque SMT (Surrogate Modeling Toolbox) répond à ce besoin en utilisant Python. La bibliothèque egobox fourni ce composant clé à la communauté machine learning Rust en se focalisant sur l'utilisation pour l'optimisation globale adaptative.