Vous êtes sur la page 1sur 56

‫الجوهىريت الجسائريت الديوقراطيت الشعبيت‬

‫وزارة التعليــن العالــي والبحــث العلوــي‬

Université Ferhat ABBAS Sétif 1 1 ‫جاهعـــت فرحاث عباش سطيــف‬


Faculté des Sciences ‫كــــلـــيـــت الــعــــلـــىم‬

Département : Mathématiques

MEMOIRE DE MASTER

DOMAINE : Mathématiques et Informatique


FILIERE : Mathématiques
SPECIALITE : Optimisation et contrôle

Thème

Un algorithme pour la résolution d’un système


d’équations non-linéaires

Présenté par: Dirigé par:

DEMOUCHE Dounia Dr. Raouf ZIADI


&
HADDADJ Ilham

Promotion : 2021/2022
Table des matières

Introduction ii

1 Notions de base et résultats préliminaires 2


1.1 Qu’est-ce qu’un problème d’optimisation ? . . . . . . . . . . . . . . . . . . 2
1.2 Notions de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 variable aléatoire réelle . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Loi de probabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.3 Fonction de répartition . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.4 Variable aléatoire réelle continue . . . . . . . . . . . . . . . . . . . . 3


1.2.5 Loi uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.6 La tribu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.7 La mesure de Lebesgue sur R. . . . . . . . . . . . . . . . . . . . . . 4

1.2.8 Mesure de Lebesgue sur Rn . . . . . . . . . . . . . . . . . . . . . . 4

2 Les méthodes stochastiques passives 6


2.1 Algorithme de recherche aléatoire pure . . . . . . . . . . . . . . . . . . . . 6
2.2 Algorithmes de recherche quasi-aléatoire . . . . . . . . . . . . . . . . . . . 10
2.2.1 Disperssion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.2 Discrépance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.3 les suites à discrépance faible . . . . . . . . . . . . . . . . . . . . . 15

3 Les méthodes stochastiques adaptatives 22


3.1 La méthode Multistart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Méthodes de regroupement ”Clustering Methods” . . . . . . . . . . . . . . 23

3.2.1 La méthode à densité de regroupement . . . . . . . . . . . . . . . . 23


3.2.2 La méthode de Regroupement à Liaison Simple . . . . . . . . . . . 24

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

4 Un algorithme pour la résolution numérique d’un système d’équations

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

4.4 Tests numériques : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

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

R L’ensemble des nombres réels.


Rn L’espace euclidien de dimension n.
d (:; :) La distance euclidienne dans Rn :
dAe La partie entière de A.
1j La fonction indicatrice.
La mesure de Lebesgue sur Rn :
La fonction Gamma.
i.i.d Abréviation de "indépendants et identiquement distribués".
B(E) La tribu borélienne sur E.

1
Chapitre 1

Notions de base et résultats


préliminaires

Dans ce chapitre, nous allons introduire certaines notions et résultats des outils fonc-
tionnels de base nécessaires pour l’optimisation globale.

1.1 Qu’est-ce qu’un problème d’optimisation ?


Soit D est un sous-ensemble non vide de Rn . Considérons un problème d’optimisation
de la forme :
minf (x) (P ):
x2D

– La fonction f : Rn ! R est appelée fonction coût, objectif ou critère.


– L’ensemble D est appelé domaine faisable.
– Tout point x 2 Rn véri…ant : x 2 D, est appelé point admissible du (P ).
Chercher une solution du problème (P ) revient à chercher un point de minimum local
(global) de f dans l’ensemble des points admissibles, au sens de la dé…nition suivante :

Dé…nition 1.1.1 (Minimum local)


Donnons un ensemble non vide, fermé D Rn , et une fonction f : D ! R. Soit
> 0 et V (x ; ) un voisinage d’un point x de Rn , dé…ni comme une boule ouverte par :

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:

1.2 Notions de base


1.2.1 variable aléatoire réelle
Dé…nition 1.2.1 Etant donné un univers ; une variable aléatoire réelle (v:a:r) est une
application de dans R :

X:!2 ! X (!) 2 R

1.2.2 Loi de probabilité

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

PX (A) = P (f! 2 : X (!) 2 Ag) :

1.2.3 Fonction de répartition

Dé…nition 1.2.3 La fonction de répartition de la v:a:r: X est dé…nie par :

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.

4. FX est continue à droite.

1.2.4 Variable aléatoire réelle continue

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.6 Soit un ensemble et A P ( ) une famille de parties de . On dit


que A est une tribu sur , si l’on a les trois propriétés suivantes :
– 2 A.
– Si A 2 A alors Ac 2 A .
+1
– Si (An )n 1 est une suite de A alors [ An 2 A .
n=1

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... )

1.2.7 La mesure de Lebesgue sur R.

Dé…nition 1.2.8 Il existe une unique mesure positive sur (R; B (R)) telle que :

(]a; b[) = b a

pour tous a; b 2 R tels que a b.


On l’appelle la mesure de Lebesgue sur R.

1.2.8 Mesure de Lebesgue sur Rn

Dé…nition 1.2.9 Rappelons que un pavé P de Rn est un produit d’intervalles bornés


P = I1 ::: Im ; où Ij R (j = 1; :::; m) est un intervalle borné. La mesure du pavé P
est donnée par :

4
m (P ) = jI1 j ::: jIm j ,
où jIj j est la longueur du segment Ij :

5
Chapitre 2

Les méthodes stochastiques passives

Les méthodes probabilistes se sont imposées dans plusieurs branches de la science.


Le développement rapide de l’automatisme et de l’informatique a donné naissance à des
nouvelles méthodes de la théorie des probabilités appliquées à partir des années 50. Il
s’agit de la modélisation stochastique et des algorithmes stochastiques qui constituent un
terrain où les problèmes ouverts restent nombreux et d’un grand intérêt. Le développement
théorique des algorithmes stochastiques est actuellement bien avancé.
L’objet du présent chapitre est de construire une suite de points en utilisant
les méthodes stochastiques passives. Ces méthodes sont des algorithmes qui consistent à
générer dans l’ensemble faisable D une grille à partir d’une certaine loi de probabilité, et
calculer les valeurs de f en tout point xi 2 EN : Une grille (aléatoire ou quasi-aléatoire)
est une suite de points EN = fx1 ; :::; xN g :
Les méthodes stochastiques passives sont utilisés dans les cas suivants :
i/ La fonction objectif n’est pas connue analytiquement mais connue à travers des
évaluations numériques observables à une perturbation aléatoire prés.
ii/ La fonction objectif est compliquée on peut l’approcher, en moyenne, par une
quantité aléatoire.
iii/ La fonction objectif est connue analytiquement mais elle est trop oscillante ou
l’ensemble faisable est de grande dimension (n > 100).

2.1 Algorithme de recherche aléatoire pure


La méthode stochastique la plus simple consiste à évaluer f en un ensemble de points
générés d’une manière indépendante et suivant la loi uniforme.

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:

Algorithme 2.1.1 a plusieurs noms di¤érents ; Recherche Brute, Recherche Aléatoire


Pure, Bombardement Aléatoire, Méthode Monte Carlo, etc.. Il utilise la règle la plus
simple de stop qui consiste à s’arrêter après un certain nombre de points d’évaluation. Mais
il existe d’autre critères d’arrêt plus sophistiqués basés sur des procédures de statistiques
mathématiques qui permettent d’avoir certaines informations sur la qualité de la solution
obtenue. La simplicité de cet algorithme nous permet de tirer facilement les propriétés
théoriques suivantes.
Considérons une suite de variables aléatoires X1 ; X2 ; ::: indépendantes est identique-
ment distribuées gouvernées par la loi uniforme sur D, et désignons par P la loi du proces-
sus fXk gk 1 . Pour une formulation mathématique, on peut prendre = DN , c’est à dire
l’ensemble de toutes les suites d’éléments de D, muni de la tribu borélienne = B(DN )
qui est la tribu engendrée par la topologie produit sur DN : P est alors la mesure de proba-
bilité qui peut être introduite sur ( ; ) telle que les variables aléatoires X1 ; X2 ; ::: suivent
indépendamment la loi uniforme en les considérant des projections canoniques :
Xj : ( ; ; P) ! (D; B(D); U(D))
! ! Xj (!) = xj
où U(D) est la loi uniforme sur D:
Soit x 2 arg min f (x) un minimiseur global de f sur D. Soit la boule fermée
B(x ; ") = fx 2 D; kx x k "g, on a

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)

Donc pour tout N 2 N


N
(B(x ; "))
P min kXi xk " =1 1 :
1 i N (D)
On déduit que

limP min kXi xk " = 1:


N 1 i N

C’est à dire que, la suite de variables aléatoires fYN gN 1 de terme général

YN = min kXi xk
1 i N

converge en probabilité vers 0:


En plus, on peut estimer le taux de convergence de Algorithme2.1.1. En e¤et,
désignons par A le premier instant d’entrée de la suite X1 ; X2 ; :::; dans A 2 B(D) :

A = min fk 1; Xk 2 Ag :

Théorème 2.1.2 Le nombre moyen de points d’évaluation nécessaires à Algorithme2.1.1


pour atteindre l’ensemble B(x ; ") est :

(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

Preuve. Déterminons N tel que P min kXi xk " 1 .


1 i N
On a
n N
"n
2
P min kXi xk " =1 1 1 ;
1 i N (D) ( n2 + 1)
par conséquent,

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

Le tableau suivant montre l’in‡uence de la dimension n sur le nombre N de points


d’évaluation de f pour D = [0; 1]n , " = 0:01 et = 0:1

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 Algorithmes de recherche quasi-aléatoire


Les algorithmes de recherche quasi-aléatoire utilisent des grilles di¤érentes de celles
générées dans la section précédente, suivant la loi uniforme. Mais, les deux types ont
des propriétés statistiques presque identiques. Ce genre des grilles s’appellent “les grilles
pseudo-aléatoires”ou“quasi-aléatoires”. Elles sont construites dans le cube unité[0; 1]n :
On optimisation globale, la qualité d’une grille dépent boucoup du degré de l’unifor-
mité.

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

où est une distance sur D.

On optimisation globale, on utilise la dispersion (où est la distance euclidienne) pour


mesurer la non uniformité d’une grille. Et pour le même but, on utilise la -dispersion
mais à condition que la boule unité

B(0; 1) = fx 2 Rn ; (0; x) 1g

soit symétrique par rapport aux coordonnées de la variable x.


0
Si EN et EN sont deux grilles dans l’ensemble D et ayant le même nombre d’éléments
N , alors la grille la plus uniforme et celle qui a la plus petite dispersion.

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

Le mot discrépance signi…e "désaccord" (du latin discrepare : rendre un son


di¤érent, ne pas être d’accord). Dans un contexte mathématique il s’agit d’une mésure
de l’écart existant entre une situation de référence, généralement l’uniformité parfaite, et
une con…guration donnée. La discrépance est une mesure de la non uniformité d’une suite
dans le pavé unité multidimensionnel [0 1]n :
Ainsi la question de la discrépance constitue une partie essentielle de la théorie de
l’équirépartition. L’étude de l’équirépartition des suites est née de la volonté d’obtenir des
réponses quantitatives à la distribution uniforme.

Nous cherchons à estimer une intégrale :


Z
f (u) du
In

11
dont le domaine est le cube unitaire en dimension n :

I n = [0 1]n

et la fonction à intégrer est :

f : In ! R

L’approximation utilisée est :

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

Minimalement, il faut que

Z
1 N
lim f (u) = f (u) du
N !1 N i=1 In

pour une classe raisonnable de fonctions : f : I n ! R


Disons qu’il faudrait que l’égalité soit satisfaite pour l’ensemble C (I n ; R) de toutes
les fonctions f qui sont continues sur le domaine I n :
Cette dernière condition
Z
1 N
lim f (u) = f (u) du; 8f 2 C (I n ; R)
N !1 N i=1 In

est satisfaite si la suite de points x1 ; x2 ; :::est uniformément distribuée sur le cube


unitaire I n , c’est-à-dire que

1 N
lim 1J(xi ) = (J) ;
N !1 N i=1

car (D) = 1; pour tout sous intervalle J de I n avec 1J la fonction caractéristique de


J , et (J) est la mesure de Lebesgue de dimension n:

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 .

Dé…nition 2.2.4 Soit EN un ensemble de point contenant la suite x1 ; x2 ; :::xN élement


de I n : Si B est un ensemble non vide qui est un sous intervalle de I n ; alors la forme
génerale de la discrépance de l’ensemble EN est donnée par :

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

De cette dé…nition, la discrépance peut être interprétée comme mesure de non


uniformité d’une suite dans le pavé unitaire [0; 1]n , c’est-à-dire des mesures de la distance
entre la distribution empirique d’un ensemble de points donnés et la distribution uniforme.

Les types de discrépance

On peut envisager plusieurs types de discrépance

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 :

DN (xN ) DN (xN ) JN (xN ) 1

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é.

Proposition 2.2.9 Pour un ensemble EN de I n , nous avons :

DN (EN ) DN (EN ) 2DN (EN )

Théorème 2.2.10 Pour une suite x1 ; x2 ; :::; xN d’élements de I n ; telle que 0 x1


x2 ::: xN 1 , nous avons :

1 2n 1
DN (x1 ; x2 ; :::; xN ) = + max xn
2N 0 n 1 2N

Théorème 2.2.11 Pour une suite x1 ; x2 ; :::; xN d’élements de I n ; telle que 0 x1


x2 ::: xN 1, nous avons :

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.

La suite de Van Der Corput :

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 :

xk = 'b (k) 2 [0; 1[ ; k 0

est appelée suite …nie de Van Der Corput en base b .

Exemple 2.2.13 Prenons comme base b = 3

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;

où 'bi (k) est la suite de Van Der Corput en base bi :

16
Les suites de Halton sont des généralisations dans le cas multidimensionnels des suites
de Van Der Corput
.

Exemple 2.2.15 Si on est dans la dimension n = 3 et si on prend comme bases b1 =


2; b2 = 3; b3 = 5 . Alors on a quelques premiers points de la suite de Halton sont générés
dans le tableau suivant :

k écriture en base 2 '2 écriture en base 3 '3 écriture en base 5 '5


1 1 1=2 1 1=3 1 1=5
2 10 1=4 2 2=3 2 2=5
3 11 3=4 10 1=9 3 3=5
4 100 1=8 11 4=9 4 4=5
5 101 5=8 12 7=9 10 1=25
6 110 3=8 20 2=9 11 6=25
7 111 7=8 21 5=9 12 11=25
8 1000 1=16 22 8=9 13 16=25
9 1001 9=16 100 1=27 14 21=25
TABLEAU 02 : Les 9 premiers points de la suite de Halton en base respectifs 2,3,5 avec n=3.

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.

Théorème 2.2.16 La discrépance des N premiers termes d’une grille EN = fxi ; 1 i Ng


de Halton véri…e l’inégalité :
!
(ln N )n (ln N )n 1
DN (EN ) n +O :
n N


n bi 1
n =
i=1 2 ln bi

La Suite de Hammersley

Une suite de Hammersley en dimension n est construite à partir d’un terme


dépendant du nombre de points et d’une suite de Halton en dimension n 1:

Dé…nition 2.2.17 Pour une dimension n 2, un entier m 1 e tb1 ; b2 ; :::; bn 1 2,


l’ensemble de m points de Hammersley en base b1 ; b2 ; :::; bn 1 est donné par :

18
k
xk = ; ' (k) ; 'b2 (k) ; ::::'bn (k) 2 [0; 1[n ; pour tout k 0:
m b1 1

Exemple 2.2.18 Voici la représentation graphique d’ensembles de points (n = 500) de


la suite de Hammersley dans les bases 2, 3, 7 et 11.

Figure 2-Les 500 nombres de la suite de Hammersley

La Figure 2 montre la distribution de la suite de Hammersley avec des bases di¤érentes


lorsque n = 500. On remarque que quand b = 2 , on obtient le modèle le plus uniformément
réparti, dés que la base augmente le modèle devient de plus en plus régulier. Les points
ont tendance à s’aligner en formant des diagonales .

Théorème 2.2.19 La discrépance des N premiers termes d’une grille EN = fxi ; 1 i Ng


de Hammersley en dimension n véri…e l’inégalité :
!
(ln N )n 1
(ln N )n 2
DN (EN ) n 1 +O ;
n N
où n est dé…nie comme ci-dessus.

19
La suite de Faure

L’uniformité des suites de Halton et Hammersley se dégradent en grande dimen-


sion parce que les éléments sont dé…nies à l’aide de suite de Van der Corput associées
à des bases b 1. Faure a dé…ni di¤érentes extensions des suites multi-dimensionnelles
de Van der Corput dans lesquelles les mêmes bases sont utilisées pour tout les éléments.
Cette base b doit être un nombre premier supérieur ou égal à la dimension de l’espace
(b n), mais ce nombre est typiquement beaucoup plus petit que le neme nombre premier
utilisé pour dé…nir les suites de Halton et Hammersley.
Soit b1 ; b2 ; :::bn ; n élément distincts de f0; :::; b 1g . Une suite de Faure est
dé…nie par :

dlogb (k)e
X
xik = xi;j
k b
j
; pour k 1 et i = 1; :::; n
j=1

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.

Théorème 2.2.20 Si EN = fxi ; 1 i N g est une suite de Faure en base b, alors :


!
(ln N )n (ln N )n 1
DN (EN ) n +O
N N
avec
3 1 b 1 n
2 = 16(ln 2)2
: et n = n! 2 ln b
pour n 3:

21
Chapitre 3

Les méthodes stochastiques


adaptatives

Dans ce chapitre, on a proposé quelques méthodes stochastiques adaptatives les


plus connues. Elles sont adaptatives, car ces méthodes adapte l’information obtenue à une
itération k pour améliorer la minimisation de la fonction f à une itération k+1.

3.1 La méthode Multistart


Historiquement, la méthode multistart est l’une des premières méthodes d’op-
timisation globale qui était largement utilisée. Elle consiste à e¤ectuer des recherches
multiples (successives ou simultanées) d’extrema locaux à partir de di¤érents points ini-
tiaux qui sont fréquemment choisis parmi les éléments d’une grille uniforme de l’espace
faisable D.
Si les minima locaux sont éloignés l’un de l’autre, la méthode Multistart est
modi…ée par l’une des deux façons suivantes :

i/ On applique une procédure de descente LS (local search) au voisinage de chaque


minimiseur local. Cette approche n’est possible que si l’on est capable de choisir les voisi-
nages qui sont des domaines d’attraction des minimiseurs locaux correspondants, ceci est
trés di¢ cile et même impossible en général.

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.

3.2 Méthodes de regroupement ”Clustering Methods”

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 :

3.2.1 La méthode à densité de regroupement


”Density Clustering method (DC)”

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.

3.2.2 La méthode de Regroupement à Liaison Simple


”Single Linkage Clustering method (SLC)” :

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

où rk est une certaine distance critique.


Des expériences numériques indiquent que le regroupement à liaison simple s’approche
des minimiseurs locaux plus étroitement que la méthode à densité de regroupement. Une
description des étapes de la méthode à liaison simple peut être donnée comme suit :

Algorithm 3.2.2 Algorithme de la methode (SLC)


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
kN meilleurs points à partir de l’échantillon x1 ; x2 ; :::; xkN .
Poser 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 ), choisir le j ieme minimiseur
local dans D comme un point foyer et aller à l’étape 3. Si j > card(D ),
sélectionner comme foyer prochain, le point d’échantillon réduit non
clusterisé x correspondant à la plus petite valeur def: Appliquer LS à x
pour trouver un minimiseur local x et ajouter x à D :
Etape 3 - Ajouter tous les points d’échantillon réduit non clusterisés,
qui sont à une distance rk d’un point appartenant au cluster initié par
le foyer x et sélectionné dans l’étape 2, à ce même cluster.
Incrémenter j et retourner à Etape2.
Etape 4 - Si la condition d’arrêt est satisfaite, arrêter et retourner la
meilleure solution trouvée. Sinon, incrémenter k et retourner à l’étape1.

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

où est une certaine constante positive.

Ce choix garantit que, si > 2, la probabilité qu’une recherche locale s’e¤ectue


par la liaison simple à l’itération k, tend vers zéro quand k s’accroît. De plus si > 4, le

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.

3.2.3 Multi-recherches locales à liaison simple avec niveau


”Multi Level Single Linkage” (MLSL)

La méthode à liaison simple avec niveau combine les procédures de regroupement


avec les techniques de la méthode Multistart. La procédure de recherche locale LS est
appliquée à chaque point d’échantillon, sauf s’il y a un autre point d’échantillon se trouvant
à une distance critique et qui a une évaluation plus petite. Les étapes de l’algorithme sont
comme suit :

Algorithm 3.2.3 Algorithme de la méthode (MLSL)


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. Poser i = 1.
Etape 2 - S’il existe un x 2 D véri…ant f (x ) < f (xi ) et kx xi k rk
aller à l’étape 3. Sinon, appliquer LS à xi , et ajouter à D le minimum
local trouvé.
Etape 3 Incrémenter i. Si i < kN , aller à l’étape 2. Sinon, si la condition
d’arrét est satisfaite, arréter et retourner la meilleure solution
trouvée. Sinon, incrémenter k et retourner à l’étape1:

La distance critique est choisie comme suit :


1
1 n ln (kN ) n
rk;i =p 1+ : (D) : :
2 kN
Malgré sa simplicité, les propriétés théoriques de cet algorithme sont les mêmes que la
variante précédente. En e¤et,
- Si > 2; la probabilité d’appliquer une recherche locale dans l’itération k tend vers
zéro quand k s’accroît.

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.

3.3 Méthode de Recuit Simulé

Le recuit simulé est une méthode d’optimisation stochastique inspirée de la mé-


canique statistique ; son but est de trouver une solution optimale pour un problème donné.
Elle a été mise au point par trois chercheurs de la société IBM : S. Kirkpatrick, C.D. Gelatt
et M.P. Vecchi en 1983, et indépendamment par V. Cerny en 1985 à partir de l’algorithme
de Metropolis ; qui permet de décrire l’évolution d’un système thermodynamique.
La méthode du recuit simulé est basée sur un processus très utilisé en métallurgie
pour obtenir un alliage sans défaut, ce processus est appelé « le recuit » .
On commence d’abord par chau¤er le métal jusqu’à une certaine température
où il devient liquide (les atomes peuvent donc circuler librement). Après avoir atteint
ce stade, on abaisse la température très lentement de sorte à obtenir un solide. Si cette
baisse de température est brusque on obtient alors du verre ; si au contraire cette baisse
de température est très lente (laissant aux atomes le temps d’atteindre l’équilibre statis-
tique), nous obtiendrons des structures de plus en plus régulières, jusqu’à atteindre un
état d’énergie minimale correspondant à la structure parfaite d’un Crystal, on dit alors
que le système est « gelé » . Au cas où cet abaissement de température ne se ferait pas
assez lentement, il pourrait apparaitre des défauts. Il faudrait alors les corriger en réchauf-
fant de nouveau légèrement la matière de façon à permettre aux atomes de retrouver la
liberté de mouvement, leur facilitant ainsi un éventuel réarrangement conduisant à une
structure plus stable.
L’idée principale du recuit simulé tel qu’il a été proposé par Metropolis en 1953
est de simuler le comportement de la matière dans le processus du recuit très largement
utilisé dans la métallurgie. Le but est d’atteindre un état d’équilibre thermodynamique, cet
état d’équilibre (où l’énergie est minimale) représente - dans la méthode du recuit simulé
–la solution optimale d’un problème ; L’énergie du système sera calculé par une fonction
coût (ou fonction objectif) spéci…que à chaque problème. La méthode va donc essayer de
trouver la solution optimale en optimisant une fonction objectif, pour cela, un paramètre
…ctif de température a été ajouté par Kirkpatrick, Gelatt et Vecchi. En gros le principe
consiste à générer successivement des con…gurations à partir d’une solution initiale x0 et

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).

Algorithme de Recuit Simulé


Dans l’algorithme de recuit simulé, on part d’une con…guration donnée (généra-
tion d’une solution initiale), et on lui fait subir une modi…cation aléatoire y.
Si cette modi…cation fait diminuer la fonction objectif (ou énergie du système), ou
f (y) f (x) ; elle est directement acceptée. Sinon , elle n’est acceptée qu’avec une pro-
babilité exp( fxy =T ), où fxy = f (y) f (x) et T la température.
Si la dégradation fxy diminue ou la température est élevé, alors on obtient une
probabilité plus grand d’acceptér le nouveaux point généré y.

Algorithm 3.3.1 Algorithme du Recuit Simulé (SA)


Etape 0 - Donner T0 : température initiale, poser T = T0 et choisir Tf in ,
comme température …nale.
- Donner L, la longueur maximale de la chaîne.
- Choisir une solution initiale x0 , et poser x = x0 , k = 0.
Etape 1- Choisir y suivant une certaine loi de probabilité, calculer
fxy = f (y) f (x): Si fxy 0, alors poser x = y. Sinon, générer un
nombre alétoire w 2 [0; 1[ : Si exp( fxy =Tk ) > w, alors poser x = y.
Etape 2- Si k < L, alors poser k = k + 1 et répéter l’étape 1 ; sinon
décroitre la température T . Si T > Tf in , poser k = 0 et répéter
l’étape 1 ; sinon, retourner à la meilleure solution trouvée.

3.4 Méthode de Recherche de Tabou

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.

Algorithm 3.4.1 Algorithme de recherche Tabou (RT)


Etape 0 x0 : une solution initiale, x = x0 ; x = x0 ; f = f (x0 ) ; Lt = :
Etape 1 Générer un sous-ensemble de solutions au voisinage de x, x0 2 N (x) tel
que 8y 2 N (x) ; f (y) f (x0 ) et x0 2
= Lt . Si f (x0 ) < f alors x = x0 et
f = f (x0 ) : Mise-à-jour de Lt .
Etape 2 Si la condition où critère d’arrêt est atteinte, stop x est la solution
optimal, sinon retour à l’étape 1.

29
Chapitre 4

Un algorithme pour la résolution


numérique d’un système d’équations
non-linéaires

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.

4.1 Formulation de problème


Un 8système d’équations non linéaires est dé…nie par :
>
> f1 (x) = 0
>
>
>
> f2 (x) = 0
>
>
< :
(S) =
>
> :
>
>
>
> :
>
>
:
fn (x) = 0
avec x 2 D = [a1 ; b1 ] [a2 ; b2 ] ::: [an ; bn ] Rn et f1 ; f2 ; :::; fn sont des fonctions non
linéaires et continues.
Un point x 2 D est une solution du système, si chaque équation du système est
nulle, i.e :

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

Par dé…nition, F (x) 0. Si 9x : F (x ) = 0, alors cela implique que x est un


minimum global et par la suite :

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.

Algorithm 4.1.1 Algorithme proposé


Initialisation : Poser X = (l’ensemble des minimiseurs locaux )
D = (l’ensemble des minimiseurs globaux)
S = (l’ensemble des points valides)
-Générer une grille de Halton de N points dans l’ensemble faisable D:
Etape principale : pour i=1...N
- Choisir un point x.
-Si x 2= S [ X, alors poser S = S [ x et appliquer une procédure de recherche
local ( L-BFGS-B , GPS ) partant de x, on obtient x .
- Si x 2 = X alors poser X = X [ x et véri…er si F (x ) < ": Si c’est le cas,
poser D = D [ x :

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 ).

4.2 L’Algorithme LBFGSB


Le code LBFGSB est une extension du code LBFGS utilisé en optimisation sans
contraints. Cette extension permet de résoudre des problèmes de grande taille avec des
contraintes de bornes. A chaque itération, une approximation Mk du hessien est calculée
à l’aide des formules de BFGS à mémoire limitée. Cette approximation est utilisée pour
construire un modèle quadratique de la fonction objectif

mk (x) = f (xk ) + 5f (xk )T (x xk ) + (x xk )T Mk (x xk ) :

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 :

xc = x(tc ) avec tc = min fmk (x (t))g ou x (t) = p (xk t 5 f (xk ) ; l; u) ;


t

où p est l’opérateur de projection dé…ni pour i = 1;...; n par


8 9
>
< li si yi < li : >
=
p (y; l; u)i = yi si li yi ui .
>
: >
;
ui si ui < yi :

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

f (xk+1 ) f (xk ) + ! 5 f (xk )T dk

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 :

4.3 Algorithme de recherche par motifs (GP S)

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 :

à l’itération k, l’ensemble Vk contient l’historique des points où la fonction f a été


évaluée depuis le début de l’itération. Tous les itérés générés doivent appartenir au treillis,
qui est une discrétisation de l’espace des variables, dé…ni par :

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

4.4 Tests numériques :

Dans cette section, nous présentons quelques résultats numériques d’application de


l’algorithme proposé appliqués sur onze problèmes tirées de [1] et [2] pour localiser toutes
les racines. Dans tous les résultats reportés, N r désignent le nombre des racines trouvées,
D et N representent, respectivement, l’ensemble des minimiseurs globaux et le nombre
d’échantillons pris, et CP U est le temps de calcul en second. Pour les problèmes pb1, pb3,
pb5, pb8, pb9, pb11, N = 100; N = 200 pour pb4, N = 300 pour les problèmes pb7 et
pb10, et N = 500 pour les problèmes pb2 et pb6.
Les expériences ont été réalisées sur PC avec Intel Core i5. Les codes ont été implé-
mentés sur MATLAB R2015a.

– Problème 01 :

f1 (x) = 4x31 + 4x1 x2 + 2x22 42x1 14


f2 (x) = 4x32 + 4x1 x2 + 2x21 26x2 22

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

Resultats numériques obtenues pour le problème 02


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
5
Echec - - 1:4344 10 6:9714 1 23:1132
– Problème 03 :

f1 (x) = 1 2x2 + 0:2 sin (4 x2 ) x1


f2 (x) = x2 0:5 sin (2 x1 )

Tel que

36
10 x1 ; x2 10

Resultats numériques obtenues pour le problème 03


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
0:4091 0:2702 1 2:0602 0:4091 0:2702
1:8781 0:3459 0:1215 0:3458 5 10:6859
1:5908 0:2702
1:8784 0:3458
6
1:000 1:1302 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:

Resultats numériques obtenues pour le problème 04


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
0:9995 0:9998 0:9995 0:9995 1:0017 0:9999,0:999,0:9999,0:9999,1:001 1 33:5857
0:9161 0:9168 0:9159 0:9165 1:4182
0:9954 0:9956 0:9874 0:9952 1:0308
0:9954 0:9958 0:9973 0:9948 1:0207 7 4:8891
0:9919 0:9919 0:9983 0:9943 1:0297
0:9179 0:9193 0:9192 0:9187 1:4062
0:9230 0:9224 0:9139 0:9250 1:3934

– 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

Resultats numériques obtenues pour le problème 05


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
0:1560 0:4921 1 0:9840 Echec - -

Pour a = 10

Resultats numériques obtenues pour le problème 05


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
2:4614 0:8816 0:6802 2:2599
2:9858 2:6491 6:9634 8:5431
3:2972 3:6339 5:6029 4:0231 6 4:6191
6:1296 5:7939 2:4613 0:8816
0:6801 2:2599 12 0:9311 3:8218 5:4015
0:1556 0:4924 8:7445 7:1647
5:6029 4:0232
9:5804 9:9172
6:9633 8:5431
6:4389 6:7757
9:2690 8:9323
8:7445 7:1648
– Problème 06 :

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

Resultats numériques obtenues pour le problème 06


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
4
0:4997 10 0:0003 1 3:7090 0 1 1 19:3279

Pour a = 10

Resultats numériques obtenues pour le problème 06


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
0:0011; 0:0026 00:9999 1 19:5586
1:6636; 2:5714 3 16:0138
1:7730; 2:7573

Pour a = 100

Resultats numériques obtenues pour le problème 06


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
Echec - - 0 0:9999 1 19:7068

– 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

xi 2 [0; 1] et = 1000; D = 22; 1 = 2; 2 = 2; R = 0:945:

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

Resultats numériques obtenues pour le problème 05


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
15:8635 16:2001 Echec - -
0:1601 0:4950
28:1186 27:7818
47:8040 49:3838
68:9593 68:6221
50:1091 49:7719
12:7220 13:0587
11:8858 10:3071
5:6029 4:0232
69:7966 71:3749
53:2575 52:9200
37:5443 37:2065
19:5296 21:1094
59:8447 60:1820 28 1:0310
76:0784 77:6581
40:1603 38:5809
25:8129 27:3928
6:9632 8:5431
55:8689 54:2877
24:4531 22:8732
62:9880 63:3248
19:0049 19:3416
3:8218 5:4016
13:2465 14:8262
46:9681 46:6309
3:2972 3:6340
59:010 57:4303
40:6847 40:3480

40
– Problème 08 :

f1 (x1 ; x2 ) = sin (x1 ) cos (x2 ) 2 cos (x1 ) sin (x2 )


f2 (x1; x2 ) = cos (x1 ) sin (x2 ) 2 sin (x1 ) cos (x2 )

Tel que
x 2 [0; 2 ]2 :

Resultats numériques obtenues pour le problème 08


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
6:2831 6:2831 3:1415 6:2831
1:5707 4:7123 4:7123 4:7123
0 0 1:5708 1:5707
0 6:2831 6:2831 3:1415
4:7123 4:7123 1:5707 4:7123 8 6:4232
3:1415 0 4:7123 1:5707
3:1415 3:1416 13 1:0232 3:1415 3:1415
4:7123 1:5707 6:2831 6:2831
6:2831 3:1415
1:5707 1:5707
6:2831 0
4:7129 1:5690
3:1415 6:2831

– 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

Resultats numériques obtenues pour le problème 10


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
1:3165 0:3105 1 1:6462 1:3171 0:3171 1 16:3373

n=3, 2 xi 2,

Resultats numériques obtenues pour le problème 10


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
1:6576 0:1544 1:3490 1 3:5364 Echec

– Problème 11 :

xi 1 2xi + xi+1 + h2 exp (xi ) = 0; i = 1; 2; ::::; n

Tel que
1
x0 = xn+1 = 0 et h = :
n+1

42
– n=4 , - 41 xi 1
2

Resultats numériques obtenues pour le problème 11


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
Echec - - 0:1266 0:2078 0:1856 0:1152
0:1875 0:3268 0:2683 0:1575 5 9:0605
0:2735 0:4944 0:3854 0:2175
0:0117 0:0169 0:0300 0:0357
0:0551 0:0681 0:0887 0:0657

n=3 , 3 xi 4,

Resultats numériques obtenues pour le problème 11


H-LBFGSB H-GPS
D Nr CPU(s) D Nr CPU(s)
Echec - - 0:1054 0:1414 0:1054 2 7:9085
2:3051 3:9836 2:3051

43
Bibliographie

[1] I. G Tsoulos, Athanassion stavrakoudis : On locating all roots of sustems of nonli-


near equations inside bounded domain using global optimization methods. Journal
of Nonlinear Analysis : Real world applications, (2009).
[2] W. Wang, Y. Shang, W. Sun, and Y. Zhang : Finding the Roots of System of Non-
linear Equations by a Novel Filled Function Method, (2011).
[3] J. Franco : Planifcation d’expériences numériques en phase exploratoire pour la simu-
lation des phénomènes complexes (Doctoral dissertation, Ecole Nationale Supérieure
des Mines de Saint-Etienne) (2008).
[4] S. M LaValle : Planning algorithms. Cambridge university press (2006).
[5] H. Niederreiter : Random number generation and Quasi-Monte Carlo methods :
SIAM, Philadelphia (1992).
[6] T. Herimampiandra : Rôle et constructions des suites et ensemble de points à discré-
pance faible pour la méthode de quasi monté carlo (2017).
[7] K. Ferhaoui : Optimisation Globale basée sur l’Analyse d’Intervalle : Applications et
Comparaisons.
[8] G. Geneviève : Les suites à discrépance faible 6-601-09 Simulation Monte Carlo.
[9] H. Faure, P. Kritzer, F. Pillichshammer : From van der Corput to modern construc-
tions of sequences for quasi-Monte Carlo rules.
[10] G. Berthiau et P. Siarry : Etat de l’art des méthodes d’optimisation globale.
[11] A. Ihaddadene : Algorithme de recherche directe pour l’optimisation robuste de fonc-
tions bruitées (2014).
[12] M. Panos, H. Pardalos, R. Edwin : Handbook of global optimisation Volume 2.
[13] L. Daniel : Construction de la mesure de Lebesgue, (2008).
[14] R. Ziadi : Améliorations de certaines méthodes probabilistes en optimisation globale,
(2017).

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.

% Author: Phil Goddard (phil@goddardconsulting.ca)


% Date: Q2 2006

% Preallocate the output


hs = zeros(n,1);
% Generate the numbers
for idx = 1:n
hs(idx) = localHaltonSingleNumber(idx,b);
end

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.

% Author: Phil Goddard (phil@goddardconsulting.ca)


% Date: Q2 2006

% Preallocate the output


hs = zeros(n,1);
% Generate the numbers
for idx = 1:n
hs(idx) = localHaltonSingleNumber(idx,b);
end

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.

Mots-clés : Optimisation globale, Méthode stochastique, Système


d’équations non-linéaires.

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.

Key-words: Global optimization, stochastic method, system of non-


linear equations.

Vous aimerez peut-être aussi