Algorithme à directions de descente

Algorithme à directions de descente

Un algorithme à directions de descente est un algorithme d'optimisation différentiable (l'optimisation dont il est question ici est une branche des mathématiques), destiné à minimiser une fonction réelle différentiable définie sur un espace euclidien (par exemple, \mathbb{R}^n, l'espace des n-uplets de nombres réels, muni d'un produit scalaire) ou, plus généralement, sur un espace hilbertien. L'algorithme est itératif et procède donc par améliorations successives. Au point courant, un déplacement est effectué le long d'une direction de descente, de manière à faire décroître la fonction. Le déplacement le long de cette direction est déterminé par la technique numérique connue sous le nom de recherche linéaire.

Cette approche algorithmique peut être vue comme une technique de globalisation, c'est-à-dire une méthode permettant d'obtenir la convergence des itérés (sous certaines conditions) quel que soit l'itéré initial choisi. Elle s'apparente ainsi aux algorithmes à régions de confiance ; ces dernières améliorent légèrement (mais parfois de manière décisive) leurs résultats de convergence mais sont plus compliquées à mettre en œuvre, ce qui limite parfois leur application.

Les algorithmes à directions de descente s'étendent aux problèmes avec contraintes simples (pourvu que la projection sur l'ensemble admissible soit aisée, peu coûteuse en temps de calcul) ou pour des problèmes avec contraintes fonctionnelles non linéaires, par l'intermédiaire de fonctions de mérite. Elles sont aussi utilisées en optimisation non lisse.

Sommaire

Principes de l'algorithme

Le cadre est le suivant. On cherche à minimiser une fonction différentiable


x\in\mathbb{E}\mapsto f(x)\in\mathbb{R}

définie sur un espace hilbertien \mathbb{E}, dont on note \langle\cdot,\cdot\rangle le produit scalaire et \|\cdot\| la norme associée. On note f'(x) et \nabla f(x) la dérivée et le gradient de f en x, si bien que


\forall\,d\in\mathbb{E}:\qquad f'(x)\cdot d=\langle\nabla f(x),d\rangle.

Les algorithmes à directions de descente cherchent un minimum de f en générant une suite de points \{x_k\}_{k\geqslant 1}, appelés itérés, qui approchent de mieux en mieux un minimiseur du critère f, si tout va bien. Cette suite est construite en se fondant sur deux constructions :

  • calcul d'une direction de descente d_k\in\mathbb{E},
  • détermination d'un pas αk, qui est un nombre réel strictement positif, le long de la direction de descente de telle sorte que le nouvel itéré donne au critère une valeur inférieure à celle qu'il a en l'itéré courant ; le nouvel itéré est de la forme suivante
    xk + 1: = xk + αkdk;
    cette opération de détermination du pas s'appelle la recherche linéaire.

Ces deux opérations seront décrites ci-dessous, mais on peut dès à présent résumer l'algorithme. Il s'agit d'un schéma algorithmique, car beaucoup d'aspects de celui-ci ne sont pas spécifiés avec précision.

Algorithme à directions de descente (schéma) — On se donne un point/itéré initial x_1\in\mathbb{E} et un seuil de tolérance \varepsilon\geqslant 0. L'algorithme du gradient définit une suite d'itérés x_1, x_2, \ldots \in\mathbb{E}, jusqu'à ce qu'un test d'arrêt soit satisfait. Il passe de xk à xk + 1 par les étapes suivantes.

  1. Simulation : calcul de \nabla f(x_k) au moins.
  2. Test d'arrêt : si \|\nabla f(x_k)\| \leqslant \varepsilon, arrêt.
  3. Direction : calcul d'une direction de descente d_k\in\mathbb{E}.
  4. Recherche linéaire : déterminer un pas αk > 0 le long de dk.
  5. Nouvel itéré : xk + 1 = xk + αkdk.

En pratique, il faudra prendre ε > 0 ; la valeur nulle de cette tolérance a été admise uniquement pour simplifier l'expression des résultats de convergence ci-dessous. Cet algorithme est extrêmement simple ; ça ne l'empêche pas d'avoir des propriétés de convergence intéressantes, bien au contraire. Cette simplicité permet d'étendre l'algorithme à des contextes variés, aux problèmes d'optimisation avec contraintes en particulier.

Choix d'une direction de descente

Les algorithmes à directions de descente portent en général le nom de leur direction de descente. Ainsi

Ces directions sont décrites dans l'article «Direction de descente».

Règles de recherche linéaire

Règles exactes

Règle d'Armijo

Règle de Goldstein

Règle de Wolfe

Convergence

Annexes

Articles connexes

Lien externe

Ouvrages généraux

  • (en) D. P. Bertsekas (1995), Nonlinear Programming. Athena Scientific. ISBN 978-1-886529-14-4.
  • (en) J. F. Bonnans, J. Ch. Gilbert, C. Lemaréchal, C. Sagastizábal (2006), Numerical Optimization - Theoretical and Numerical Aspects [détail des éditions].
  • (en) J. Nocedal, S. J. Wright (2006), Numerical Optimization, Springer. ISBN 978-0-387-30303-1.

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Algorithme à directions de descente de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать реферат

Regardez d'autres dictionnaires:

  • Algorithme à régions de confiance — Un algorithme à régions de confiance est un algorithme d optimisation différentiable (l optimisation dont il est question ici est une branche des mathématiques), destiné à minimiser une fonction réelle définie sur un espace euclidien (par exemple …   Wikipédia en Français

  • Algorithme de descente — Descente de gradient Traduction à relire Gradient descent → …   Wikipédia en Français

  • Descente De Gradient — Traduction à relire Gradient descent → …   Wikipédia en Français

  • Descente de gradient — Traduction à relire Gradient descent → …   Wikipédia en Français

  • Algorithme du gradient — L algorithme du gradient désigne un algorithme d optimisation différentiable. Il est par conséquent destiné à minimiser une fonction réelle différentiable définie sur un espace euclidien (par exemple, , l espace des n uplets de nombres réels,… …   Wikipédia en Français

  • Direction de descente — En optimisation différentiable, qui est une discipline d analyse numérique en mathématiques étudiant en particulier les algorithmes minimisant des fonctions différentiables sur des ensembles, une direction de descente est une direction le long de …   Wikipédia en Français

  • Algorithme De Colonies De Fourmis — Les algorithmes de colonies de fourmis sont des algorithmes inspirés du comportement des fourmis et qui constituent une famille de métaheuristiques d’optimisation. Initialement proposé par Marco Dorigo et al. dans les années 1990[1],[2] …   Wikipédia en Français

  • Algorithme de fourmis — Algorithme de colonies de fourmis Les algorithmes de colonies de fourmis sont des algorithmes inspirés du comportement des fourmis et qui constituent une famille de métaheuristiques d’optimisation. Initialement proposé par Marco Dorigo et al.… …   Wikipédia en Français

  • Algorithme de colonies de fourmis — Les algorithmes de colonies de fourmis sont des algorithmes inspirés du comportement des fourmis et qui constituent une famille de métaheuristiques d’optimisation. Initialement proposé par Marco Dorigo et al. dans les années 1990[1],[2], pour la… …   Wikipédia en Français

  • Projet:Mathématiques/Liste des articles de mathématiques — Cette page n est plus mise à jour depuis l arrêt de DumZiBoT. Pour demander sa remise en service, faire une requête sur WP:RBOT Cette page recense les articles relatifs aux mathématiques, qui sont liés aux portails de mathématiques, géométrie ou… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”