Académique Documents
Professionnel Documents
Culture Documents
Mam 0596
Mam 0596
Département : Mathématiques
MEMOIRE DE MASTER
Thème
Promotion : 2021/2022
Table des matières
Introduction ii
1.2.6 La tribu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.7 La mesure de Lebesgue sur R. . . . . . . . . . . . . . . . . . . . . . 4
1
3.2.3 Multi-recherches locales à liaison simple avec niveau . . . . . . . . . 26
3.3 Méthode de Recuit Simulé . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 Méthode de Recherche de Tabou . . . . . . . . . . . . . . . . . . . . . . . 28
non-linéaires 30
4.1 Formulation de problème . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 L’Algorithme LBFGSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Algorithme de recherche par motifs (GP S) . . . . . . . . . . . . . . . . . . 33
i
INTRODUCTION
Dans la vie courante nous sommes fréquemment confrontés à des problèmes "d’opti-
misation" plus ou moins complexes. L’optimisation peut être dé…nie comme la science qui
détermine la meilleure solution à certains problèmes mathématiquement dé…nie, qui sont
souvent des modèles de physique réal. C’est une technique qui permet de "quanti…er" les
compromis entre des critères parfois non commensurables.
Dans cette mémoire, on cherche à localisé toutes les racines d’un système d’équations
non linéaires :
8
>
> f1 (x) = 0
>
>
>
> f2 (x) = 0
>
>
< :
(S) =
>
> :
>
>
>
> :
>
>
:
fn (x) = 0
où fi (i=1...n) sont des fonctions seulement continues.
Ce système est résolut en utilisant des méthodes d’optimisation globale, où le
problème (S)
( est transformé à un problème d’optimisation globale (P ) ; tel que :
min F (x)
(P ) =
x2D
Pn n
où F (x) = fi2 (x) , D= [ai ; bi ]n
i=1 i=1
Dans le premier chapitre, on expose des notions préliminaires de base concernant
l’optimisation globale. On a étudié dans le deuxième chapitre, les méthodes stochastiques
passives, qui sont basées sur les algorithmes de recherche aléatoire pûre, et les algorithmes
de recherche quasi-aléatoire. Dans le troisième chapitre, on a traité des méthodes stochas-
tiques itératives, tel que la méthode Multistart, la méthode de clustering et ses trois
variantes, la méthode de recuit simulé, et la recherche Tabou. Finalement, dans le der-
nier chapitre, on a proposé un algorithme pour la résolution d’un système d’équations
non-linéaires, où on a utilisé un algorithme d’optimisation globale, et on a fait quelques
applications numériques sur des fonctions tests.
ii
Notations
1
Chapitre 1
Dans ce chapitre, nous allons introduire certaines notions et résultats des outils fonc-
tionnels de base nécessaires pour l’optimisation globale.
V (x ; ) = fx 2 Rn : kx x k < g;
de centre x et de rayon .
2
Un point x de D est appelé minimiseur local de f sur D, s’il existe un voisinage
V (x ; ) de x tel que :
f (x ) f (x); 8x 2 V (x ; ) \ D:
X:!2 ! X (!) 2 R
Dé…nition 1.2.2 soit un univers muni d’une probabilité P, et soit X une v:a:r: On
appelle loi de probabilité de X, notée PX ; l’application qui à toute partie A de R associe
FX (x) = P (X x) ; x 2 R:
Propriétés de la fonction de répartition :
1. 0 FX 1:
2. FX tend vers 0 en 1 et vers 1 en +1:
3. FX est croissante.
Dé…nition 1.2.4 Soit X une v:a:r: qui prend un nombre in…ni non dénombrable de va-
leurs. Si FX est une fonction continue, on dit que X est une v:a:r: continue. Dans ce cas,
la loi de X est déterminée par l’ensemble des probabilité P (a < X < b) pour tout a < b:
3
1.2.5 Loi uniforme
Dé…nition 1.2.5 La loi uniforme sur un intervalle est la loi des "tirages au hasard"
dans cet intervalle. Si a < b sont deux réels, la loi uniforme sur l’intervalle [a; b] est notée
u (a; b) : Elle a pour densité :
1
fX (x) = 1[a;b] (x)
b a
Où 1[a;b] (x) est la fonction indicatrice de l’intervale [a; b] ; c’est-à-dire
(
1; x 2 [a; b]
1[a;b] (x) =
0; x2= [a; b]
1.2.6 La tribu
Dé…nition 1.2.7 La tribu boreliènne est la plus petite tribu contenant tous les intervalles
ouverts (ou férmés, ou ouverts à droite fermés à gauche, etc... )
Dé…nition 1.2.8 Il existe une unique mesure positive sur (R; B (R)) telle que :
(]a; b[) = b a
4
m (P ) = jI1 j ::: jIm j ,
où jIj j est la longueur du segment Ij :
5
Chapitre 2
6
Algorithm 2.1.1 Algorithme de Recherche Aléatoire Pure
1. Etape 0 Poser k = 1; f0 = +1
2. Etape 1 Générer un point xk à partir de la loi uniforme sur D.
3. Etape 2 Evaluer f (xk ) et poser fk = min fk 1 ; f (xk )
4. Etape 3 Si k = N , alors arrêter et prendre le point xk ayant pour valeur f (xk ) =
fk comme une approximation d’un minimiseur global. Si k < N retourner à l’étape 2 en
substituant k + 1à k:
n
n
2 "n
(B(x ; ")) fx 2 R ; kxk "g = ,
( n2 + 1)
: où (:) est la mesure de Lebesgue.
Il en résulte que pour tout " > 0 et i = 1; 2; ::::
7
P fkXi xk "g = P fXi 2 B(x ; ")g
(B(x ; "))
=
(D)
n
2"
n
( n2 + 1) (D)
YN = min kXi xk
1 i N
A = min fk 1; Xk 2 Ag :
(D) (D) ( n2 + 1)
E( B(x ;") ) = n
(B(x ; ")) 2 "n
Preuve. La variable aléatoire B(x ;") est gouvernée par la loi géométrique de para-
(B(x ;"))
métre p = (D)
: Pour k 1 on a
8
P B(x ;") =k = P fX1 2
= B(x ; "); :::; Xk 1 2
= B(x ; ") etXk 2 B(x ; ") g
= P fX1 2
= B(x ; ")g :::P fXk 1 2
= B(x ; ")g P fXk 2 B(x ; ")g
k 1
(B(x ; ")) (B(x ; "))
= 1
(D) (D)
par conséquent,
X
E( B(x ;") ) = kP B(x ;") =k
k 1
X (B(x ; "))
k 1
(B(x ; "))
= k 1
k 1
(D) (D)
(D)
=
(B(x ; "))
( n2 + 1)
n (D):
2 "n
On peut voir à travers le résultat suivant que la convergence de l’algorithme est très
lente et dépend grandement de la dimension n de l’ensemble D:
Théorème 2.1.3 Supposons que x est un point intérieur de D et que " est su¢ samment
petit pour queB(x ; ") D: Alors, Algorithme2.1.1 atteint la boule B(x ; ") avec une
probabilité supérieure à 1 (ou 2 ]0; 1[), si et seulement si, le nombre de points
d’évaluation est plus grand que :
( n2 + 1)
N= ln ( ) (D) n + 1:
2 "n
9
n N
2"n
1 :
(D) ( n2 + 1)
n N
"n 2
, N ln 1 ln :
(D) ( n2 + 1)
ln
=) N n
2 "n
ln 1 (D) ( n +1)
2
on obtient ainsi
2 3
ln
N =6
6 n
7 + 1:
7
2 "n
6 ln 1 (D) ( n +1)
7
2
( n2 + 1)
N= ln( ) (D) n + 1:
2 "n
n 1 2 3 4 5 6 8
N = N (n) 11 7300 549 103 4666 104 43744 105 45 1010 57 1014
2.2.1 Disperssion
Dé…nition 2.2.1 On dé…nit la -dispersion de la grille EN =fx1 ; x2 ; :::; xN g par
10
d (EN ) = sup min (x; xi )
x2D xi 2EN
B(0; 1) = fx 2 Rn ; (0; x) 1g
Dé…nition 2.2.2 Une suite de points fxk gk 1 D est dite uniformément distribuée
dans l’ensemble D, si pour tout J D on a :
1X
N
(J)
lim 1J (x) = ;
N i=1 (D)
N !1
avec (
1 si x 2 J
1J (x) = :
0 sinon
2.2.2 Discrépance
11
dont le domaine est le cube unitaire en dimension n :
I n = [0 1]n
f : In ! R
1 N
f (u)
N i=1
La question qui se pose c’est : avec quel ensemble de points allons-nous approcher
l’intégrale suivante ?
Z
1 N
f (u) du f (u)
In N i=1
Z
1 N
lim f (u) = f (u) du
N !1 N i=1 In
1 N
lim 1J(xi ) = (J) ;
N !1 N i=1
Dé…nition 2.2.3 Soit fxn gn 0 une suite dans I n :On dit que la suite fxn g est equirepartie
si pour tout intervalle B de I n , on a
12
A(B; xn )
lim = (B)
n!+1 n
où A(B; xn ) désigne le nombre de point de la suitefxn g appartenant au sous-intervalle
B de I n .
A (B; EN )
DN (EN ) = sup N (B) ;
B N
où A(B;E
N
N)
désigne le nombre de point de B appartenant à EN :
Notons que
0 DN (EN ) 1
Dé…nition 2.2.5 Soit EN = fx1 ; x2 ; :::; xN g une suite dans I n . La discrépance à l’origine
de l’ensemble EN notée par DN = DN (x1 ; x2 ; :::; xN ) est dé…nie par :
A (EN ; xn )
DN (EN ) = sup (EN ) ;
J N
n
où J = [0; j) , 0 j 1 , 8j = 1:::n
j=1
Dé…nition 2.2.6 Soit EN = fx1 ; x2 ; :::; xN g une suite dans I n . La discrépance extrême
de l’ensemble EN notée par DN = DN (x1 ; x2 ; :::; xN ) est dé…nie par :
A (EN ; xn )
DN (EN ) = sup (EN ) ;
J N
n
où J = [ j; j ); 0 j j 1 , 8j = 1:::n
j=1
13
Dé…nition 2.2.7 Soit EN un ensemble de I n . La discrépance à isotrope de l’ensemble
EN est dé…nie par :
A (EN ; xn )
JN (EN ) = sup (EN )
C N
où C est la famille de sous ensemble convexe de I n :
Il découle de ces dé…nitions que pour toute suite (xn )n 0 d’au moins N points dans
n
I ; on a :
Théorème 2.2.8 Pour une suite (xn ) 2 I n ; et notons DN (x1 ; x2 ; :::; xN ) et DN (x1 ; x2 ; :::; xN )
la discrépance respectivement à l’origine et extrème des N premièrs termes de la suite
(xn )n 0 . Les propositions suivantes sont équivalentes :
1. La suite des points fxn g est uniformement distribuée dans I n :
2. lim DN (x1 ; x2 ; :::; xN ) =0.
N !1
3. lim DN (x1 ; x2 ; :::; xN ) =0.
N !1
Tant que la discrépance est faible, on a une bonne répartition des points dans le pavé
unité.
1 2n 1
DN (x1 ; x2 ; :::; xN ) = + max xn
2N 0 n 1 2N
1 n n
DN (x1 ; x2 ; :::; xN ) = + max xn min xn
N 1 n N N 1 n N N
Corollaire 2.2.12 Pour une suite x1 ; x2 ; :::; xN d’élements de I n ; nous avons les résultats
suivants :
1 1
DN (x1 ; x2 ; :::; xN ) et DN (x1 ; x2 ; :::; xN )
2N N
2n 1
on a l’égalité si xN = N
:
14
2.2.3 les suites à discrépance faible
Les suites à discrépance faible sont appelées “quasi aléatoires ”. Elles sont construites
pour remplacer les tirages de la loi uniforme. Le pré…xe quasi précise ainisi que les valeurs
d’une suite à discrépance faible ne sont pas aléatoires mais ont des propriétés proches per-
mettant leur usage dans la méthode de recherche quasi aléatoire. Elles sont équiréparties
(au sens de la dé…nition 2.2.3), et ont la particularité de remplir le cube unité de manière
extrêmement régulière. Les suites à discrepance faible les plus utilisées sont les suites de
Ven Der Corput dans le cas unidimensionnel, et les suites de Halton,de Hammersly et de
Faure dans le cas multidimensionnel.
Nous introduisons dans cette section une classe spéci…que de suite à discrépance faible
en dimension n = 1, appellée suite de Van Der Corput.
Soit un entier b tel que b 2. On pose Zb = f0; 1; :::; b 1g. Tout entier positif k a
une représentation unique et peut s’écrire sous la forme :
dlogb (k)e
X
k= ai (k; b) bi ;
i=0
avec ai (k; b) 2 Zb pour tout i 0; et dlogb (k)e la partie entière de logb (k) :
C’est l’écriture en base b de l’entier positif k, comme une combinaison linéaire de puis-
sances positives de b à coe¢ cient à valeurs dans Zb . On remarque que cette décomposition
comporte un nombre …ni de termes non nuls.
On dé…nie la fonction radicale inverse en base b de l’entier positif k par :
dlogb (k)e
X
i 1
'b (k) = ai (k; b) b ; i 0:
i=0
On voit que 'b (k) 2 [0; 1[ pour tout k 0. Soit un entier b 2; la suite S =
fx0 ; x1 ; :::xk g dans [0; 1[ donnée par :
15
k Ecriture en base 3 '3 (k)
0 (0)3 0 3 1=0
1 (1)3 1 3 1 = 1=3
2 (2)3 2 3 1 = 2=3
3 (10)3 1 3 2 + 0 3 1 = 1=9
4 (11)3 1 3 2 + 1 3 1 = 4=9
5 (12)3 1 3 2 + 2 3 1 = 7=9
6 (20)3 2 3 2 + 0 3 1 = 2=9
7 (21)3 2 3 2 + 1 3 1 = 5=9
8 (22)3 2 3 2 + 2 3 1 = 8=9
TABLEAU01 : Les huits premiers termes de la suite de Van Der Corput en base 3.
:
Les résultats :
1- Si S est une suite …nie de Van Der Corput en base b Alors :
log N
DN (S) = O
N
2-Un précieux résultat asymptotique est établit par Faure :
(
b2
N DN (S) N DN (S) 4(b+1) log b
pour b pair
lim sup = lim sup = b 1
N !+1 log N N !+1 log N 4 log b
pour b impair
La suite de Halton
Les suites de Halton sont la version en dimension n 1 des suites de Van Der
Corput qui quant à elles constituent la version unidimensionnelle de ces suites. L’idée pour
générer les suites de Halton consiste à utiliser une base di¤érente pour chaque dimension.
Dé…nition 2.2.14 Soit b1 ; b2 ; :::bn les n premiers nombres premiers. Soit k un entier
positifs, la suite de Halton est dé…nie par :
xk = ('b1 (k) ; 'b2 (k) ; :::; 'bn (k)) 2 [0; 1[n ; pour tout k 0;
16
Les suites de Halton sont des généralisations dans le cas multidimensionnels des suites
de Van Der Corput
.
Pour cet exemple, la suite de Halton est de la forme xk = ('2 ; '3 ; '5 ). Nous avons
donc
x1 = 21 ; 31 ; 15 ; x2 = 14 ; 23 ; 52 ; x3 = 34 ; 91 ; 35 ; :::
17
Figure 1-500 premiers points de la suite de Halton en base 2,3,5 en dimension 3
Le théorème suivant nous montre que la suite de Halton est à discrépance faible.
Où
n bi 1
n =
i=1 2 ln bi
La Suite de Hammersley
18
k
xk = ; ' (k) ; 'b2 (k) ; ::::'bn (k) 2 [0; 1[n ; pour tout k 0:
m b1 1
19
La suite de Faure
dlogb (k)e
X
xik = xi;j
k b
j
; pour k 1 et i = 1; :::; n
j=1
où
dlogb (k)e
X
xi;j
k = Cpj 1 bpi j+1
ap (k) (mod b) ;
p=j
avec aj (k) pour j 1; sont les coe¢ cients de la décomposition de k dans la base b, et
Cpj = (p p!j)!j! est un coe¢ cient binomial.
20
F igure3 Les 100,1000 et 10000 premiers points d’une suite de Faure en dimension 2 et en base 3.
21
Chapitre 3
ii/ Méthode des points candidats : Elle consiste à faire des descentes locales simulta-
nées à partir de plusieurs points initiaux, en joignant les points voisins. Le fait de joindre
est équivalent à substituer quelques points à l’un d’entre eux dont la valeur de la fonction
objectif est la plus petite.
22
Algorithm 3.1.1 Algorithme de base de Multistart (MS)
Etape 0 - Choisir un point x0 2 D et poser f = f (x0 ) et k = 0:
0
Etape 1 - Choisir un point xk de la grille, et appliquer LS à xk , qui donne xk :
0 0 0
Etape 2 - Si f xk < f ; alors poser f = f xk et x = xk :
Etape 3 - Si la condition d’arrêt est satisfaite, alors arrêter et retourner à la meilleure
solution trouvée. Sinon, incrémenter k et retourner à l’étape 1.
Ces méthodes s’appliquent aux fonctions ayant un nombre de minima locaux relati-
vement petit (inférieur à 50). L’idée principale consiste à générer dans D, suivant la loi de
probabilité uniforme, un échantillon de points relativement important et former des sous-
ensembles constitués de points mutuellement proches (clusters) et appliquer une méthode
de descente locale à partir d’un ou de plusieurs points de chaque groupe. Deux procédures
pour créer de tels groupes à partir d’un échantillon initial, ont été proposées. La premiere
appelée méthode de réduction, retient uniquement une fraction de l’échantillon, consti-
tuée de points pour lesquels f a les meilleures valeurs. La deuxieme appelée méthode
de concentration, transforme l’échantillon en appliquant une ou plusieurs itérations de
descente locale à partir de chaque point d’échantillon.
La procédure de base pour identi…er les clusters des points qui résultent de l’échan-
tillon obtenu par l’une des deux méthodes est toujours la même. Les clusters sont formés
au cours des itérations, en commençant à partir d’un point foyer, qui peut être un point
non clusterisé et ayant une petite valeur de f ou un minimiseur local trouvé en appliquant
LS en ce point. Des points sont alors ajoutés au cluster à travers la règle de groupement.
Nous allons décrire trois variantes di¤érentes :
23
Algorithm 3.2.1 Algorithme de la méthode DC
Etape 0 - Poser k = 1 et D = :
Etape 1 - Générer N points, soient x(k 1)N +1 ; :::; xkN , à partir de la loi
uniforme sur D, et déterminer l’échantillon réduit constitué des
meilleurs kN points à partir de l’échantillon x1 ; x2 ; :::; xkN . Poser
i = 1 et j = 1.
Etape 2 - Si tous les points d’échantillon réduit ont été a¤ectés à un
cluster, aller à l’étape 4. Si j card(D ), alors choisir le j ieme
minimiseur local dans D comme le prochain point foyer et aller à
l’étape 3. Si j > card(D ), alors appliquer LS au point d’échantillon
réduit non clusterisé x dont la fonction a la plus petite valeur. Si le
minimum local x obtenu est un élément de D , alors a¤ecter x au
cluster initié par x et retourner à l’étape 2. Si x 2= D , alors ajouter
x à D et prendre x comme foyer prochain.
Etape 3 - Ajouter tous les points de l’échantillon réduit non clusterisés
qui sont à une distance rk;i (x ) du foyer x au cluster initié par x : Si
aucun point n’a été ajouté au cluster pour cette valeur spéci…que de
rk;i (x ) incrémenter j et retourner à l’étape 2; sinon incrémenter i et
répéter l’étape 3.
Etape 4 - Si la condition d’arrêt est satisfaite, alors arrêter et retourner
à la meilleure solution trouvée. Sinon, incrémenter k et retourner
à l’étape1.
Dans le cas où f est deux fois continûment di¤érentiable, la distance critique rk;i est
choisie par Rinnooy Kan et Timmer égale à
1
1 n p ln (kN ) n
rk;i (x) = p i 1+ : det H (x): (D) : ;
2 kN
où H (x) désigne le Hessien au point x, est une certaine constante positive et (:) la
fonction Gamma.
24
Dans la méthode à liaison simple ”Single Linkage Clustering”, les clusters sont aussi
formés itérativement et chaque cluster est initié par un point foyer. Après qu’un cluster
C est initié, on cherche les points non clusterisés tels que
d(x; C) = min kx yk rk ;
y2C
Rinnooy Kan et Timmer ont proposé la valeur suivante pour la distance critique
dans l’étape 3 :
1
1 n ln (kN ) n
rk;i =p 1+ : (D) : ;
2 kN
25
nombre total des recherches locales est …ni presque sûrement, même si l’échantillonnage
continue indé…niment. Ces propriétés permettent d’accorder certain intérêt théorique à
la méthode en termes de nombre de recherches locales e¤ectuées. Cependant, le nombre
de minima locaux de la fonction objectif peut être plus grand que le nombre de minima
locaux repérés par cette procédure. Par conséquent, l’obtention du minimum global n’est
pas obtenu en un nombre …ni d’itérations avec probabilité égale à 1.
26
- Si > 4; le nombre total de recherches locales accomplies par MLSL est …ni presque
sûrement.
Les trois méthodes décrites au dessus visent toutes à trouver tous les minima locaux
de notre problème d’optimisation (P). Cependant, dans le cas oû le nombre d’optima
locaux est relativement grand, leur stratégie n’est pas e¢ cace.
27
d’une température initiale T0 qui diminuera tout au long du processus jusqu’à atteindre
une température …nale ou un état d’équilibre (optimum global).
La recherche Tabou (RT) à été proposée en 1986 par Glover. Elle fait appel à un
ensemble des règles et de mécanismes généraux pour guider la recherche de manière intel-
ligente. L’optimisation de la solution avec la recherche Tabou se base sur deux astuces :
- L’utilisation de la notion du voisinage.
- L’utilisation d’une mémoire permettant le guidage intellgent du processus de la
recherche.
En parcourant le voisinage de la solution courante x, la recherche Tabou ne s’arrête
pas au premier optimum local rencontré. Elle examine un échantillonnage de solution du
voisinage de x et retient toujours la meilleure solution voisine x0 , même si celle-ci est de
piètre qualité que la solution courante x; a…n d’échapper de la vallée de l’optimum local
28
et donner au processus de la recherche d’autres possibilités d’exploration de l’espace de
recherche a…n de rencontrer l’optimum global. En fait, les solution de mauvaise qualité
peuvent avoir de bons voisinages et donc guider la recherche vers des meilleures solutions.
Cependant, cette stratégie peut créer un phénomène de cyclage (i.e. on peut revisiter
des solutions déjà parcourues plusieurs fois).
A…n de pallier à ce problème, la recherche Tabou propose l’utilisation d’une mémoire
permettant le stockage des dernières solutions rencontrées pour ne pas les visiter dans
les prochaines itérations et tomber dans le problème du cyclage répétitif. Cette mémoire
est appelée la liste Tabou ;(noté Lt ). La taille de la liste Tabou est limitée, ce qui
empêche l’enregistrement de toutes les solutions rencontrées. C’est la raison pour laquelle
la liste Tabou procède comme une pile FIFO (First In First Out), où la plus ancienne so-
lution sera écartée pour laisser place à la dernière solution rencontrée. Le but de faciliter
la gestion de la liste Tabou en termes de temps de calcul ou d’espace mémoire néces-
saires à pousser les chercheurs à proposer de ne conserver dans la liste que des attributs
(i.e.caractéristiques) des solutions au lieu des solutions complètes. Particulièrement, dans
le cas où le nombre de variables est très élevé. Toutefois, l’utilisation de la liste Tabou
peut mener à un blacage dans certains cas. En fait, les nouvelles solutions qui possèdent
des attributs des solutions tabou, seront considérées Tabou aussi même si elles ne sont
pas encore été visitées. Pour remédier à ce problème, on a dé…ni une technique appelée
critère d’aspiration permettant de sortir du blocage causé par la ressemblance des
attributs des solutions Tabou. Le critère d’aspiration permet d’omettre le statut Tabou
sur une solution lorsque certaines circonstances sont respectées. Un critère d’aspiration
trés classique consiste à autoriser une solution Tabou si celle-ci est l’une des meilleures
solutions rencontrées depuis le démarrage de la recherche.
29
Chapitre 4
Dans ce chapitre, on a proposé un algorithme inspiré de [1], pour localiser les ra-
cines d’un système d’équations non linéaires, en utilisant un algorithme d’optimisation
globale. L’algorithme proposé est un algorithme adaptative basée sur la clusterisation des
échantillons.
f1 (x ) = 0
f2 (x ) = 0
30
:
:
:
fn (x ) = 0
Cette étude sert à localiser toutes les racines des systèmes d’équations non linéaires
en utilisant des méthodes d’optimisation globale. Le système originale est transformé en
un problème d’optimisation, et par suite, les méthodes d’optimisation globale tentent
d’estimer tous les minima locaux du pbroblème d’optimisation. Cette procédure permet
de trouver toutes les racines possibles du système.
L’utilisation des méthodes d’optimisation pour résoudre un système d’équations non
linéaires ont été utilisée avec succés. L’avantage de notre algorithme proposé est qu’il est
applicable à n’importe quel problème de test.
Pour utiliser l’algorithme proposé, le système d’équations non linéaires est transformé
en un problème d’optimisation globale. En utilisant la fonction auxiliaire :
X
n
F (x) = fi2 (x)
i=1
f1 (x ) = f2 (x ) = ::: = fn (x ) = 0
et donc x est une racine pour le système correspondant. Trouver tous les x tels que
F (x ) = 0 correspond à localiser toutes les racines du système. Bien sûr, certains des
minima locaux de F (x) pourraient avoir une valeur de fonction supérieur à zéro.
31
Un point x est valide s’il n’est pas proche d’un minimiseur déja localisé, ou d’un autre
point déja selectionné.
Pour la technique de recherche locale on a introduit deux variantes : une méthode uti-
lise le gradient durant la recherche c’est la variante L-BFGS-B (Limited memory BFGS),
et une variante DIRECT, une méthode de recherche par motifs GPS ( patern search
method ).
Une direction de recherche est alors calculée en deux étapes : la méthode de la projec-
tion sur le gradient permet d’identi…er les contraintes actives (c’est à dire l’ensemble des
variables se trouvant sur les faces du polyèdre dé…ni par les contraintes de bornes) : on
minimise mk sur la projection de la direction de plus grande pente ; on calcule xc comme
suit :
Le modèle quadratique créé est alors minimisé suivant les variables libres (c’est à dire
non actives). On calcule une solution approchée notée xk+1 du problème suivant :
8 9
>
< min mk (x) >
=
li xi ui , si i 2= A (xc ) ;
>
: >
;
xi = xci ; si i 2 A (xc ) :
32
où A (xc ) = fi : xci < li ou ui < xci g : La direction de recherche est alors dé…nie
comme étant le vecteur joignant l’itéré courant et cette approximation du minimum du
modèle quadratique dk = xk+1 xk : Finalement, une recherche linéaire est faite pour
obtenir un pas le long de cette direction. Ce pas est calculé de façon à satisfaire la condition
de décroissance
et la condition de courbure
5f (xk+1 )T dk f (xk )T dk ;
4
où ! et sont des paramètres …xés respectivement à 10 et à 0:9. L-BFGS-B consi-
dère qu’une solution du problème initial est trouvée si
kp (xk 5f (xk ) ; l; u) xk k1 :
L’algorithme de recherche par motifs (Gps) a été conçu originellement pour la réso-
lution des problèmes sans contraintes puis étendu à d’autres types de problèmes. Ces pro-
blèmes sont : les problèmes avec contraintes de bornes ; contraintes linéaires ; contraintes
générales introduit ; les problèmes à variables catégoriques.
Cet algorithme permet d’e¤ectuer une sonde locale suivant un ensemble …ni de di-
rections diversi…ées plutôt que nles 2n directionso de la base usuelle, à chaque itération k,
1 2 pk
l’ensemble des directions Dk = dk ; dk ; :::; dk et D, l’ensemble des directions possibles,
doivent satisfaire les conditions suivantes :
- Dk représente un ensemble générateur positif et Dk D ;
- Chaque direction dj 2 D, j = 1; :::; nD , doit être issue d’un produit d’une matrice
non singulière G 2 Rn n par un vecteur d’entiers zj 2 Zn .
Les points de la sonde suivant ces directions sont dé…nis par :
m
Pk = fxk + k d : d 2 Dk g :
33
m
Mk = fx + k Dz : x 2 Vk ; z 2 Np g ; Pk Mk :
De plus, avant l’étape de sonde, l’algorithme propose une étape optionnelle appelée la
recherche globale (SEARCH), à cette étape, la fonction objectif est évaluée à un ensemble
de points générés sur le treillis dans le but de trouver un meilleur point que l’itéré courant
xk , i.e., la meilleure solution trouvée depuis le début de l’exécution de l’algorithme. La
recherche globale est ‡exible car elle donne la possibilité à l’utilisateur de choisir des
solutions qu’il juge intéressantes pour le type de problème traité. Il peut aussi asseoir
ses propres stratégies de recherche ou des stratégies plus génériques comme la recherche
aléatoire.
Contrairement à la recherche par coordonnées, GP S o¤re, en plus de la recherche
globale et des directions plus diversi…ées, la possibilité d’augmenter la taille du treillis
quand une itération est quali…ée de succès, telle que, pour 2 Q; ! + et ! des entiers,
on a
m !k m
k+1 = k ;
avec ( )
f0; 1; :::; ! + g si l’itération est un succès,
!k =
f! ; ! + 1; :::; 1g sinon
La possibilité d’augmenter m k permet d’améliorer considérablement la vitesse de
convergence. De plus, la recherche se fait selon les directions de succès de l’itération
précédente. En e¤et, les directions sont classées de sorte que celles qui ont mené à un
succès sont placées en tête de la liste des prochaines directions.
On peut remarquer que dans le cas particulier de la recherche par coordonnées (algo-
rithme CS), l’ensemble des directions D est [In In ] ; = 2; ! = 1; et ! + = 0: Ainsi,
m 0 m
si l’itération est un succès, la taille du treillis est inchangée k+1 = k ; sinon elle
m 1 m
est réduite par deux k+1 = k :
34
…gure04 : Exemple de di¤érents cadres de GPS : P k = fxk + m d:
k d2Dk g=fp1 ;p2 ;p3 g
– Problème 01 :
Tel que
x = (x1 ; x2 ) et 5 x 5
35
Resultats numériques obtenues pour le problème 01
H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
3:0730 0:0814 0:1279 1:9537
0:0866 2:8842 0:2708 0:9230 4 4:7072
0:2706 0:9230 3:000 2:000
2:9999 2 7 2:5116 0:0866 2:8842
3:7794 3:2832
3:5843 1:8481
2:8051 3:1312
– Problème 02 :
f1 (x) = 104 x1 x2 1
f2 (x) = exp ( x1 ) + exp ( x2 ) 1:001
Tel que
6
5:49 10 x1 4:553
3
2:196 10 x2 18:21
Tel que
36
10 x1 ; x2 10
– Problème 04 :
f1 (x) = 2x1 + x2 + x3 + x4 + x5 6
f2 (x) = x1 + 2x2 + x3 + x4 + x5 6
f3 (x) = x1 + x2 + 2x3 + x4 + x5 6
f4 (x) = x1 + x2 + x3 + 2x4 + x5 6
f5 (x) = x1 x2 x3 x4 x5 1
Tel que
2 xi 2; i = 1; 2; :::; 5:
– Problème 05 :
37
f1 (x1 ; x2 ) = cos (2x1 ) cos (2x2 ) 0:4
f2 (x1 ; x2 ) = 2(x2 x1 ) + sin(2x2 ) sin(2x1 ) 1:2
Tel que
a xi a avec a = 2ou a = 10 ou a = 100:
Pour a = 2
Pour a = 10
f1 (x1 ; x2 ) = ex1 + x1 x2 1
f2 (x1 ; x2 ) = sin(x1 x2 ) + x1 + x2 1
38
Tel que
a xi a avec a = 2 ou a = 10 ou a = 100:
Pour a = 2
Pour a = 10
Pour a = 100
– Problème 07 :
!
D 10x1
f1 (x1 ; x2 ) = (1 R) x1 exp x1
10 (1 + 1) 1 + 10x1
!
D 10x2
f2 (x1 ; x2 ) = x1 (1 + 2 ) x2 + (1 R) 1 x1 (1 + 2 ) x2 exp
10 1 + 10x2
Tel que
39
Resultats numériques obtenues pour le problème 07
H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
0:7332 0:2446 1 4:3333 0:7333 0:2444 1 10:2210
Pour a = 100
40
– Problème 08 :
Tel que
x 2 [0; 2 ]2 :
– Problème 09 :
x2
f1 (x1 ; x2 ) = 0:5 sin (x1 x2 ) 0:25 0:5x1
0:25 x2
f2 (x1 ; x2 ) = 1 (exp (2x1 ) e) + e 2ex1
Tel que
x1 2 [0:25; 1] et x2 2 [1:5; 2 ]:
41
Resultats numériques obtenues pour le problème 09
H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
0:5003 3:1416 0:5 3:1415 1 3:2986
0:2981 2:8337 3 0:6127
0:5156 3:1486
– Problème 10 :
!
1 X
n
xi x3j + i = 0; i = 1; 2; :::; n:
2n j=1
n=2 , 10 xi 10
n=3, 2 xi 2,
– Problème 11 :
Tel que
1
x0 = xn+1 = 0 et h = :
n+1
42
– n=4 , - 41 xi 1
2
n=3 , 3 xi 4,
43
Bibliographie
44
[15] N. Derradji, L. Khal… : Les méthodes Monte Carlo, Quasi Monte Carlo et leurs
applications,(2013).
45
Psoudo code de
l’algorithme proposé
Algorithme de H-LBFGSB
clc
clear all
close all
format long
global functname a b n glob
N=100;
n=2;
a=[-10,-10];
b=[10,10];
functname=@ef1;
glob=0;
ro=1e-2;
eps=1e-4;
tic
S=[];
X=[];
Xs=[];
XS=[];
n=length (a);
p=primes(29);
for j=1 : n
r(:,j) = HaltonSequence(N,p(j));
end
for i=1: N
for j=1:n
x(i,j)=(b(j)-a(j))*r(i,j)+a(j);
end
end
opts = struct('display',false,'xhistory',false,'max_iters',5*n);
l=a';
u=b';
xeps=x(1,:)';
xeps= LBFGSB(@grad,xeps,l,u,opts);
xeps=xeps';
feps=feval(functname,xeps);
if abs(feps-glob)<eps
Xs=[Xs; xeps];
end
S=[S; x(1,:)];
X=[X; xeps]
XS=[S;X]
for i=2:length(x)
for j=1:length(XS(:,1))
norme=norm(x(i,:)-XS(j,:));
if norm(x(i,:)-XS(j,:))< ro
S=[S; x(i,:)];
XS=[S;X]
break
end
end
if norme > ro
opts = struct('display',false,'xhistory',false);
l=a';
u=b';
xeps=x(i,:)';
xeps= LBFGSB(@grad,xeps,l,u,opts);
xeps=xeps';
feps=feval(functname,xeps);
%%%%%%%%%%%%%globale
if abs(feps-glob)<eps
for j=1:length(XS(:,1));
norme=norm(xeps-XS(j,:));
if norm(xeps-XS(j,:))< ro
XS=[XS;xeps;x(i,:)];
break
end
end
if norme > ro
Xs=[Xs; xeps];
XS=[XS;xeps;x(i,:)]
end
end
end
end
Xs
toc
Suite de Halton
function hs = HaltonSequence(n,b)
% Function to generates the first n numbers in Halton's low
% discrepancy sequence with base b
%
% hs = HaltonSequence(n,b)
%
% Inputs: n - the length of the vector to generate
% b - the base of the sequence
%
% Notes: This code focuses on details of the implementation of the
% Halton algorithm.
% It does not contain any programatic essentials such as error
% checking.
% It does not allow for optional/default input arguments.
% It is not optimized for memory efficiency or speed.
function hn = localHaltonSingleNumber(n,b)
% This function generates the n-th number in Halton's low
% discrepancy sequence.
n0 = n;
hn = 0;
f = 1/b;
while (n0>0)
n1 = floor(n0/b);
r = n0-n1*b;
hn = hn + f*r;
f = f/b;
n0 = n1;
end
Algorithme de H-GPS
clc
clear all
close all
format long
global functname a b n glob
N=100;
n=2;
a=[-10 -10];
b=[10 10];
functname=@ef1;
glob=0;
ro=1e-2;
eps=1e-4;
tic
S=[];
X=[];
Xs=[];
XS=[];
n=length (a);
p=primes(29);
for j=1 : n
r(:,j) = HaltonSequence(N,p(j));
end
for i=1: N
for j=1:n
x(i,j)=(b(j)-a(j))*r(i,j)+a(j);
end
end
x;
xeps=x(1,:)';
options=psoptimset('PollMethod','gsspositivebasis2n');
[xeps,feps]=patternsearch(functname,xeps,[],[],[],[],a,b,options);
xeps=xeps';
if abs(feps-glob)<eps
Xs=[Xs; xeps]
end
S=[S; x(1,:)];
X=[X; xeps];
XS=[S;X];
for i=2:length(x)
for j=1:length(XS(:,1))
norme=norm(x(i,:)-XS(j,:));
if norm(x(i,:)-XS(j,:))< ro
S=[S; x(i,:)];
XS=[S;X];
break
end
end
if norme > ro
opts = struct('display',false,'xhistory',false);
xeps=x(i,:)';
options=psoptimset('PollMethod','gsspositivebasis2n');
[xeps,feps]=patternsearch(functname,xeps,[],[],[],[],a,b,options);
xeps=xeps';
%%%%%%%%%%%%%globale
if abs(feps-glob)<eps
for j=1:length(XS(:,1))
norme=norm(xeps-XS(j,:));
if norm(xeps-XS(j,:))< ro
XS=[XS;xeps;x(i,:)];
break
end
end
X=[X; xeps];
if norme > ro
Xs=[Xs; xeps];
XS=[XS;xeps;x(i,:)];
end
end
end
end
toc
Xs
Suite de Halton
function hs = HaltonSequence(n,b)
% Function to generates the first n numbers in Halton's low
% discrepancy sequence with base b
%
% hs = HaltonSequence(n,b)
%
% Inputs: n - the length of the vector to generate
% b - the base of the sequence
%
% Notes: This code focuses on details of the implementation of the
% Halton algorithm.
% It does not contain any programatic essentials such as error
% checking.
% It does not allow for optional/default input arguments.
% It is not optimized for memory efficiency or speed.
function hn = localHaltonSingleNumber(n,b)
% This function generates the n-th number in Halton's low
% discrepancy sequence.
n0 = n;
hn = 0;
f = 1/b;
while (n0>0)
n1 = floor(n0/b);
r = n0-n1*b;
hn = hn + f*r;
f = f/b;
n0 = n1;
end
ملخص
كما اقتزحنا خىارسميت.في هذه انمذكزة تناوننا بعض طزق انتجىيد انشامم انعشىائيت
اننتائج.نحم جمهت معادالث غير خطيت مه خالل تحىيم هذه انجمهت إنى إشكانيت تجىيد شامم
. فعانت أثناء انتطبيقH-LBFGSB انمتحصل عهيها تظهز أن طزيقت
. جمهت معادالث غيز خطيت، طزيقت عشىائيت، انتجىيد انشامم: الكلمات المفتاحية
Résumé :
Dans ce mémoire, nous présentons quelques méthodes
stochastiques d’optimisation globale. Ainsi on a proposé un
algorithme pour la résolution d’un système d’équations non-linéaires
où on a transformé ce système à un problème d’optimisation globale.
Les résultats préliminaires montrent que la variante H-LBFGSB est
prometteuse.
Abstract :
In this thesis we present some stochastic global optimization
methods. Also we proposed an algorithm for solving a system of
nonlinear equations where this system is transformed into a global
optimization problem. Preliminary numerical results indicate that the
H-LBFGSB variant is promising.