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 :
poly(taille-problème) * log( V / ε ),
où 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équence
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,
- 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,01
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 ,
où 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
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
Chaque étape de Newton nécessite O( n³ ) 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 :
- 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
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 ,
où 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
où 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 )
où 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 est
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
où
En raison de (1), (4) la condition
devrait être appliquée à chaque étape. Cela peut se faire en choisissant les options appropriées
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 :
Étant donné un programme quadratique à contraintes quadratiques de la forme :
Approximation de la norme L p
Considérons un problème de la forme
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.