Méthode de l'ellipsoïde

En optimisation mathématique, la méthode de l'ellipsoïde est une méthode itérative utilisée pour minimiser des fonctions convexes. En informatique théorique, cette méthode est connue comme étant le premier algorithme de complexité polynomiale découvert pour résoudre les problèmes d'optimisation linéaire.

Montre un polytope de programmation linéaire (bleu) ainsi que deux itérations de la méthode ellipsoïde utilisée pour déterminer un point dans le polytope.

L'algorithme construit une suite d'ellipsoïdes de plus en plus petits, qui enserrent à chaque étape le minimum de la fonction objectif.

Histoire modifier

Depuis son invention par George Dantzig en 1947, la méthode du simplexe avait relégué un certain nombre d'heuristiques antérieures pour résoudre les problèmes d'affectation sous contraintes linéaires, en particulier les itérations transposant le problème à une compétition entre deux joueurs. Tout au long des années 1950 et 1960, elle fut appliquée à des problèmes de taille de plus en plus grande jusqu'à ce qu'au début des années 1970, Victor Klee et George Minty (de) mettent en évidence l'existence de programmes pour lesquels l'algorithme de Dantzig conduit à examiner un nombre de pivots croissant exponentiellement avec la taille du problème[1].

La méthode des ellipsoïdes est une technique itérative d'optimisation qui avait été imaginée par David Youdine, Arcadi Nemirovski et, indépendamment, Nahum Chor (1976–77) ; un mathématicien arménien, Khatchian, tenta de l'utiliser pour résoudre les programmes linéaires mais cela n'allait nullement de soi : l'algorithme exigeait le calcul d'une estimation de la distance à l'optimum ; pour cela, Khatchian établit un certain nombre de majorations sur les volumes de polyèdres, et analysa la précision de calcul requise pour que la méthode soit praticable. Il publia ces résultats sans les démonstrations dans une note de quatre pages des Soviet Mathematics Doklady (). L'algorithme vint à la connaissance des chercheurs occidentaux lors d'une conférence au Symposium de programmation mathématique de Montréal, au mois d', puis grâce à un article de Peter Gács et László Lovász[2], qui évitait les changements continuels de systèmes de coordonnées familiers aux mathématiciens russes. Enfin, dans un article publié en 1980, Khatchian publia ses démonstrations[3].

David B. Youdine (de), Arkadi Nemirovski, Leonid Khatchian, Martin Grötschel, László Lovász et Alexander Schrijver ont reçu le prix Fulkerson en 1982 pour leurs articles sur la méthode de l'ellipsoïde[4],[5],[6],[7].

Principe modifier

On cherche à optimiser une fonction   d'une manière à trouver au moins un point   satisfaisant un ensemble de contrainte. (Pour une fonction à valeur réelle, on peut chercher un point tel que   soit positif par exemple.)

Le principe est de commencer avec un ellipsoïde qui contient à coup sûr la région admissible (c'est-à-dire obéissant aux contraintes). Ensuite, on essaye le centre de l'ellipsoïde et on recense les contraintes qui sont enfreintes : s'il n'y en a plus aucune, on a terminé. Dans le cas contraire, on sait que la solution (si elle existe) se trouve dans une partie de l'ellipsoïde limitée par des hyperplans. On construit alors une nouvelle ellipse plus petite qui contient cette partie et on répète l'opération.

On estime qu'à chaque étape le volume de l'ellipsoïde est divisé par un facteur au moins  , donc aymptotiquement par e après   étapes.

Description de l'algorithme modifier

Optimisation convexe sans contrainte modifier

On se donne une fonction convexe  , que l'on cherche à minimiser. On décrit une ellipsoïde   par son centre y et une matrice symétrique définie positive A, afin que :

 .

On suppose que l'on dispose d'une ellipsoïde initiale   contenant  , et que l'on peut déterminer un sous-gradient de f en tout point. La suite d'ellipsoïdes se construit alors par récurrence. Si   a pour centre   et pour matrice  , on pose   un sous-gradient de f en  . Alors :

 .

Par conséquent  . On pose alors :

 

ce qui permet de calculer l'ellipsoïde contenant   de volume minimal :

 

 .

Optimisation linéaire modifier

On considère une famille finie d'inégalités de la forme  , avec   une famille de vecteurs à coordonnées entières et   une famille d'entiers. On cherche à déterminer l'existence d'un   vérifiant ces contraintes. L'algorithme est alors comparable au cas de l'optimisation convexe. L'ellipsoïde initiale est déterminée par   et  , avec L la taille en mémoire des paramètres du problème. À l'étape k, soit   vérifie toutes les contraintes auquel cas l'algorithme s'arrête, soit l'une des inégalités n'est pas vérifiée, c'est-à-dire  . On définit alors l'ellipsoïde avec les mêmes formules que dans le cas de la minimisation convexe, en posant  . Si le problème a une solution, l'algorithme s'arrête en moins de   étapes[2].

On peut alors résoudre un problème d'optimisation linéaire en cherchant l'existence d'une solution primale-duale au problème[2].

Illustration modifier

Performances modifier

C'était le premier algorithme qui garantissait la résolution d'un programme linéaire en temps polynomial mais reste assez lente en pratique.

Notes et références modifier

  1. Le problème du cube déformé de Klee-Minty a été publié dans Victor Klee, George J. Minty et Shisha Oved (dir.), Inequalities III (Proceedings of the Third Symposium on Inequalities held at the University of California, Los Angeles, Calif., September 1–9, 1969, New York et Londres, Academic Press, , 159–175 p. (MR 332165), « How good is the simplex algorithm? »
  2. a b et c Cf. P. Gács et L. Lovász, « Khachiyan’s algorithm for linear programming », Math. Programming Studies, no 14,‎ , p. 61–68.
  3. L. G. Khatchian, « Polynomial algorithms in linear programming », USSR Computational Mathematics and Mathematical Physics, vol. 20, no 1,‎ , p. 53-72 (DOI 10.1016/0041-5553(80)90061-0)
  4. D. B. Judin et Arkadi Nemirovski, « Informational complexity and effective methods of solution for convex extremal problems », Ekonomika i Matematicheskie Metody, vol. 12,‎ , p. 357–369.
  5. Leonid Khachiyan, « A polynomial algorithm in linear programming », Akademiia Nauk SSSR. Doklady, vol. 244,‎ , p. 1093–1096.
  6. « Leonid Khachiyan, professor, leading computer scientist », Boston Globe,‎ (lire en ligne).
  7. Martin Grötschel, László Lovász et Alexander Schrijver, « The ellipsoid method and its consequences in combinatorial optimization », Combinatorica, vol. 1,‎ , p. 169–197.