Complémentarité linéaire

De testwiki
Aller à la navigation Aller à la recherche

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 Mn×n et d'un vecteur qn et consiste à trouver un vecteur xn tel que ses composantes et celles de y:=Mx+q soient positives et tel que Modèle:Mvar et Modèle:Mvar soient orthogonaux pour le produit scalaire euclidien de n :

x0,Mx+q0etx(Mx+q)=0,

x désigne le vecteur Modèle:Mvar transposé. Ce problème peut être vu comme un cas particulier d'inéquation variationnelle.

Ces problèmes sont souvent NP-difficiles 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 Modèle:Math 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'équations qui sont en quelque sorte en compétition ; celui qui est actif en un endroit et temps donnés, correspondant à un indice commun de Modèle:Mvar et de Modèle:Mvar, 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 : problèmes de contact, problèmes d'apparition et de disparition de phases dans les écoulements multiphasiques, problèmes de précipitation-dissolution en chimie, en météorologie, etc.

Problème

Notations préliminaires

Pour un vecteur vn, la notation v0 signifie que toutes les composantes vi du vecteur sont positives ou nulles.

On note +n:={xn:x0} l'orthant positif de n.

Pour deux parties Modèle:Mvar et Modèle:Mvar d'un espace vectoriel, A+B désigne leur somme de Minkowski, qui est l'ensemble A+B:={x+y:xA,yB}.

Définitions

Étant donnés une matrice réelle carrée Mn×n, non nécessairement symétrique, et un vecteur qn, un problème de complémentarité linéaire consiste à trouver un vecteur xn tel que

x0,Mx+q0etx(Mx+q)=0.

Le symbole ci-dessus est utilisé pour désigner la transposition du vecteur à sa gauche. Dès lors, l'orthogonalité requise de Modèle:Mvar et de Mx+q revient à demander que le produit de Hadamard de ces deux vecteurs soit nul :

x(Mx+q)=0

On écrit souvent ce problème de manière concise comme suit :

Modèle:Bloc emphase

Un point Modèle:Mvar vérifiant x0 et Mx+q0 est dit admissible pour le problème Modèle:Math l'ensemble

Adm(M,q):={xn:x0,Mx+q0}

est appelé l'ensemble admissible de ce problème. On dit que le problème Modèle:Math est réalisable si Adm(M,q). On montre facilement que

Modèle:Bloc emphase

On note

Sol(M,q)

l'ensemble des solutions du problème de complémentarité linéaire Modèle:Math ; c'est une réunion de polyèdres convexes[1].

Liens avec d'autres problèmes

Conditions d'optimalité d'un problème d'optimisation quadratique

Les conditions d'optimalité d'un problème d'optimisation quadratique peuvent s'exprimer comme un problème de complémentarité linéaire. En effet, considérons le problème d'optimisation quadratique générique

{infxngx+12xHxAxbx0,

gn, Hn×n est une matrice symétrique (non nécessairement semi-définie positive), Am×n et bm. Ses conditions d'optimalité du premier ordre s'écrivent pour des multiplicateurs ym et zn :

{g+HxAyz=00y(Axb)00zx0.

En éliminant le multiplicateur Modèle:Mvar, on obtient un système formé de deux problèmes de complémentarité linéaire couplés

{0y(Axb)00(g+HxAy)x0.

Celui-ci peut s'exprimer comme un unique problème de complémentarité linéaire :

0(xy)(HAA0)(xy)+(gb)0.

Par ailleurs, lorsque Mn×n est symétrique semi-définie positive, le problème Modèle:Math est équivalent au problème d'optimisation quadratique

{infxnqx+12xMxx0.

En effet, dans les conditions énoncées, le problème d'optimisation quadratique est équivalent à ses conditions d'optimalité du premier ordre : il existe (x,z)n×n tel que

{q+Mxz=00xz0.

Après élimination du multiplicateur Modèle:Mvar, on obtient Modèle:Math.

Expression sous forme de problème d'optimisation quadratique

Considérons le problème d'optimisation quadratique en xn suivant :

Modèle:Ancre (PQ){minx(Mx+q)x0Mx+q0.

Si le problème de complémentarité linéaire Modèle:Math est admissible, c'est-à-dire si Adm(M,q), l'ensemble admissible du problème quadratique (PQ) est non vide. Dans ce cas, ce problème quadratique a une solution (car son coût est borné inférieurement sur l'ensemble admissible - il y est positif, voir Frank et Wolfe, 1956[2]) et donc des points stationnaires. On note

Sta(M,q)

l'ensemble des points stationnaires du problème d'optimisation quadratique (PQ). On a Sol(M,q)Sta(M,q)Adm(M,q) et, par le raisonnement précédent,

Adm(M,q)Sta(M,q).

On a bien sûr

Modèle:Bloc emphase

On notera cependant que (PQ) est, en général, un problème non convexe, si bien que la résolution de Modèle:Math passant par celle de (PQ) n'est guère aisée.

Cas particulier d'inéquation variationnelle

Un problème d'inéquation variationnelle sur n est défini au moyen d'un produit scalaire , sur n, d'un ensemble non vide Kn et d'une fonction F:Kn. Il consiste à trouver un point xn tel que

{xKF(x),yx0,yK.

Si le produit scalaire est le produit sclalaire euclidien u,v:=uv, si K est l'orthant positif +n et si F:x+n(Mx+q)n, le problème d'inéquation variationnelle ci-dessus n'est autre que le problème de complémentarité linéaire Modèle:Math.

Reformulations au moyen d'équations

On peut exprimer le problème de complémentarité linéaire Modèle:Math 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 f:2 est une C-fonction si

f(a,b)=0ab=0,a0,b0.

Une C-fonction permet donc de remplacer le problème Modèle:Math par le système d'équations non linéaires

F(x)=0,

F:nn 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 Modèle:Mvar[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 facilement qu'il s'agit bien d'une C-fonction. Dès lors

min(x,Mx+q)=0xSol(M,q),

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]Modèle:,[7] est définie par :

fFB(a,b)=a2+b2(a+b).

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 Modèle:Mvar. 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 classes remarquables de matrices et les propriétés du problème de complémentarité linéaire Modèle:Math qui y sont associées. Ces classes de matrices ont souvent (mais pas toujours) des caractérisations algébriques qui permettent de reconnaître leurs membres.

  1. Les M-matrices sont celles qui assurent l'existence et l'unicité de solution pour le problème Modèle:Math, avec la propriété de monotonie suivante :
    Modèle:Sautx¯1Sol(M,q1),x¯2Sol(M,q2),q1q2x¯1x¯2.Modèle:Saut
  2. Les matrices non dégénérées sont celles pour lesquelles, quel que soit qn, toute solution éventuelle de Modèle:Math est localement unique.
  3. Les matrices suffisantes en colonne sont celles qui assurent la convexité de l'ensemble des solutions Sol(M,q), quel que soit qn.
  4. Les matrices suffisantes en ligne sont celles qui assurent que, quel que soit qn, l'ensemble des solutions Sol(M,q) est identique à l'ensemble des points stationnaires du problème quadratique associé (PQ).
  5. Les P-matrices sont celles qui assurent l'existence et l'unicité de solution pour le problème Modèle:Math, quel que soit qn[8].
  6. Les Q-matrices sont celles qui assurent l'existence de solution pour le problème Modèle:Math, quel que soit qn.
  7. Les [[Q0-matrice|QModèle:Ind-matrices]] sont celles qui assurent que le problème Modèle:Math a une solution lorsqu'il est réalisable.
  8. Les [[R0-matrice|RModèle:Ind-matrices]] sont celles qui assurent que x=0 est l'unique solution de Modèle:Math.
  9. Les S-matrices sont celles qui assurent que l'ensemble admissible Adm(M,q), quel que soit qn.
  10. Les Z-matrices sont celles qui assurent l'existence d'un minimum (pour l'ordre de n) de Modèle:Math, qui est solution de Modèle:Math, pour tout Modèle:Mvar rendant l'ensemble admissible Adm(M,q).

Existence de solution

On recense (au moins) deux stratégies pour démontrer qu'un problème de complémentarité linéaire a une solution. La première passe par le problème quadratique associé (PQ) et ses conditions d'optimalité. La seconde repose sur le théorème du point fixe de Brouwer. On ne pense pas aujourd'hui (2013) avoir fait le tour de la question, en particulier, parce qu'on ne sait pas décrire algébriquement la classe des Q-matrices, celles qui assurent l'existence d'une solution quel que soit le vecteur Modèle:Mvar.

Approche par l'optimisation

Dans cette approche, on cherche à montrer que le problème quadratique (PQ) a une valeur optimale nulle. Comme ce problème quadratique a une solution (Frank et Wolfe, 1956[2]), celle-ci est alors solution du problème de complémentarité linéaire Modèle:Math.

Par exemple, pour montrer que le problème de complémentarité linéaire a une solution dans le cas où Modèle:Mvar est une P-matrice, on écrit les conditions d'optimalité de (PQ) en une solution Modèle:Mvar : comme les contraintes sont qualifiées, il existe des multiplicateurs optimaux s et Modèle:Mvar tels que

{(a)(M+M)x+qsMz=0(b)0xs0(c)0(Mx+q)z0.

Il suffit alors de montrer que z=x pour déduire de (c) que Modèle:Mvar est solution de Modèle:Math. Par quelques manipulations algébriques astucieuses, on peut obtenir (xz)M(xz)0 qui implique que z=x grâce à la P-matricité de M, qui se déduit de celle de Modèle:Mvar.

Approche par point fixe

Dans cette approche, on commence par introduire un problème de complémentarité linéaire augmenté CL(M~,q~) défini par

M~=(Mpp0)(n+1)×(n+1)etq~=(qr)n+1,

pn et r. Ce problème s'écrit comme un système de deux problèmes de complémentarité linéaire couplés, l'un en xn, l'autre en α :

{(a)0x(Mx+q+αp)0(b)0α(rpx)0.

On voit que si l'on réussit à montrer que CL(M~,q~) a une solution (x,α) avec α=0, Modèle:Mvar sera solution de Modèle:Math (par le problème Modèle:Math ci-dessus). Le plus souvent, on n'obtiendra ces circonstances qu'après un passage à la limite.

Existence de solution du problème augmenté

La première étape consiste donc à choisir pn et r de telle sorte que le problème augmenté CL(M~,q~) ait une solution. Voici deux résultats, le premier suppose que Modèle:Mvar est symétrique, le second pas.

Modèle:Théorème

La démonstration repose sur le fait que, dans les conditions énoncées, le problème d'optimisation quadratique

{infx12xMx+qxx0,pxr,

a une solution (Frank et Wolfe, 1956[2]). Celle-ci vérifie les conditions d'optimalité du premier ordre, qui ne sont autres que les conditions Modèle:Math et Modèle:Math ci-dessus.

Lorsque Modèle:Mvar n'est pas symétrique, on exprime CL(M~,q~) comme un problème d'inéquation variationnelle IV(F,K) dans lequel

F:nn:xMx+qetK:={xn:x0,pxr}.

Bien sûr K est convexe et fermé. Pour le rendre non vide et borné (afin d'appliquer le théorème d'existence de solution d'une IV), il est naturel de prendre p>0 et r0. On obtient alors le résultat suivant.

Modèle:Théorème

Existence de solution du problème original

La seconde étape consiste à donner des conditions permettant de trouver une solution de Modèle:Math à partir d'une solution de CL(M~,q~). Le résultat suivant donne des conditions suffisantes pour que le multiplicateur α dans Modèle:Math et Modèle:Math ci-dessus soit nul.

Modèle:Théorème

Dans les conditions nécessaires et suffisantes d'existence de solution du problème Modèle:Math données ci-dessous, on ne peut garantir que α=0 dans Modèle:Math et Modèle:Math ci-dessus, mais on suppose que des solutions (xk,αk) d'une suite de problèmes augmentés CL(M~,q~k), k, sont telles que zéro adhère à {αk}.

Modèle:Théorème

On peut utiliser ce résultat pour montrer que

Méthodes de résolution

Comme on peut s'y attendre, 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).

Méthodes de points intérieurs

Modèle:…

  • Méthodes affines
  • Méthodes de réduction du potentiel
  • Méthodes de trajectoire centrale de type primal-dual

Méthodes non lisses

Modèle:…

Méthodes non lisses brutes

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.

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[9]).

Cette approche est apparentée à celle par points intérieurs. Leur analyse conduit à des résultats de convergence globale et locale rapide, sans résultat de complexité (contrairement aux algorithmes de points intérieurs).

Autres méthodes

Modèle:…

Complexité

Modèle:…

Annexes

Notes

Modèle:Références

Ouvrages généraux

Modèle:Portail