- Complémentarité linéaire
-
En mathématiques, et plus spécialement en recherche opérationnelle et en optimisation, un problème de complémentarité linéaire est défini par la donnée d'une matrice et d'un vecteur et consiste à trouver un vecteur tel que ses composantes et celles de y: = Mx + q soient positives et tel que x et y soient orthogonaux pour le produit scalaire euclidien de :
où désigne le vecteur x transposé.
Ces problèmes sont souvent NP ardus (en) et donc difficiles à résoudre lorsque la dimension n du problème devient grande. La combinatoire du problème vient du fait qu'il faut déterminer quelles sont les composantes de la solution qui sont nulles et il y a 2n possibilités de réaliser cela.
Les problèmes de complémentarité se sont d'abord manifestés dans les conditions d'optimalité des problèmes d'optimisation, les conditions de Karush, Kuhn et Tucker. Elles permettent de modéliser des problèmes décrits par plusieurs systèmes d'équation qui sont en quelque sorte en compétition ; celui qui est actif en un endroit et temps donnés, correspondant à un indice commun de x et de y, dépend de seuils qui sont ou non atteints : si le seuil xi = 0 n'est pas atteint, c'est-à-dire que xi > 0, l'équation (Mx + q)i = 0 est active. Les exemples de problèmes modélisés par complémentarité sont nombreux ; citons les problèmes de contact, les problèmes d'apparition et de disparition de phases dans les écoulements multiphasiques, les problèmes de précipitation-dissolution en chimie, en météorologie, etc.
Sommaire
Le problème
Quelques notations
Pour un vecteur , la notation signifie que toutes les composantes vi du vecteur sont positives.
On note l'orthant positif de .
Définitions
Étant donnés une matrice réelle carrée d'ordre , non nécessairement symétrique, et un vecteur , un problème de complémentarité linéaire consiste à trouver un vecteur tel que
Le symbole ci-dessus est utilisé pour désigner la transposition du vecteur à sa gauche. Dès lors, l'orthogonalité requise de x et de Mx + q revient à demander que le produit de Hadamard de ces deux vecteurs soit nul :
On écrit souvent ce problème de manière concise comme suit :
Un point x vérifiant et est dit admissible pour le problème CL(M,q) et l'ensemble
est appelé l'ensemble admissible de ce problème. On dit que le problème CL(M,q) est réalisable si . On montre facilement que
, où .
On note
Sol(M,q)
l'ensemble des solutions du problème de complémentarité linéaire CL(M,q) ; c'est une réunion de polyèdres convexes[1].
Lien avec l'optimisation quadratique
Considérons le problème d'optimisation quadratique en suivant :
Comme le coût de ce problème est borné inférieurement sur l'ensemble admissible (il y est positif), ce problème a toujours une solution (Frank et Wolfe, 1956[2]). On en déduit alors que
est solution de (PQ) avec un coût optimal nul. On notera cependant que (PQ) est, en général, un problème non convexe, si bien que la résolution de passant par celle de (PQ) n'est guère aisée.
Formulations au moyen d'équations
On peut exprimer le problème de complémentarité CL(M,q) au moyen d'équations, en général non lisses, c'est-à-dire non différentiables. Les fonctions qui interviennent dans cette formulation et dont on cherche un zéro sont appelées des C-fonctions (C pour complémentarité). Cette formulation est utilisée par des algorithmes de résolution.
On dit que est une C-fonction si
Une C-fonction permet donc de remplacer le problème CL(M,q) par le système d'équations non linéaires
F(x) = 0,
où a sa composante i définie par
Fi(x) = f(Fi(x),Gi(x)).
On n'a pas intérêt à avoir des C-fonctions f différentiables, car alors F'(x) n'est pas inversible en une solution dégénérée x[3] (et donc l'algorithme de Newton ne fonctionne pas). Il semblerait que des C-fonctions non lisses conduisent à des algorithmes plus efficaces.
On trouvera ci-après quelques exemples de C-fonctions et leurs propriétés.
La C-fonction min
La C-fonction la plus simple est la fonction min :
fmin (a,b) = min(a,b).
Elle semble avoir été proposée pour la première fois par Kostreva (1976)[4] et Mangasarian (1977)[5]. On montre fcilement qu'il s'agit bien d'une C-fonction. Dès lors
où la fonction min agit composante par composante : min(u,v)i = min(ui,vi) pour tout indice i.
La C-fonction de Fischer-Burmeister
La fonction de Fischer-Burmeister [6],[7] est définie par :
On montre facilement qu'il s'agit d'une C-fonction, convexe, différentiable partout sauf en (0,0) et que son carré est continûment différentiable.
Galerie de matrices adaptées
Les propriétés des problèmes de complémentarité linéaire dépendent, bien sûr, de celles de la matrice M. Ces propriétés sont très variées et ne dépendent pas d'un seul type de matrices. La situation est donc beaucoup plus complexe et très différente de celle rencontrée dans la résolution d'un système d'équations linéaires, dont les propriétés dépendent pour beaucoup de l'inversibilité de la matrice définissant le système. Nous énumérons ci-dessous quelques grandes classes de matrices et les propriétés de CL(M,q) qui y sont associées.
- Les -matrices sont celles qui assurent l'existence et l'unicité de solution pour le problème CL(M,q), avec la propriété de monotonie suivante :
- Les matrices suffisantes en colonne sont celles qui assurent la convexité de l'ensemble des solutions , quel que soit .
- Les matrices suffisantes en ligne sont celles qui assurent que, quel que soit , l'ensemble des solutions est identique à l'ensemble des points stationnaires du problème quadratique associé (PQ).
- Les -matrices sont celles qui assurent l'existence et l'unicité de solution pour le problème CL(M,q), quel que soit [8].
- Les -matrices sont celles qui assurent que le problème CL(M,q) a une solution lorsqu'il est réalisable.
- Les -matrices sont celles qui assurent que x = 0 est l'unique solution de CL(M,0).
- Les -matrices sont celles qui assurent que l'ensemble admissible , quel que soit .
- Les -matrices sont celles qui assurent l'existence d'un minimum (pour l'ordre de ) de Adm(M,q), qui est solution de CL(M,q), pour tout q rendant l'ensemble admissible .
Méthodes de résolution
Comme toujours, il n'y a pas d'algorithme idéal pour résoudre un problème de complémentarité linéaire, mais un ensemble d'algorithmes qui sont, par leurs caractéristiques, plus ou moins adaptés à des classes particulières de problèmes.
Méthodes de pivotage
Les méthodes de pivotage ont une complexité pire-cas exponentielle. Pour une description des approches algorithmiques de ce type, voir Murty (1988), Cottle et Pang (2009).
- Algorithme de Lemke (en)
- Algorithme du pivot principal
Méthodes de points intérieurs
Méthodes non lisses
La stratégie suivie ici consiste à exprimer le problème de complémentarité linéaire au moyen d'une C-fonction et à résoudre le système non lisse résultant par des itérations apparentées à celles de Newton.
Algorithme de Newton-min
L'algorithme consiste à résoudre , au moyen d'itérations de Newton semi-lisse[9], l'équation équivalente, formulée au moyen de la C-fonction min :
L'algorithme de Newton-min est bien défini si M est non dégénérée, c'est-à-dire si toutes ses sous-matrices principales sont inversibles.
Algorithme de Newton-min — On se donne un point/itéré initial et un seuil de tolérance . L'algorithme de Newton-min définit une suite d'itérés , jusqu'à ce qu'un test d'arrêt soit satisfait. Il passe de xk à xk + 1 par les étapes suivantes.
- Test d'arrêt : si , arrêt.
- Sélection d'indices :
- Nouvel itéré :
En pratique, il faut prendre ε > 0 ; la valeur nulle de cette tolérance est admise uniquement pour simplifier l'expression des résultats de convergence ci-dessous. Il s'agit donc d'une méthode de Newton semi-lisse dans laquelle le système linéaire à résoudre à chaque itération est posé en utilisant une pseudo-jacobienne de Fmin en x. On a choisi de mettre dans Ak tous les indices i pour lesquels , appelés indices actifs, dans le but de minimiser l'ordre | Ik | du système linéaire à résoudre à l'étape 3 de chaque itération.
Les premières traces de cet algorithme se trouvent chez Chandrasekaran (1970[10]), mais il semble bien que ce soit Aganagić (1984[11]) qui l'ait clairement présenté et étudié, d'ailleurs sous une forme un peu plus générale que celle présentée ici. Il fut ensuite redécouvert et généralisé aux problèmes de commande optimale quadratiques par Bergounioux, Ito et Kunisch (1999[12]).
Voici quelques résultats connus pour cet algorithme en fonction de la classe de matrices à laquelle M appartient (on suppose ci-dessous que ε = 0).
- Si M est non dégénérée et si a une solution, l'algorithme converge localement, en un nombre fini d'étapes[13].
- Si M est une -matrice, la convergence locale est superlinéaire[14] et la convergence globale est assurée si n = 1 ou n = 2, mais ne l'est pas nécessairement pour (il existe des contre-exemples)[15].
- Si M est suffisamment proche d'une -matrice, l'algorithme converge globalement, avec croissante[14].
- Si M est une -matrice, l'algorithme converge globalement, avec {xk} croissante dès la seconde itération (pour l'ordre de induit par )[11] et en au plus n itérations[16].
L'algorithme de Newton-min est difficile à globaliser, car la direction xk + 1 − xk n'est pas nécessairement une direction de descente en xk de la fonction de mérite naturelle pour cette approche, à savoir
Un meilleur choix des indices actifs allant dans Ak ou Ik permettrait de générer des directions de descente, mais un bon choix est de nature combinatoire ; il peut par exemple être déterminé en résolvant un problème de complémentarité[17], ce qui n'est guère séduisant lorsque l'on veut justement résoudre un tel problème.
Algorithme de Newton-Fischer-Burmeister
Méthodes non lisses régularisées
On exprime le problème de complémentarité linéaire comme une équation non lisse à résoudre (voir la section Méthodes non lisses) et on régularise celle-ci. Cette régularisation dépend d'un paramètre que l'on réduit au cours des itérations. Voir par exemple, la contribution de Chen et Mangasarian (1995[18]). Cette approche est reliée à celle par points intérieurs.
Autres méthodes
Complexité
Annexes
Notes
- (en) M.J.M. Janssen (1983). On the structure of the solution set of a linear complementarity problem. Cahiers Centre Études Rech. Opér., 25, 41–48.
- (en) M. Frank, P. Wolfe (1956). An algorithm for quadratic programming. Naval Research Logistics Quarterly, 3, 95–110.
- Facchinei et Pang (2003), proposition 9.1.1.
- (en) M. Kostreva (1976). Direct Algorithms for Complementarity Problems. Ph.D. thesis, Rensselaer Polytechnic Institute, Troy, New York.
- (en) O. Mangasarian (1977). Solution of symmetric linear complementarity problems by iterative methods. Journal of Optimization Theory and Applications, 22, 465–485.
- (en) A. Fischer (1992). A special Newton-type optimization method. Optimization, 24, 269–284.
- (en) A. Fischer (1995). A Newton-type method for positive semidefinite linear complementarity problems. Journal of Optimization Theory and Applications, 86, 585–608.
- (en) H. Samelson, R.M. Thrall, O. Wesler (1958). A partition theorem for the Euclidean n-space. Proceedings of the American Mathematical Society, 9, 805–807.
- (en) L. Qi, J. Sun (1993). A nonsmooth version of Newton’s method. Mathematical Programming, 58, 353–367.
- (en) R. Chandrasekaran (1970). A special case of the complementary pivot problem. Opsearch, 7, 263–268.
- (en) M. Aganagić (1980). Newton’s method for linear complementarity problems. Mathematical Programming, 28, 349–362 (1984).
- (en) M. Bergounioux, K. Ito, K. Kunisch (1999). Primal-dual strategy for constrained optimal control problems. SIAM Journal on Control and Optimization, 37, 1176–1194.
- (en) A. Fischer, C. Kanzow (1996). On finite termination of an iterative method for linear complementarity problems. Mathematical Programming, 74, 279–292.
- (en) M. Hintermuüller, K. Ito, K. Kunisch (2003). The primal-dual active set strategy as a semismooth Newton method. SIAM Journal on Optimization, 13, 865–888.
- (en) I. Ben Gharbia, J.Ch. Gilbert (2011). Nonconvergence of the plain Newton-min algorithm for linear complementarity problems with a P-matrix. Mathematical Programming (à paraître). doi
- (en) Ch. Kanzow (2004). Inexact semismooth Newton methods for large-scale complementarity problems. Optimization Methods and Software, 19, 309–325.
- (en) P.T. Harker, J.-S. Pang (1990). A damped-Newton method for the linear complementarity problem. In E.L. Allgower, K. Georg (éditeurs), Computational Solution of Nonlinear Systems of Equations, Lecture in Applied Mathematics 26. AMS, Providence, RI.
- (en) C. Chen, O.L. Mangasarian (1995). Smoothing methods for convex inequalities and linear complementary problems. Mathematical Programming, 71, 1–112. doi
Ouvrages généraux
- (en) R. W. Cottle, J.-S. Pang, R. E. Stone (2009). The linear complementarity problem. Classics in Applied Mathematics 60. SIAM, Philadelphia, PA, USA.
- (en) F. Facchinei, J.-S. Pang (2003). Finite-Dimentional Variational Inequalities and Complementarity Problems (2 volumes). Springer Series in Operations Research. Springer-Verlag, New York.
- (en) K.G. Murty (1988). Linear complementarity, linear and nonlinear programming. Sigma Series in Applied Mathematics, 3. Heldermann Verlag, Berlin. ISBN 978-3-88538-403-8. Téléchargeable sur le site de l'auteur.
- Les -matrices sont celles qui assurent l'existence et l'unicité de solution pour le problème CL(M,q), avec la propriété de monotonie suivante :
Wikimedia Foundation. 2010.