1- Introduction :
inf f ( x ) ou inf { f (x ) / x ∈ A}
x∈A
La fonction f est appelée sous différents noms : fonction-coût ou simplement coût, fonction-
objectif ou simplement objectif, critère, etc.
Le point x est appelé solution du problème d'optimisation (ou minimum). On l'appelle aussi
parfois une solution globale pour le distinguer des solutions locales. On dit qu'il s'agit d'un
()
minimum strict si l’élément x ∈ A et f x < f ( x ) pour tout x ∈ A − x{}
Remarque :
sup f ( x ) = − inf (− f ( x ))
x∈A x∈A
optimisation d’un trajet, de la forme d’un objet, d’un prix de vente, d’une réaction chimique,
du contrôle aérien, du rendement d’un appareil, du fonctionnement d'un moteur, de la gestion
des lignes ferroviaires, du choix des investissements économiques, de la construction d’un
navire, etc.
2- Types d’optimisation :
1
3- Algorithmes d’optimisation :
3-1- Définition :
Un algorithme d’optimisation est une procédure mathématique qui permet d’obtenir les
minimums (ou maximums) d’une fonction réelle f .En général la solution recherchée est un
sous-espace A⊂ Rn qui est soumis à un ensemble de contraintes (conditions sur les variables),
qui sont exprimées comme un système d’équations et inéquations. Les éléments de A sont
appelés solutions admissibles et possèdent souvent des bornes supérieures et inférieures
xl ≤ x ≤ xu ∈ A
Les algorithmes d’optimisation sont des processus itératifs que génèrent une séquence de
valeurs x n +1 à partir d’un point de départ x0 . Un algorithme est convergent quand pour
n’importe quel point de départ, la séquence arrive à la solution (maximum ou minimum). Les
algorithmes d’optimisation ont besoin en général des dérivées de premier et deuxième degré
de la fonction. Pour le calcul du gradient d’une fonction, on peut utiliser une approximation
par exemple par les différences finies.
3-2- Catégories de problèmes résolus par les algorithmes d’optimisation :
Les algorithmes d’optimisation s’utilisent en de nombreux problèmes : pour trouver les zéros
de fonctions, pour minimiser la distance entre des points de mesure et une courbe (moindres
carrés), intersections de fonctions et pour résoudre des systèmes d’équations à une ou
plusieurs variables. En général, il n’y a pas de méthode idéale et ça dépend de la forme de la
fonction à étudier et du type du problème à analyser.
3-3 Paramètres d’un algorithme d’optimisation
3-3-1. Approximation Initiale
Pour initialiser l’algorithme, il est nécessaire d’avoir une approximation initiale x0 de la
solution (point de départ). Le choix d’une bonne approximation initiale détermine la
convergence ou non à la solution.
3-3.2. Nombre d’Itérations
Un algorithme d’optimisation utilise un processus récursif en calculant à chaque une nouvelle
itération une nouvelle solution jusqu’à ce que le critère de convergence soit atteint. En
résumé, c’est une boucle de répétition où la nouvelle solution est construite à partir des
solutions antérieures.
3-3.3. Vitesse de convergence
Quand on parle de convergence proche d’une solution, on parle de la vitesse à laquelle la
solution à chaque itération approche de sa valeur finale.
Le choix d’un algorithme avec une haute convergence est important pour les problèmes d’une
certaine complexité ou avec de multiples paramètres.
3-3.4. Critère d’arrêt
C’est un choix déterminé utilisé pour arrêter le processus de calcul. Il existe plusieurs critères
d’arrêt. Les plus utilisées sont :
a) Nombre maximal d’itérations Nmax
2
b) Comparaison d’une norme à une valeur très petite : f (xn ) < ε
c) Différence entre deus solutions successives : xn − xn−1 < ε
en général la valeur de ε est prise très petite (de l’ordre de 10-4, 10-6, …).
4- Algorithmes sans contraintes :
Il existe deux catégories d’algorithmes sans contraintes :
a)- Les algorithmes déterministes : avec les mêmes données et les mêmes points de départ,
ces algorithmes exécuteront toujours la même suite d'opérations et les solutions seront
prévisibles.
b)- Les algorithmes stochastiques : ce sont des algorithmes qui reposent sur des estimations
aléatoires et qui doivent deviner à chaque itération quelle est la solution la plus adéquate.
4-1- L’algorithme de descente du gradient :
L’algorithme de descente du gradient s'applique lorsqu’on cherche le minimum d'une fonction
dont on connaît l'expression analytique, qui est dérivable, mais dont le calcul direct du
minimum est difficile.
L’algorithme de descente du gradient (à pas fixe) est résumé comme suit :
(0 )
étape 1 : choisir un point de départ x = x0
pour k =1, 2,….,N
étape 2 : calculer g (k −1) = ∇f x (k −1) ( )
(k ) ( k −1)
étape 3 : calculer x =x − α g (k −1)
finpour k
tel que : ∇f x ( ( ) ) = ∂∂f x(x ) , ∂∂f x(x ) ,...., ∂∂f x(x ) et α est le pas de convergence.
k
1 2 n
3
4-2- L’algorithme du gradient conjugué:
(0 )
Etape 1 : choisir un point de départ x = x0
Etape 2 : calculer f 0 = f x ( ( ))
et ∇f 0 = ∇f x
0
( ( )) 0
Etape 3 : initialiser d 0 = ∇f 0
pour k =1, 2,….,N
(k ) ( k −1)
Etape 4 : calculer x = x − α d k -1
Etape 5 : calculer ∇f x (k ) ( )
Etape 6 : calculer β k =
( ( ) ) ∇f (x ( ) )
∇f x
k T k
∇f (x ) ∇f (x ( ) )
( ) k −1 T k −1
= ∇f (x ) + β d
( ) k
Etape 7 : calculer d k k k −1
finpour k
( )
∂g1 x (k ) ( )
∂g1 x
(k )
. .
∂g1 x
(k )
( )
(k )
∂x1 ∂x 2(k ) ∂x n(k )
( ) ( )
∂g 2 x (k ) ∂g 2 x (k )
. .
∂g 2 x
(k )
( )
( )
H x = ∂x1
(k ) (k )
∂x 2(k ) ∂x n(k ) =
. . . . .
. . . . .
n∂g( ) x
(k )
∂g ( )
n x
(k )
. .
∂g n x
(k )
( )
∂x1(k ) ∂x 2(k ) ∂x n(k )
Les étapes de cet algorithme sont résumées comme suit :
(0 )
Etape 1 : choisir un point de départ x = x0
pour k =1, 2,….,N
Etape 2 : calculer le gradient g x (k ) ( )
Etape 3 : calculer la matrice hessienne H x (k ) ( )
Etape 4 : calculer x (k )
=x
( k −1)
−H −1
(x )g (x ( ) )
(k ) k
finpour k