Arbre de décision logiciel
18 novembre 2010
Soit fune fonction à minimiser, quels logiciels open source choisir?
Il existe un très grand nombre d’algorithmes disponibles gratuitement sur in-
ternet. Mais bien entendu, il n’existe pas d’algorithme miracle résolvant tous les
problèmes. C’est pourquoi avant d’utiliser un algorithme d’optimisation, il est très
important de identifier le type de problème que l’on désire résoudre afin de choi-
sir l’algorithme le plus adapté. Voici quelques éléments permettant d’orienter ce
choix.
1 Optimisation locale sans contrainte : minxRnf(x)
Si fest deux fois continûment différentiable, sans gradient ni hessienne
disponible,
fest seulement Lipschitz continue et de dimension raisonnable (quelques
centaines),
le gradient de fest disponible (soit par calcul direct, soit par différences-
finies) et la dimension raisonnable (quelques centaines),
fest convexe et différentiable et de grande dimension,
fgénérale, de grande dimension mais sans comportement "piégeux",
ffortement non-quadratique et de grande dimension,
fest bruitée,
fest coûteuse à évaluer.
1
1.1 Si fest deux fois continûment différentiable, sans gradient
ni hessienne disponible
Méthode de pattern search basée sur des interpolations/approximations quadra-
tiques ou polynomiales
NEWUOA : méthode d’optimisation par approximation quadratique sans
contraintes (f77),
BOBYQA : méthode d’optimisation par approximation quadratique avec
contraintes de type "boîte" (f77),
DFO : méthode d’optimisation sans dérivée par approximation quadratique
et résolution par méthode de région de confiance (f77, Matlab),
WEDGE : méthode d’optimisation par interpolation avec région de confiance,
en moyenne dimension (Matlab),
MCToolbox algorithme de Nelder-Mead (Matlab).
1.2 fest seulement Lipschitz continue et de dimension raison-
nable (quelques centaines)
GradSamp : Non-lisse, non-convexe, optimisation par échantillonnage de
gradient (Matlab),
HANSO : algorithme hybride pour l’optimisation non-lisse, non-convexe
utilisant les mises à jour de quasi-Newton et l’echantillonage de gradient
(Matlab),
SolvOpt : Solveur pour problèmes non-lisses sans ou avec contraintes (Mat-
lab, f90 and C),
OBOE : méthode d’optimisation pour problèmes convexes utilisant un sol-
veur de points intérieurs annexe (C++).
1.3 le gradient de fest disponible (soit par calcul direct, soit
par différences-finies) et de dimension raisonnable
Méthode de pattern search, quasi-Newton, BFGS ou région de confiance
netlib/toms/500 : implémentation de BFGS et du gradient conjugué,
netlib/toms/611 : méthode de région de confiance utilisant BFGS,
netlib/toms/739 : méthode de quasi-Newton pour ffortement non quadra-
tique,
NMTR : méthode de région de confiance,
csminwel : implémentation particulière de BFGS dédiée aux cas fest
non-lisse (Matlab).
2
1.4 fest convexe et différentiable, de grande dimension
netlib/opt/ve08: méthode spéciale de quasi-Newtondans le cas fest une
somme de fonctions convexes, chacunes dépendant de peu de variables,
NESTA : Méthode de Nesterov.
1.5 fgénérale, de grande dimension mais fsans comporte-
ment "piégeux"
netlib/toms/630 : méthode de quasi-Newton et de gradient conjugué,
MINPACK-2: une autre méthode de quasi-Newton, résolution de problème
de moindre carré,
LBFGS : une méthode de quasi-Newton utilisant une représentation matri-
cielle avantageuse d’un point de vue mémoire (Java, f90,C++, Delphi, VB6,
Matlab),
CG+ : implémentations classiques du gradient conjugué,
LM : méthodes d’optimisation sans contraintes et contraintes de boîtes (f90).
1.6 ffortement non-quadratique et de grande dimension
netlib/opt/tn : méthode de Newton tronquée, basée sur la méthode de Lanc-
zos (C),
netlib/toms/702 : autre implémentation de la méthode de Newton tronquée
basée sur la méthode de Lanczos (C),
TRON : méthode de région de confiance (avec contraintes de boite) utilisant
la direction du gradient conjugué préconditionné,
PL2 : autre implémentation de la méthode de Newton tronquée, basée sur la
méthode de Lanczos dédiée au cas où nest grand.
1.7 fest bruitée
CMA-ES : algorithme évolutionnaire avec Covariance Matrix Adaptation
(Matlab),
SNOBFIT : Stable Noisy Optimization by Branch and FIT (Matlab),
NEWUOA : méthode d’optimisation par approximation quadratique sans
contraintes (f77),
BOBYQA : méthode d’optimisation par approximation quadratique avec
contraintes de type "boîte" (f77),
netlib/opt/subplex : modification de l’algorithme de Nelder-Mead en petite
dimension (Matlab).
3
1.8 fest coûteuse à évaluer
NOMAD : recherche directe, implémentation de l’algorithme MADS (C++),
Spacemap : méthode d’optimisation utilisant les Surrogate Models (Matlab)
DACE : méthode d’optimisation utilisant l’approximation à l’aide de mo-
dèle de Krigeage (Matlab).
DFO : méthode d’optimisation sans dérivée par approximation quadratique
et région de confiance (f77, Matlab),
2 Optimisation avec contraintes
L’optimisation avec contraintes a été extrêmement étudiée ces dernières an-
nées. Actuellement, le projet COIN-OR est sans nul doute celui qui a su fédérer le
plus grand nombre d’algorithmes open sources, dont beaucoup sont actuellement
les plus performants de leur domaine. Ce projet est financé par IBM et met éga-
lement à disposition un serveur gratuit NEOS afin de tester tous les algorithmes
de façon simple directement par une interface web. Un autre avantage est que la
plus part de ces algorithmes disposent d’une interface avec les logiciels AMPL et
GAMS, qui sont actuellement les langages de modélisation les plus utilisés.
COIN-OR : http ://www.coin-or.org
NEOS : http ://www-neos.mcs.anl.gov/
3 Optimisation globale
(se rapporter à l’exposé de Marcel Mongeau pour plus de détails)
Multistart Method
Metaheuristic Methods
Taboo Research, (Glover and Hansen),
Variable Neighborhood Search : VNS, (Mladenovitch and Hansen),
Kangourou Method...
Stochastic Global Optimization Methods
Simulated Annealing, Genetic Algorithms, Evolutionary Algorithms...
Deterministic Global Optimization Methods
Particular structure of problems :
Convex functions + Theory,
Linear programs : Simplex Algorithm (Danzig)
Quadratic programs : (Sherali, Audet, Hansen et al.)...,
More General Problems =Branch and Bound Techniques
Difference of convex or monotonic functions, (Horst and Tuy),
Interval analysis (Ratsheck, Rokne, E. Hansen)...
4
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !