• Aucun résultat trouvé

Que diriez-vous d’un repas gratuit ?

Introduction `a l’optimisation

8.4 Que diriez-vous d’un repas gratuit ?

i=1

[ei(x)]2, (8.14) avec ei(x) diff´erentiable, alors on peut utiliser des d´eveloppements en s´erie de Taylor de la fonction de coˆut, ce qui conduit aux m´ethodes du gradient et de Newton et `a leurs variantes (voir la section 9.3.4).

— Si J(x) n’est pas diff´erentiable, par exemple quand on minimise J(x) =

i |ei(x)|, (8.15) ou J(x) = max v e(x, v), (8.16) alors il faut faire appel `a des m´ethodes sp´ecifiques (voir les sections 9.3.5, 9.4.1.2 et 9.4.2.1). Mˆeme une fonction d’apparence aussi inoffensive que (8.15), qui est diff´erentiable presque partout si les ei(x) le sont, ne peut ˆetre minimis´ee par une m´ethode it´erative fond´ee sur un d´eveloppement limit´e de la fonction de coˆut, car une telle m´ethode se ruera en g´en´eral sur un point o`u la fonction de coˆut n’est pas diff´erentiable pour y rester bloqu´ee.

— Quand J(x) est convexe sur X, on peut exploiter la puissance des m´ethodes d’optimisation convexe, pourvu que X soit aussi convexe. Voir la section 10.7. Remarque 8.6.Le temps n´ecessaire pour une ´evaluation de J(x) a aussi des cons´e-quences sur les types de m´ethodes employables. Quand chaque ´evaluation ne prend qu’une fraction de seconde, des algorithmes ´evolutionnaires ou par exploration al´eatoire peuvent s’av´erer viables. Tel n’est plus le cas quand chaque ´evaluation prend plusieurs heures, par exemple parce qu’elle implique la simulation d’un mod`ele complexe `a base de connaissances, car le nombre d’´evaluations de la fonc-tion de coˆut est alors s´ev`erement limit´e, voir la secfonc-tion 9.4.3. 

8.4 Que diriez-vous d’un repas gratuit ?

Dans le contexte de l’optimisation, un repas gratuit (free lunch), ce serait une m´ethode universelle, capable de traiter n’importe quel probl`eme d’optimisation, ce qui ´eliminerait le besoin de s’adapter aux sp´ecificit´es du probl`eme `a traiter. Ceci aurait pu ˆetre le Saint Graal de l’optimisation ´evolutionnaire, si Wolpert et Macready n’avaient pas publi´e leurs th´eor`emes no free lunch (NFL).

8.4.1 C¸ a n’existe pas

Les th´eor`emes NFL dans [254] (voir aussi [109]) reposent sur les hypoth`eses suivantes :

1. un oracle est disponible, qui retourne la valeur num´erique de J(x) pour n’im-porte quelle valeur num´erique de x appartenant `a X,

2. l’espace de recherche X est fini,

3. la fonction de coˆut J(·) ne peut prendre qu’un nombre fini de valeurs num´eriques,

4. rien d’autre n’est connu de J(·) a priori,

5. Les algorithmesAien comp´etition sont d´eterministes,

6. les probl`emes de minimisationMj qui peuvent ˆetre g´en´er´es sous les hy-poth`eses 2 et 3 ont tous la mˆeme probabilit´e,

7. la performancePN(Ai,Mj) de l’algorithmeAisur le probl`eme de minimi-sationMjpour N points xk∈ X visit´es distincts et ordonn´es dans le temps ne d´epend que des valeurs prises par xket J(xk), k = 1,··· ,N.

Les hypoth`eses 2 et 3 sont toujours satisfaites quand on calcule avec des nombres `a virgule flottante. Supposons, par exemple, qu’on utilise des flottants en double pr´ecision sur 64 bits. Alors

• le nombre repr´esentant J(x) ne peut pas prendre plus de 264valeurs, • la repr´esentation de X ne peut pas avoir plus de (264)dim x ´el´ements, avec

dim x le nombre de variables de d´ecision.

Une borne sup´erieure du nombre]M de probl`emes de minimisation traitables est donc(264)dim x+1.

L’hypoth`ese 4 interdit d’exploiter des connaissances suppl´ementaires ´eventuelles sur le probl`eme de minimisation `a r´esoudre, comme le fait de savoir qu’il est convexe.

L’hypoth`ese 5 est satisfaite par toutes les m´ethodes de minimisation de type boˆıte noire usuelles comme le recuit simul´e ou les algorithmes ´evolutionnaires, mˆeme s’ils semblent impliquer de l’al´eatoire, puisque tout g´en´erateur de nombres pseudo-al´eatoires est d´eterministe pour une graine donn´ee.

La mesure de performance peut ˆetre, par exemple, la meilleure valeur de la fonc-tion de coˆut obtenue jusqu’ici

PN(Ai,Mj) =minN

k=1J(xk). (8.17) Notons que le temps n´ecessaire `a l’algorithme pour visiter N points distincts dans X ne peut pas ˆetre pris en compte dans la mesure de performance.

Nous ne consid´erons que le premier des th´eor`emes NFL de [254], qui peut ˆetre r´esum´e ainsi : pour toute paire d’algorithmes(A1,A2), la performance moyenne sur tous les probl`emes de minimisation est la mˆeme, c’est `a dire que

1 ]M ]M

j=1 PN(A1,Mj) = 1 ]M ]M

j=1 PN(A2,Mj). (8.18) En d’autres termes, si A1 a de meilleures performances queA2 en moyenne sur une s´erie donn´ee de probl`emes de minimisation, alorsA2doitavoir de meilleures performances queA1en moyenne sur tous les autres...

Exemple 8.7.SoitA1un algorithme de descente, qui s´electionne parmi les voisins de xkdans X l’un de ceux au coˆut le plus bas pour en faire xk+1. SoitA2un algo-rithme de mont´ee qui s´electionne `a la place l’un des voisins au coˆut le plus haut, et soitA3un algorithme qui tire xk au hasard dans X. Mesurons les performances par le plus petit coˆut atteint apr`es l’exploration de N points distincts dans X. La performance moyenne de ces trois algorithmes est la mˆeme. En d’autres termes, l’algorithme n’a pas d’importance en moyenne, et le fait de montrer qu’A1 a de meilleures performances qu’A2orA3sur quelques cas tests ne peut contredire ce

fait troublant. 

8.4.2 Vous pouvez quand mˆeme obtenir un repas bon march´e

Aucun algorithme ne peut donc pr´etendre ˆetre meilleur que les autres en termes de performances moyennes sur tous les types de probl`emes. Pire, on peut prouver avec des arguments de complexit´e que l’optimisation globale est impossible dans le cas le plus g´en´eral [169].

Il faut tout de mˆeme noter que la plupart des]M probl`emes de minimisation sur lesquels les performances moyennes sont calcul´ees par (8.18) n’ont aucun int´erˆet du point de vue des applications. On a en g´en´eral affaire `a des classes sp´ecifiques de probl`emes de minimisation, pour lesquels certains algorithmes sont en effet meilleurs que d’autres. Quand la classe des probl`emes `a consid´erer est r´eduite, mˆeme l´eg`erement, certains algorithmes ´evolutionnaires peuvent ˆetre pr´ef´erables `a d’autres, comme le montre [60] sur un exemple jouet. Des restrictions suppl´emen-taires, comme de requ´erir que J(·) soit convexe, peuvent ˆetre jug´ees plus coˆuteuses mais permettent d’utiliser des algorithmes beaucoup plus puissants.

L’optimisation continue sans contrainte sera consid´er´ee en premier, au chapitre 9.

8.5 En r´esum´e

— Avant d’entreprendre une optimisation, v´erifiez que cela fait sens pour le probl`eme qu’il s’agit de traiter.

— On peut toujours transformer un probl`eme de maximisation en un probl`eme de minimisation, de sorte qu’il n’est pas restrictif de ne consid´erer que des minimisations.

— Il est utile de distinguer minima et minimiseurs.

— On peut classifier les probl`emes d’optimisation suivant le type du domaine admissible X pour leurs variables de d´ecision.

— Le type de la fonction de coˆut a une influence forte sur les classes de m´ethodes d’optimisation utilisables. Les fonctions de coˆut non diff´erentiables ne peuvent ˆetre minimis´ees en utilisant des m´ethodes fond´ees sur un d´evelop-pement de Taylor de la fonction de coˆut.

— La dimension de vecteur de d´ecision x est un facteur cl´e `a prendre en compte dans le choix d’un algorithme, `a cause de la mal´ediction de la dimension. — Le temps n´ecessaire pour une ´evaluation de la fonction de coˆut doit aussi ˆetre

pris en consid´eration. — Il n’y a pas de repas gratuit.