• Aucun résultat trouvé

CHAPITRE 2 REVUE DE LITTÉRATURE

2.3 Problèmes d’optimisation

2.3.2 Généralités sur les méthodes d’optimisation

Tout d’abord, il n’existe pas d’algorithme d’optimisation meilleur que les autres en général. En effet, l’article de Wolpert et Macready [Wolpert et Macready, 1997] montre, par les théorèmes NFL (No Free Lunch), que quel que soit l’algorithme d’optimisation choisi, sa réponse moyenne face à tous les problèmes d’optimisation possibles et imaginables sera la même que n’importe quel autre algorithme. On en déduit la caractéristique contre intuitive suivante que, en moyennant sur tous les problèmes d’optimisation possibles, un algorithme sélectionnant des candidats x au hasard obtiendrait, en moyenne, des résultats équivalents à une méthode bien plus élaborée.

Cette remarque préliminaire permet d’insister sur le fait que la méthode d’optimisation idéale est fortement liée au problème étudié. Il faut donc, d’une part, étudier les propriétés de la fonction objectif et des contraintes, et, d’autre part, prendre en compte les intentions de l’étude.

Concernant les propriétés de la fonction objectif, on peut tout d’abord catégoriser les problèmes se-lon la difficulté croissante suivante : linéaire, quadratique, convexe, différentiable mais non convexe, non différentiable et non convexe. La Figure 2.14 expose ces 5 cas de figure en une dimension. Par ailleurs, la valeur de J(x) peut être perturbée rendant l’accès au gradient impossible. Dans le cas général, cela revient à écrire :

J(x)= Jth(x)+ φ , (2.38)

où Jth est la fonction objectif que l’on voudrait évaluer, et φ la perturbation qui diffère à chaque évaluation de J indépendamment de x.

Figure 2.14 De gauche à droite et de haut en bas, une fonction linéaire, quadratique, convexe, différentiable mais non convexe, non différentiable et non convexe.

Enfin, l’obtention de J peut être particulièrement coûteuse en temps de calcul si le calcul fait in-tervenir des simulations numériques. On parle alors de boite noire, car l’algorithme d’optimisation n’a pas accès à la formule analytique de J.

Les besoins de l’étude orientent aussi le choix de la méthode. En effet, si on désire améliorer une solution x existante, sachant que l’optimum est proche de la solution courante, on optera pour une méthode d’optimisation locale. Si, au contraire, on souhaite explorer le champ des possibles afin d’obtenir une solution pertinente, on s’orientera vers des méthodes d’optimisation globales. L’équilibre entre exploration et exploitation du problème est un paramètre clé des méthodes d’opti-misation qui doit être contrôlé finement. En outre, certaines situations requièrent la solution exacte du problème d’optimisation, alors que dans d’autres cas une solution quasi-optimale est acceptable (méthodes heuristiques).

Méthodes d’optimisation

Une revue exhaustive de toutes les méthodes d’optimisation sort complètement du cadre de cette thèse. Cependant, on cherchera à donner une image raisonnablement fidèle des méthodes associées à chaque problème décrit précédemment.

[Dant-zig, 1990] se révèle très performante. Les méthodes de points intérieurs [Mehrotra, 1992] concur-rencent la méthode du simplexe depuis les années 80. Les problèmes d’optimisation linéaires sont souvent confrontés à des espacesΩ de plusieurs milliers de dimensions.

Les problèmes quadratiques et convexes sont majoritairement traités par un des deux paradigmes suivants : la recherche linéaire ou les régions de confiance [Nocedal et Wright, 2006]. Ce sont tous deux des groupes de méthodes partant d’une solution x0 initiale, qui évoluent itérativement vers la solution x. La différence réside dans la façon dont l’on passe de la solution courante xk à la solution suivante xk+1.

La recherche linéaire impose une direction p dans l’espace Ω, puis recherche le pas optimal mi-nimisant au mieux la fonction J dans cette direction. La direction choisie doit être une direction de descente de J, et chaque méthode de recherche linéaire s’appuie sur une direction de descente différente.

La méthode la plus connue est celle de la plus grande pente. En supposant que l’on a un problème différentiable de dérivée continue, on peut calculer le gradient de J : ∇J. Si on linéarise la fonction objectif par son développement de Taylor à l’ordre 1, la direction de plus grande pente à l’itération k, pk est :

pk = −∇J(xk)/ k∇J(xk)k . (2.39)

La prochaine solution xk+1suivra donc la direction pk:

xk+1= xk+ αk pk . (2.40)

La méthode de Newton repose sur le développement de Taylor à l’ordre 2 de la fonction objectif (il faut donc que la matrice hessienne de J existe) :

J(x+ p) ≈ J(x) + pT

∇J(x)+ 1/2 pT2J(x)p= Λx∇2(p) . (2.41) La direction minimisantΛx∇2(p) est la direction de Newton :

pk = −(∇2

J(xk))−1∇J(xk) . (2.42)

Par ailleurs, étant donné le modèleΛx∇2(p) sur lequel s’appuie cette direction, le pas naturel αk de l’Équation 2.40 est de longueur 1.

inver-sible ou mal conditionnée, il peut être trop coûteux d’obtenir avec fiabilité pk. Dans les années 50, Davidon eut besoin de dépasser cette difficulté, compte tenu des faibles performances des ordina-teurs de l’époque. Il initia alors les méthodes dites de quasi-Newton [Davidon, 1991] qui estiment à chaque itération une matrice Bk, à partir du gradient de J, qui partage un certain nombre de propriétés avec la matrice ∇2J(xk). Ainsi, la direction pk prend la forme :

pk = −(Bk)−1∇J(xk) . (2.43)

Cette méthode donna naissance à trois algorithmes de référence : la méthode BFGS (Broyden, Fletcher, Goldfarb, Shanno), la méthode SR1 (symmetric rank 1) et la méthode DFP (Davidon, Fletcher, Powell) [Nocedal et Wright, 2006].

Par ailleurs, on peut noter que certaines méthodes de quasi-Newton essaient plutôt de définir Hk = B−1

k , afin de ne pas avoir à inverser Bk pour trouver la direction pk.

Enfin, la méthode du gradient conjugué non linéaire [Nocedal et Wright, 2006] est un pan incon-tournable de l’optimisation des fonctions quadratiques, permettant par conséquent de résoudre des systèmes linéaires immenses très rapidement. En effet, minimiser le problème quadratique suivant :

min x∈Ω J(x)= 1 2x T Ax − bTx, (2.44) revient à résoudre ∇J = 0 ⇔ Ax − b = 0 ⇔ Ax = b .

La direction de descente de la méthode du gradient conjugué est :

pk = −∇J(xk)+ βkpk−1 , (2.45)

où βk est un scalaire choisi de telle sorte que pk et pk−1 soient conjuguées, c’est à dire :

pkApk−1 = 0 . (2.46)

Pour ces quatre méthodes de la plus grande pente, de Newton, de quasi-Newton, et du gradient conjugué, il faut résoudre un problème d’optimisation subalterne afin de déterminer le pas αk à chaque itération. En effet, une fois la direction pk choisie, il faut trouver :

αk = argmin

α∈R J(xk+ αpk). (2.47)

approcher une solution αkacceptable avec l’algorithme de backtracking [Nocedal et Wright, 2006]. A contrario, les méthodes basées sur les régions de confiance recherchent, tout d’abord, une dis-tance maximale∆kentre la prochaine solution xk+1et la solution courante xkEnsuite, ces méthodes résolvent le sous-problème homologue à celui décrit par l’équation 2.47, concernant cette fois-ci la direction optimale :

pk = argmin

p∈R

ΛxkB(p), kpk< ∆k, (2.48)

avecΛxkB le modèle choisi pour décrire la fonction objectif. Le rayon maximal∆k est déterminé par l’étude du ratio :

ρk = J(xk−1) − J(xk−1+ pk−1)

Λxk−1B(0) −Λxk−1B(pk−1). (2.49)

Ce ratio compare la réduction réelle de la fonction objectif par rapport à la réduction du modèle ΛxkB, obtenue à l’itération courante. Si le ratio est proche de 1, alors le modèle est jugé fiable et on peut choisir un rayon maximal∆k large autour de la solution courante xk.

La classe des problèmes non convexe, non différentiable est considérée comme la plus difficile à traiter, car aucune information autre que la valeur de J n’est accessible, et le risque lié au blocage de l’algorithme itératif dans une zone peu pertinente est important.

En pratique, une fonction objectif peut être considérée non différentiable pour trois raisons : — sa formule analytique est non différentiable,

— le gradient est trop coûteux à calculer (boite noire, procédés numériques longs ou complexes), — la mesure de la fonction objectif est perturbée à cause de mesures expérimentales ou de

Il existe trois grandes familles d’algorithmes d’optimisation sans gradient : — la recherche directe,

— les modèles de la fonction objectif,

— les métaheuristiques inspirées par la nature (naturally-inspired metaheuristic).

Recherche directe

À une certaine itération, la plupart des algorithmes de recherche directe construit une liste de di-rections autour de l’actuelle meilleure solution x. Les prochaines solutions testées s’appuient sur une de ces directions. Après un certain nombre d’essais, si une solution améliore la valeur de la fonction objectif, alors l’algorithme se recentre sur cette nouvelle solution et recommence l’étape de recherche, en agrandissant la distance de recherche. Au contraire, si aucune solution améliore la fonction objectif, la distance de recherche est réduite et on itère de nouveau.

Parmi les méthodes de recherche directe, on compte l’algorithme “coordinate search” [Gill et al., 1981; Fletcher, 1987]. Les directions sélectionnées par cet algorithme sont les vecteurs d’une base orthonormale deΩ. L’algorithme de recherche aléatoire [Rastrigin, 1964] sélectionne des directions aléatoires sur une hypersphère centrée sur l’optimum courant. Les algorithmes dits “pattern search” déterminent un ensemble de directions pouvant varier au cours des itérations [Hooke et Jeeves, 1961; Lewis et Torczon, 1999; Audet et J. E. Dennis, 2006; Lewis et al., 2007]. L’algorithme de Nelder-Mead repose sur l’évolution d’un simplexe dans l’espaceΩ. Sa forme varie selon les moins bonnes valeurs de la fonction objectif associées à ses angles. Les algorithmes Branch-and-bound [Pintér, 2013] et DIRECT [Jones et al., 1993] travaillent sur des partitions du domaineΩ.

Modèle de la fonction objectif

Le fonctionnement général des méthodes par modèle de la fonction objectif repose sur 4 étapes : — la fonction objectif est modélisée de manière interpolante ou non à partir de quelques

éva-luations de la fonction objectif sur le domaineΩ,

— un problème d’optimisation associé au modèle est défini, afin de déterminer la prochaine solution à évaluer,

— la fonction objectif est évaluée sur cette nouvelle solution proposée,

— le modèle de la fonction objectif est actualisé avec la nouvelle valeur, et les quatre étapes sont répétées.

Powell [Powell, 1994] introduit une méthode d’optimisation basée sur des régions de confiance modélisant la fonction objectif par une fonction linéaire. Il existe des travaux similaires basés sur des fonctions quadratiques [Powell, 2002, 2006; Conn et al., 1997b,a]. Les méthodes d’implicit filtering cherchent à modéliser le gradient de la fonction objectif [Gilmore et Kelley, 1995; Winslow et al., 1991]. Le krigeage [Matheron, 1963] et la méthode EGO [Jones et al., 1998; Schonlau, 1998; Morgans et al., 2007; Davins-Valldaura et al., 2017], faisant partie des méthodes de surfaces de réponse, modélisent la fonction objectif à partir de processus gaussiens. Les méthodes de surfaces de réponse sont nombreuses, on peut encore citer les surfaces de réponse polynomiales [Hosder et al., 2001] et les bases de fonctions radiales [Powell, 1999].

Métaheuristiques inspirées par la nature

Ces méthodes se basent sur une métaphore empruntée à un procédé observé dans la nature, afin de dériver des algorithmes d’optimisation sans gradient [Dréo et al., 2006].

Elle se divisent en deux grandes catégories : — l’évolution d’une solution,

— l’évolution d’une population de solutions.

La méthode du recuit simulé [Khachaturyan et al., 1979] est la méthode basée sur l’évolution d’une solution la plus connue. Concernant les algorithmes basés sur l’évolution d’une population, ce sont les algorithmes génétiques [Whitley, 1994] et les algorithmes de nuées de particules [Kennedy, 2011] qui sont les plus utilisés. Malheureusement, cette dernière famille d’algorithme a besoin d’un très grand nombre d’évaluations de la fonction objectif pour arriver à un résultat convaincant. Par conséquent, elles se détachent des deux autres classes qui sont particulièrement adaptées aux problèmes où peu d’itérations sont possibles.