R
EVUE FRANÇAISE D’
AUTOMATIQUE,
INFORMATIQUE,
RECHERCHE OPÉRATIONNELLE
. R
ECHERCHE OPÉRATIONNELLEO DILE M IGNOTTE
Méthode de recherche d’un extremum d’une fonction monodimensionnelle
Revue française d’automatique, informatique, recherche opé- rationnelle. Recherche opérationnelle, tome 9, noV2 (1975), p. 113-123
<http://www.numdam.org/item?id=RO_1975__9_2_113_0>
© AFCET, 1975, tous droits réservés.
L’accès aux archives de la revue « Revue française d’automatique, in- formatique, recherche opérationnelle. Recherche opérationnelle » implique l’accord avec les conditions générales d’utilisation (http://www.numdam.org/
conditions). Toute utilisation commerciale ou impression systématique est constitutive d’une infraction pénale. Toute copie ou impression de ce fi- chier doit contenir la présente mention de copyright.
Article numérisé dans le cadre du programme Numérisation de documents anciens mathématiques
http://www.numdam.org/
R.A.I.R.O.
(9e année, juin 1975, V-2, p. 113 à 123)
METHODE DE RECHERCHE D'UN EXTREMUM D'UNE FONCTION MONODIMENSIONNELLE (*)
par Odile MIGNOTTE (X)
Résumé. — On cherche à déterminer Vextremum d'une fonction unimodale sur un intervalle — une nouvelle méthode de recherche est proposée, dont les performances sont comparables aux meilleures méthodes connues (recherche de Fibonacci ou du Nombre d'Or). II s*agit d'une méthode dynamique, en ce sens que la stratégie adoptée varie en fonction des informations recueillies durant les essais antérieurs. Cette variation repose sur des considérations de nature probabiliste.
Je tiens à exprimer ma gratitude à M. le Professeur Vignes pour ses conseils et ses encoura-
EVTRODUCTION
Soit ƒ une fonction réelle d'une variable réelle, unimodale sur un intervalle [a, 6], £ > 0 étant fixé, il s'agit de déterminer un intervalle de longueur 8 qui contienne un point m tel que ƒ (m) soit maximal (ou minimal).
On choisit n + 1 points x0 = a < xx < x2 < ••• < xn_1 < xn = b de l'intervalle initial. La comparaison des ƒ {x^ permet de situer m dans l'inter- valle de type [xis xi + 1] ou [xiy xi + 2]. Et ainsi de suite.
Pour des points JC(- régulièrement espacés nous montrons que les cas opti- maux sont n = 3 et n = 4. Pour ces valeurs de n, nous chercherons la meilleure disposition possible des x(. Notre recherche sera illustrée par de nombreux exemples calculés sur machine.
(*) Reçu avril 1974.
(1) CNAM, Chaire d'Informatique.
Revue Française d'Automatique, Informatique et Recherche Opérationnelle, n° juin 1975, V-2
114 O. MIGNOTTE
I. PRÉSENTATION DE LA MÉTHODE 1. Préliminaires
Nous nous limiterons à la recherche d'un maximum. Si on calcule f (à), + f(x\f(b) pour un certain xe]a,b[, ƒ étant unimodale on a évidemment
f(x)<f(a)^me[a,x]; ƒ(*) < ƒ(*) =* me[x, b].
Dans les autres cas on ne peut situer m par rapport à x. Ainsi dans les hypothèses de notre étude, il est nécessaire de calculer au moins deux valeurs de ƒ en des points xx et x2 intérieurs à [a, b]. On aura donc n ^ 3.
REMARQUE
En pratique il faut tenir compte de la précision de la machine et de celle des calculs. On s'imposera donc un certain seuil s et on considérera que l'inéga- lité f(x) <f(y) (respectivement f(x) > f (y)) a lieu si et seulement si ƒ 0 0 < f (y) — s (respectivement ƒ (JC) > ƒ (y) + s) où ƒ (z) désigne la valeur approchée de ƒ (z), si tel est le cas on écrira ƒ (JC) ^ ƒ (y) (respectivement ƒ 0 0 ^ ƒ(ƒ))• Si f (y) appartient à l'intervalle [ ƒ (x) — s, f(x) + s] il y a indétermination, nous arrêtons alors l'exécution du programme et indiquons à l'utilisateur les dernières bornes calculées pour m. Ce cas d'indétermination sera exclu de l'étude théorique.
2. Présentation de l'algorithme
Posons yj = f(Xj),j = 0, ...,«. Soit k, le plus petit entier positif, s'il existe, tel que yk <^ yk-\ et k = n + 1 si un tel entier n'existe pas. Chaque valeur de k correspond à un événement que nous noterons Ek. L'intervalle réduit est le suivant :
ƒ [**-2> *JJ si k # 1 et k # n 1 [**- u xk] si k = lt ou k = n .
On suppose f (a) et ƒ(£>) connus. Notons Ck le nombre de calculs et Rk
le rapport
longueur du nouvel intervalle longueur de l'intervalle précédent * On a :
Ck = k pour fc ^ n — 1 et Cn = Cn+1 — n — 1 tandis que Rk = - pour fc 9e 1 et /: ^ «,
1 n n *
itevMé? Française d'Automatique, Informatique et Recherche Opérationnelle
RECHERCHE D'UN EXTREMUM 115 REMARQUE
II est aisé de voir graphiquement que dès que le cas « malchanceux » I Rk = - J s'est produit le cas « heureux » f Rk = - ) ne peut plus se produire.
n . MAJORATION DU NOMBRE DE CALCULS 1. Cas n pair
D'après ce qui précède, à chaque itération n — \ calculs suffisent toujours 2
(n — 2 suffiront si lors de l'itération précédente Rk = - , le point du milieu n
est conservé, ce que l'on supposera dans le calcul qui suit). Soient v0 — v, vu ..., vk les longueurs successives des intervalles déterminés par cet algorithme.
On a :
v
<-
v--(-v \ - -(~yv
Le nombre total A:d'itérations nécessaires est déterminé par vk ^ e < vk^1. D'où la majoration
r< r^si+i
où [x] désigne la partie entière de x (i.e. [x] = /? e Z tel que/? < x < p + 1).
Comme le problème qui nous intéresse ne se pose que si (u/e) est assez grand, on posera pour simplifier K — A/log (n/2), où ^ = log (v/e). Le nombre A^
maximum d'opérations est donc donné par
N = A(n - 2)/log (n/2).
Pour déterminer la meilleure valeur de N en fonction du choix du nombre de points xî9 il s'agit donc d'étudier la fonction :
r \ x - 2
9ix) = 7
et de détenniner le minimum de la fonction g pour x entier > 4. On trouve :
a'(x) =
KXK
où
n" juin 1975, V-2
1 1 6 O. MIGNOTTE
qui s'annule pour x = 2 et est toujours positive pour x > 2. Donc g(x) est croissante et la meilleure valeur pour n pair sera 4.
2. Cas H impair
Pour n ^ 5 l'étude précédente montre que le cas n impair ^ 5 ne peut être meilleur que le cas n = 4, même en supposant que l'on conserve l'un des points (ce qui est incompatible avec une distribution régulière des points).
m.
CAS N= 3
1. Méthode du nombre d'or C)
Les points sont répartis de telle sorte que le rapport
soit conservé lors de chaque itération. (vk étant la longueur de l'intervalle obtenu après k itérations.) v% = vo/xk~l. BetC sont symétriques.
A B C D
Le rapport dans lequel C divise AD est le même que celui dans lequel B divise AC, ce qui répond au souhait de conserver l'un des points pour l'itération suivante. Un seul calcul de la fonction par itération suffit pour réduire l'inter- valle dans le rapport 1/x. Ceci fait tout l'intérêt de la méthode.
2. Méthode de Fibonacci
Cette méthode se différencie en ceci qu'elle ne vise pas à réduire l'intervalle de façon constante à chaque itération. Par contre elle cherche à conserver un point de l'intervalle précédent. Le point calculé au cours de l'itération est alors placé symétriquement au point conservé.
Il est aisé de noter que sur une seule itération, la meilleure réduction possible est obtenue pour une « pseudo-dichotomie », c'est-à-dire deux points situés presque au milieu de l'intervalle. Mais cette position ne permet évidem- ment pas de conserver l'un des points à l'étape suivante.
(1) Le nombre d'Or est la racine positive de T2 - T - 1 = 0.
Revue Française d'Automatique, Informatique et Recherche Opérationnelle
RECHERCHE D'UN EXTREMUM 117
Soit D la longueur du dernier intervalle (précision demandée) et E l'inter- valle qui sépare les deux derniers points :
< D >
< E >
Lk = longueur du fc-ième intervalle Ln = D < e (notation précédente) Ln_! = 2 D - E = F2 D - Fo E Ln_2 ^ID-E^FsD-F^
Lo = Fn+l D - Fn_t E = FB + 1 Ln - F„.t E = V = intervalle initial D =(L0 + F„_lE)/Fn+l.
L'inégalité évidente
montre qu'il suffit de choisir n tel que
pour que l'on ait D < e. Pour que n soit le plus petit possible (ce que l'on souhaite) il faut prendre E aussi petit que le permet la précision des calculs et en particulier E petit devant e.
IV. CAS n = 4. MÉTHODE PROPOSÉE 1. Phases de l'étude
lr e Phase
3 points au maximum sont à calculer. Ceci se fait de gauche à droite ou de droite à gauche
A B
Nous partons de l'extrémité où la valeur de la fonction est la plus grande.
Si au premier point calculé, la fonction a une valeur inférieure à celle de
n° juin 1975, V-2
118 O. MIGNOTTE
l'extrémité de départ, on peut prendre cette nouvelle valeur comme deuxième borne et l'intervalle est alors divisé par 4. Lorsque l'une des extrémités est le maximum recherché, cette méthode est meilleure que celles du hombre d'Or et de Fibonnacci.
xxxxx
A, *xxxx xxxx* • rxxxx xxxxxxxxx* xxxx Bfl An Cn Bn
2e Phase
Dès que le premier point calculé n'a plus une valeur inférieure à celle de l'extrémité de départ, l'extremum recherché ne pourra plus être encadré par 2 points consécutifs, il en faudra 3.
1
BnXXX XXXXX xxxxxx
c Bn+1
Soit M = mzx(f(Anlf(Bn)).
Tous les points compris entre M et ƒ (C) sont supérieurs à M (hypothèse d'unimodalité) donc il est exclu de revenir à la phase 1.
Ordre de calcul des points.
Dans cette phase, si l'on excepte l'initialisation, ce que nous ferons, il y aura deux points à calculer par itération (la valeur aux bornes est connue et la valeur médiane également).
Soient Cn la valeur au centre et Am Bn les valeurs aux bornes au cours de la w-ième itération.
X X X X "
Sens du calcul
An X Cn
-xxxx xxxxx~
Bn An X Cn Y Bn
Revue Française d'Automatique, Informatique et Recherche Opérationnelle
RECHERCHE D U N EXTREMUM 119
Sens du calcul (3)
An X Cn Y B
L J I I 1 1
r An X Cn Y BnCas (£) Jfest calculé mais pas Y, l'intervalle devient An Cn. Cas (2) et 0 X et Y sont calculés, l'intervalle devient AT.
Cas (D X et Y sont calculés, l'intervalle devient Cn Bn.
Des considérations probabilistes nous amènent à adopter la tactique suivante : nous supposons que l'extrémité dont la valeur est la plus grande est en général plus proche que l'autre du maximum. Par conséquent nous supposons que le cas (î) où le calcul de Y est inutile sera plus fréquent que le cas © :
— dans un premier temps nous utilisons l'ordre de calcul qui vient d'être exposé ;
— tant que cela s'avère judicieux nous poursuivons la même tactique ;
— dès que cet ordre paraît mauvais nous adoptons l'ordre inverse, etc...
2. Nombre moyen d'opérations au cours de la 2e phase
Le calcul qui suit ne tient pas compte des améliorations apportées par la première phase ni de l'ordre du calcul dans la deuxième phase.
Nombre maximum d'itérations :
K = Nombre moyen de calculs
Notations :
Log 2 '
n° juin 1975, V-2
120 O. MIGNOTTE
Nombre de calculs nécessaires et probabilités.
Et Ei
El
E3
1 2 2
Pi 3 8 3 8 1 4
De plus l'initialisation de la recherche nécessite trois calculs : deux pour les bornes et un pour le point du milieu. D'où
j y -
Log 2 18- + - + - + 3 8 Log2
3. Comparaison avec la méthode du nombre d'or
Pour cette méthode, le nombre de calculs est donné par la formule : Log (Fe"1)
Log (1,62) car = e .
Reprenons nos trois intervalles à savoir Eu E2 et E3. La question que nous voulons résoudre est la suivante : quelles valeurs devraient avoir les pt pour que notre formule soit, en moyenne, équivalente à la formule du nombre d'Or ? Au cours de notre recherche, nous tenons le plus grand compte de tous les renseignements obtenus, et nous abordons chaque nouvelle itération en tentant de partir de l'extrémité la plus favorable. Considérons la figure pré- cédente et supposons que f {A) est supérieur à f(B). Nous pensons que dans ces conditions, la probabilité d'avoir l'extremum dans l'intervalle Ex est supérieure à celle de le trouver dans l'intervalle E2. Celle de le trouver dans l'intervalle E3 n'étant pas changée.
Revue Française d'Automatique, Informatique et Recherche Opérationnelle
RECHERCHE D'UN EXTREMUM 121
Les nouvelles valeurs des p( deviennent alors :
= P 3
= -Â-P
Nous cherchons à obtenir :
D'où
Log 2
Lorsque Fe ' est grand, les termes constants sont négligeables, d'où la relation
(2 - p) A 1 Log 2 ~ Log (1,62)' Soit p A 0,56.
V. APPLICATIONS NUMÉRIQUES
1° Etude et comparaison de nos résultats avec la méthode de Fibonacci sur les exemples étudiés par M. Hasles [1] :
F(X) = (Log (X) - 3 x + 3)2 sur (0, 1 E - 30, E + 9) 8 = E - 6 (ABS(X - ALPHA)) - r ^ sur (0, 1) s = E - 10
= Log {X) sur (£ - 25, £ - 5)
= A- sur )£ - 5, ES) e = £ - 10 X sur ( - £4, £10)
Log (X) sur )£10, 1) e = £• - 10 X sur )1, £4)
n° juin 1975, V-2
122 O. MIGNOTTE TABLEAU COMPARATIF
F Ft
ALPHA = 0,45 ALPHA = 0,925 F2
F3 Total
FlBONACCI
73 49 49 73 70 314
NOS RÉSULTATS
53 53 50 28 67 251
Sur ces exemples, notre méthode se révèle supérieure à celle de Fibonacci.
2° Etude d'une famille de polynômes
P(X) = X6 - AX5 + 3 X3 + 2 X + 1 pour A variant de 120 à 149. L'intervalle initial : 50.
Nous donnons ci-après un extrait des résultats ; une colonne sur trois.
La première ligne indique le nombre de calculs pour la méthode de Fibonacci.
L'ensemble des résultats porte sur 1 200 tests totalisant 40 000 calculs.
L'étude des résultats tend à montrer que les deux méthodes ont des per- formances équivalentes. Un examen approfondi des résultats montre que la première phase fait gagner beaucoup de points. Le nombre de calculs nécessités par la méthode que nous proposons se trouve diminué de deux si les valeurs de la fonction aux deux bornes sont connues à l'avance. Ces valeurs ne sont pas utilisées par les méthodes de Fibonacci et du nombre d'Or.
CONCLUSION
La méthode qui vient d'être exposée donne expérimentalement des résultats comparables à ceux de la méthode de Fibonacci. Elle possède par rapport à cette dernière et par rapport à toutes les autres du même type (nombre d'Or, pseudo-dichotomie) l'originalité de s'adapter à l'information recueillie, au fur et à mesure du calcul des différents points de la fonction, et il lui arrive d'être beaucoup plus rapide. L'ordre de calcul des points est déterminé au début de chaque itération, en fonction des résultats trouvés au cours des itérations précédentes. Notre méthode est dynamique. En fait elle s'apparente aux méthodes qui utilisent la dérivée, — dont ici nous ne supposons pas l'existence
— remplacée ici par la corde.
Revue Française d'Automatique, Informatique et Recherche Opérationnelle
RECHERCHE D'UN EXTREMUM 123
\120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
8 5 6 6 7 7
6 7 8 8
a7 8 9 8 9 10 9
a9 8 7 8 9 9 9 8 9 10 9 10 gain (-)
ou +1 perte (+]
13 6 10
nn n
9 12 12 12 13 10 12 13 13 14 16 14 13 13 12 10 13 13 13 14 11 13 14 14 15 -23
17 8 14 16 16 16 12 16 16 16 17 13 17 18 ia 18 22 18 ia 18 17 13 17 17 17 18 14 ia 19 19 19 -15
21 9 18 20 20 21 15 21 21 22 22 16 22 22 22 22 28 22 22 22 22 16 22 22 23 23 17 23 23 23 23 -8
26 111 24 25 24 26 19 24 25 27 27 20 26 27 26 27 34 26 27 26 27 20 25 26 28 27 20 27 28 27 28 -20
30 12 20 23 29 31 23 28 29 32 32 26 31 32 30 31 38 33 32 30 31 24 30 31 34 32 25 31 32 30 33 -11
34 14 32 33 34 36 27 32 35 35 35 32 35 36 35 36 43 37 37 34 35 30 33 35 39 37 30 36 37 34 37 +1
39 15 36 38 39 42 32 38 40 41 59 57 58 41 40 39 48 42 43 37 40 54 57 41 42 41 55 41 41 39 42 -17
45 17 42 41 43 46 57 45 44 45 45 42 43 45 46 44 53 45 46 45 45 58 41 45 47 46 40 45 44 44 45 -1
47 ia 46 46 48 50 41 47 48 48 49 48 46 49 51 49 57 49 49 47 49 41 45 50 52 50 45 50 49 45 50 +6
52 20 50 49 53 55 44 50 54 52 53 52 50 53 56 52 61 55 54 52 50 45 50 56 57 54 48 54 53 53 55 -19
56 21 54 53
5a
61 47 55 58 57 58 55 55 57 60 57 66 57 60 57 57 49 55 61 60 58 52 5&
57 58 59 -12
60 23 59 58 62 66 59 63 61 62 60 58 61 64 61 7û 62 65 62 55 60 64 63 55 63 62 62
+5
BIBLIOGRAPHIE
[1] J. HASLES, Algorithmes de recherche de l'optimum d'une fonction d'une seule variable, Institut Français du Pétrole, sept. 1970.
[2] J. VIGNES, Thèse. Etude et mise en œuvre d'algorithmes de recherche d'un extremum d'une fonction de plusieurs variables, février 1969.
[3] WILDE, Méthodes de recherches d'un optimum, Dunod, 1966.
n°juin 1975, V-2