Article de reference

Méthode des points intérieurs

Les opérations sur les nombres de L bits (où n est le nombre de variables et de constantes) sont également très efficaces en pratique. L'article de Karmarkar a suscité un vif in...

Les opérations sur les nombres de L bits (où n est le nombre de variables et de constantes) sont également très efficaces en pratique. L'article de Karmarkar a suscité un vif intérêt pour les méthodes de points intérieurs. Deux ans plus tard, James Renegar a inventé la première méthode de points intérieurs de suivi de chemin , avec un temps d'exécution de

Tout problème d'optimisation convexe peut être transformé en minimisation (ou maximisation) d'une fonction linéaire sur un ensemble convexe par conversion sous forme d'épigraphe . L'idée d'encoder l' ensemble admissible à l'aide d'une barrière et de concevoir des méthodes de barrière a été étudiée par Anthony V. Fiacco, Garth P. McCormick et d'autres au début des années 1960. Ces idées ont été principalement développées pour la programmation non linéaire générale , mais elles ont été abandonnées par la suite en raison de l'existence de méthodes plus performantes pour cette classe de problèmes (par exemple, la programmation quadratique séquentielle ).

Yurii Nesterov et Arkadi Nemirovski ont proposé une classe particulière de barrières permettant d'encoder tout ensemble convexe. Ils garantissent que le nombre d' itérations de l'algorithme est borné par un polynôme en fonction de la dimension et de la précision de la solution.

La classe des méthodes primales-duales de suivi de chemin par points intérieurs est considérée comme la plus performante. L'algorithme prédicteur-correcteur de Mehrotra constitue la base de la plupart des implémentations de cette classe de méthodes.

Définitions

On nous donne un programme convexe de la forme :f est une fonction linéaire . Habituellement, l'ensemble convexe G est représenté par un ensemble d'inégalités convexes et d'égalités linéaires ; les égalités linéaires peuvent être éliminées à l'aide de l'algèbre linéaire , donc par souci de simplicité, on suppose qu'il n'y a que des inégalités convexes, et le programme peut être décrit comme suit, où les g <sub>i</sub> sont des fonctions convexes :vecteur fini de coefficients (par exemple, les coefficients des fonctions quadratiques). La dimension de ce vecteur de coefficients est appelée la taille du programme. Un solveur numérique pour une famille de programmes donnée est un algorithme qui, étant donné le vecteur de coefficients, génère une suite de solutions approchées x<sub> t</sub> pour t = 1, 2, ..., en utilisant un nombre fini d'opérations arithmétiques. Un solveur numérique est dit convergent si, pour tout programme de la famille et tout ε > 0 positif, il existe un T (qui peut dépendre du programme et de ε ) tel que, pour tout t > T , la solution approchée x<sub> t</sub> est ε-approximative, c'est-à-dire :polynomial si le nombre total d'opérations arithmétiques dans les T premières étapes est au plus égal à

poly(taille-problème) * log( V / ε ),

V est une constante dépendant des données, par exemple la différence entre la plus grande et la plus petite valeur de l'ensemble des solutions admissibles. Autrement dit, V / ε représente la « précision relative » de la solution, c'est-à-dire la précision par rapport au coefficient le plus élevé. log( V / ε ) représente le nombre de « chiffres de précision ». Par conséquent, un solveur est dit « polynomial » si chaque chiffre de précision supplémentaire requiert un nombre d'opérations polynomial en fonction de la taille du problème.

Types

Les méthodes de points intérieurs comprennent notamment :

  • Méthodes de réduction potentielles : l'algorithme de Karmarkar fut le premier.
  • Méthodes de suivi de chemin : les algorithmes de James Renegar et Clovis Gonzaga ont été les premiers.
  • Méthodes primales-duales .

Méthodes de suivi de chemin

Idée

Étant donné un programme d'optimisation convexe (P) avec contraintes, on peut le convertir en un programme sans contraintes en ajoutant une fonction barrière . Plus précisément, soit b une fonction convexe lisse, définie à l'intérieur de la région admissible G , telle que pour toute séquenceG :b est non dégénéré, c'est-à-dire :

Techniquement, le programme est restreint, puisque b est défini uniquement à l'intérieur de G. Cependant, en pratique, il est possible de le résoudre comme un programme non contraint, car tout solveur cherchant à minimiser la fonction ne s'approchera pas de la frontière où b tend vers l'infini. Par conséquent, ( P( t )) admet une solution unique, notée x *( t ). La fonction x * est une fonction continue de t , appelée chemin central . Tous les points d'accumulation de x *, lorsque t tend vers l'infini, sont des solutions optimales du programme initial (P).

Une méthode de suivi de chemin est une méthode permettant de suivre la fonction x * le long d'une certaine suite croissante t₁ , t₂ , ..., c'est - à-dire : calculer une approximation suffisamment bonne xᵢ du point x *( tᵢ ) , telle que la différence xᵢ - x *( tᵢ ) tende vers 0 lorsque i tend vers l'infini ; puis la suite xᵢ converge vers la solution optimale de (P). Cela nécessite de spécifier trois éléments :

  • La fonction barrière b(x).
  • Une politique pour déterminer les paramètres de pénalité t i .
  • Le solveur d'optimisation sans contrainte utilisé pour résoudre ( P <sub>i</sub> ) et trouver x <sub>i</sub> est par exemple la méthode de Newton . Il est à noter que chaque x <sub>i</sub> peut servir de point de départ pour résoudre le problème suivant ( P <sub>i+1</sub> ).

La principale difficulté pour démontrer que la méthode est polynomiale réside dans le fait que, lorsque le paramètre de pénalité augmente, la solution se rapproche de la frontière et la pente de la fonction s'accentue. Le temps d'exécution des solveurs, comme la méthode de Newton, s'allonge alors, et il devient difficile de prouver que le temps d'exécution total est polynomial.

Renegar et Gonzaga ont prouvé qu'une instance spécifique d'une méthode de suivi de chemin est polynomiale :

  • Les contraintes (et l'objectif) sont des fonctions linéaires ;
  • La fonction barrière est logarithmique :
  • Le paramètre de pénalité t est mis à jour géométriquement, c'est-à-dire,μ est une constante (ils ont prism est le nombre de contraintes d'inégalité);
  • Le solveur est la méthode de Newton, et une seule étape de Newton est effectuée pour chaque étape de t .

Ils ont prouvé que, dans ce cas, la différence x i - x *( t i ) reste au plus égale à 0,01, et f( x i ) - f* est au plus égale à 0,01t i par 2 (ou tout autre facteur constant), ce qui nécessitemn 2 ) opérations, la complexité totale est de O( m 3/2 n 2 ) opérations pour un chiffre de précision.

Yuri Nesterov a étendu cette idée des programmes linéaires aux programmes non linéaires. Il a noté que la principale propriété de la barrière logarithmique, utilisée dans les démonstrations précédentes, est son auto-concordance avec un paramètre de barrière fini. Par conséquent, de nombreuses autres classes de programmes convexes peuvent être résolues en temps polynomial à l'aide d'une méthode de suivi de chemin, si l'on peut trouver une fonction barrière auto-concordante appropriée pour leur région admissible.

Détails

On nous donne un problème d'optimisation convexe (P) sous « forme standard » :

minimiser c T x st x dans G ,

G est convexe et fermée. On peut également supposer que G est bornée (on peut facilement la rendre bornée en ajoutant une contrainte | x | ≤ R pour un R suffisamment grand ).

Pour utiliser la méthode des points intérieurs, nous avons besoin d'une barrière auto-concordante pour G. Soit b une barrière M -auto-concordante pour G , où M ≥ 1 est le paramètre d'auto-concordance. Nous supposons que nous pouvons calculer efficacement la valeur de b , son gradient et sa matrice hessienne pour tout point x à l'intérieur de G.

Pour tout t > 0, on définit la fonction objectif pénalisée f <sub>t</sub> (x) := t <sub>c</sub><sup> T</sup> x + b( x ) . On définit le chemin des minimiseurs par : x*(t) := arg min f <sub>t</sub> (x) . On approche ce chemin par une suite croissante t<sub> i</sub> . La suite est initialisée par une procédure d'initialisation en deux phases non triviale. Ensuite, elle est mise à jour selon la règle suivante :

Pour chaque t<sub> i</sub> , nous trouvons un minimum approximatif de f<sub> ti</sub> , noté x<sub> i</sub> . Ce minimum approximatif est choisi de manière à satisfaire la « condition de proximité » suivante (où L est la tolérance du chemin ) :

Pour trouver x <sub>i +1</sub> , on part de x<sub> i</sub> et on applique la méthode de Newton amortie . On répète cette méthode plusieurs fois, jusqu'à ce que la « relation de proximité » mentionnée précédemment soit satisfaite. Le premier point qui satisfait cette relation est noté x <sub>i +1 </sub> .

Convergence et complexité

Le taux de convergence de la méthode est donné par la formule suivante, pour tout i :

Prise x <sub>i </sub> à x<sub> i +1</sub> est au plus un nombre fixe, qui dépend uniquement de r et L. En particulier, le nombre total d'itérations de Newton nécessaires pour trouver une solution ε -approximative (c'est-à-dire trouver x dans G tel que c<sub> T</sub> x - c* ≤ ε ) est au plus :

où le facteur constant O(1) ne dépend que de r et L. Le nombre d'itérations de Newton requises pour la procédure d'initialisation en deux étapes est au plus :

où le facteur constant O(1) ne dépend que de r et L , et G. Globalement, la complexité de Newton globale pour trouver une solution ε -approximative est au plus

Chaque étape de Newton nécessite O( ) opérations arithmétiques.

Initialisation : méthodes de phase I

Pour initialiser les méthodes de suivi de chemin, il nous faut un point situé à l'intérieur relatif de la région admissible G. Autrement dit : si G est définie par les inégalités g <sub>i</sub> ( x ) ≤ 0, alors il nous faut un x tel que g <sub>i </sub> ( x ) < 0 pour tout i ∈ 1, ..., m . Si nous ne disposons pas d'un tel point, nous devons en trouver un à l'aide d'une méthode dite de phase I. Une méthode de phase I simple consiste à résoudre le programme convexe suivant :s *.

  • Si s *<0, alors nous savons que x* est un point intérieur du problème initial et pouvons passer à la « phase II », qui consiste à résoudre le problème initial.
  • Si s *>0, alors nous savons que le programme original est irréalisable - la région réalisable est vide.
  • Si s *=0 et qu'il est atteint par une solution x*, alors le problème est faisable mais n'a pas de point intérieur ; s'il n'est pas atteint, alors le problème est infaisable.

Pour ce programme , il est facile d'obtenir un point intérieur : on peut choisir arbitrairement x = 0 et s = n'importe quel nombre supérieur à max( f₁ (0), ..., fₘ (0 ) ). Il peut donc être résolu par des méthodes de points intérieurs. Cependant, le temps d'exécution est proportionnel à log(1/ s *). Plus s* tend vers 0, plus il devient difficile de trouver une solution exacte au problème de la phase I, et donc plus difficile de déterminer si le problème initial est réalisable.

Considérations pratiques

Les garanties théoriques supposent que le paramètre de pénalité augmente au tauxμ est plus grand (par exemple 2 ou plus), alors le nombre d'itérations de Newton requises dans le pire des cas est dansde μ plus élevée conduit à une convergence beaucoup plus rapide. Ces méthodes sont appelées méthodes à long pas . En pratique, si μ est compris entre 3 et 100, le programme converge en 20 à 40 itérations de Newton, quel que soit le nombre de contraintes (bien que la durée d'exécution de chaque itération de Newton augmente naturellement avec le nombre de contraintes). La valeur exacte de μ dans cet intervalle a peu d'influence sur les performances.

Méthodes de réduction du potentiel

Pour les méthodes de réduction du potentiel, le problème est présenté sous forme conique :

minimiser c T x st x dans {b+L} ∩ K ,

b est un vecteur de R<sup> n</sup> , L est un sous-espace vectoriel de R<sup> n</sup> (donc b + L est un plan affine ), et K est un cône convexe fermé et pointé d'intérieur non vide. Tout programme convexe peut être converti en forme conique. Pour utiliser la méthode de réduction du potentiel (en particulier, l'extension de l'algorithme de Karmarkar à la programmation convexe), nous avons besoin des hypothèses suivantes :

  • A. L'ensemble admissible { b+L} ∩ K est borné et intersecte l'intérieur du cône K.
  • B. On nous donne à l'avance une solution strictement réalisable x ^, c'est-à-dire une solution réalisable à l'intérieur de K .
  • C. Nous connaissons à l'avance la valeur optimale de l'objectif, c*, du problème.
  • D. On nous donne une barrière auto-concordante M -logarithmiquement homogène F pour le cône K.

Les hypothèses A, B et D sont nécessaires dans la plupart des méthodes de points intérieurs. L'hypothèse C est spécifique à l'approche de Karmarkar ; elle peut être atténuée en utilisant une fonction objectif variable. Il est possible de réduire davantage le programme au format de Karmarkar .

minimiser s T x st x dans M ∩ K et e T x = 1

M est un sous-espace linéaire de dans R n , et la valeur optimale de l'objectif est 0. La méthode est basée sur la fonction de potentiel scalaire suivante :

v ( x ) = F ( x ) + M ln ( sTx )

F est la barrière M -auto-concordante du cône admissible. Il est possible de démontrer que, lorsque x est strictement admissible et que v ( x ) est très petit (très négatif), x est approximativement optimal. L'idée de la méthode de réduction du potentiel est de modifier x de sorte que le potentiel à chaque itération diminue d'au moins une constante fixe X (plus précisément, X = 1/3 - ln(4/3)). Cela implique qu'après i itérations, la différence entre la valeur de la fonction objectif et sa valeur optimale est au plus V * exp( -iX / M ), où V est une constante dépendant des données. Par conséquent, le nombre d'étapes de Newton nécessaires pour une solution ε -approximative est au plus

Notez que dans les méthodes de suivi de chemin, l'expression estM , qui est théoriquement préférable. Mais en pratique, la méthode de Karmarkar permet de progresser par étapes beaucoup plus importantes vers l'objectif, et peut donc converger bien plus rapidement que ne le garantissent les théories.

Méthodes primales-duales

L'idée de la méthode primale-duale est facile à démontrer pour l'optimisation non linéaire sous contraintes . Par souci de simplicité, considérons le problème d'optimisation non linéaire suivant avec contraintes d'inégalité :

Ce problème d'optimisation sous contrainte d'inégalité est résolu en le convertissant en une fonction objectif sans contrainte dont on espère trouver efficacement le minimum. Plus précisément, la fonction barrière logarithmique associée à (1) est

Ici

Le gradient d'une fonction différentiable

En plus de la variable originale (« primale »)

L'équation (4) est parfois appelée la condition de « complémentarité perturbée », en raison de sa ressemblance avec le « relâchement complémentaire » dans les conditions KKT .

Nous essayons de trouver ceux-là

Substitution

L'intuition derrière (5) est que le gradient de

Laisser

En raison de (1), (4) la condition

devrait être appliquée à chaque étape. Cela peut se faire en choisissant les options appropriées

x en utilisant la méthode des points intérieurs.

Types de programmes convexes résolubles par des méthodes de points intérieurs

Voici quelques cas particuliers de programmes convexes qui peuvent être résolus efficacement par des méthodes de points intérieurs.

Considérons un programme linéaire de la forme : M = m (le nombre de contraintes). Par conséquent, le nombre d'étapes de Newton requises pour la méthode de suivi de chemin est O( mn 2 ), et la complexité temporelle totale est O( m 3/2 n 2 ).

Étant donné un programme quadratique à contraintes quadratiques de la forme : A<sub> j</sub> sont des matrices semi-définies positives . Nous pouvons appliquer des méthodes de suivi de chemin avec la barrière. M = m . La complexité de Newton est O( (m+n)n 2 ), et la complexité totale d'exécution est O( m 1/2 (m+n) n 2 ).

Approximation de la norme L p

Considérons un problème de la forme p avecM = 4 m . La complexité de Newton est O( (m+n)n 2 ), et la complexité totale d'exécution est O( m 1/2 (m+n) n 2 ).

Considérons le problème

Il existe une barrière auto-concordante avec le paramètre 2 k + m . La méthode de suivi de chemin a une complexité de Newton O( mk 2 + k 3 + n 3 ) et une complexité totale O(( k+m ) 1/2 [ mk 2 + k 3 + n 3 ]).

Les méthodes de points intérieurs peuvent être utilisées pour résoudre les programmes semi-définis positifs.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index