Lemme de Farkas

Restez toujours informé : suivez-nous sur Google (☆)

Introduction

Le lemme de Farkas est un résultat de géométrie convexe essentiel en programmation linéaire où il fonde la théorie de la dualité pour les programmes linéaires, ainsi qu'en théorie des jeux. Il intervient dans la preuve du théorème de Karush-Kuhn-Tucker en programmation non linéaire.

Il affirme, avec quelques précautions techniques nécessaires, qu'étant donnée une famille d'inéquations linéaires (ou affines) dans un espace vectoriel réel de dimension finie, il n'y a pas d'autres conséquences à en déduire que celles qui se déduisent de façon évidente.

On peut donner plusieurs versions du lemme de Farkas, toutes essentiellement équivalentes les unes aux autres.

Ce lemme est un des « théorèmes de l'alternative », qui fournissent pour un système d'inéquations linéaires une condition nécessaire et suffisante d'existence de solution, qui peut s'exprimer comme inexistence de solutions pour un autre problème de forme voisine.

Historique

Ce lemme a été historiquement démontré pour la première fois par Gyula Farkas (en) en 1902 avec une formulation différente. La formulation matricielle est due à Albert William Tucker dans les années 1950.

La version du lemme en géométrie vectorielle

Avant de donner l'énoncé du lemme de Farkas, commençons par rappeler un résultat sur les équations linéaires, suffisamment simple pour ne pas bénéficier d'une dénomination particulière, et dont le lemme de Farkas est la généralisation aux inégalités.

Proposition — Soient f1, ... , fk et g des formes linéaires sur un espace vectoriel E de dimension finie. Alors :

si et seulement si

g appartient à l'espace vectoriel formé des combinaisons linéaires de f1, ... , fk.

Dit autrement : étant donné un sous-espace vectoriel de E décrit par une liste d'équations cartésiennes, toute autre équation valable sur ce sous-espace s'obtient en combinant de façon immédiate les équations initialement fournies.

Le lemme de Farkas est le résultat analogue pour des systèmes d'inéquations :

Lemme de Farkas, version vectorielle — Soient f1, ... , fk et g des formes linéaires sur un espace vectoriel réel E de dimension finie. Alors :

si et seulement si

g est une combinaison linéaire à coefficients positifs ou nuls de f1, ... , fk.

Une des preuves passe par l'étape suivante cruciale, qui est aussi parfois appelée lemme de Farkas :

Lemme de Farkas, version topologique — Soient s1, ... , sk des éléments d'un espace vectoriel réel E de dimension finie. L'ensemble des combinaisons linéaires à coefficients positifs ou nuls de s1, ... , sk est fermé dans E.

La version matricielle du lemme

B étant une matrice de réels, on note ici B ≥ 0 lorsque tous les coefficients de B sont positifs ou nuls. La notation B désigne la matrice transposée de B.

La version matricielle du lemme est la suivante :

Lemme de Farkas, version matricielle — Soient A une matrice de réels de taille (n, k) et b un vecteur-colonne avec n entrées, alors un et un seul des systèmes linéaires suivants a une solution :

  • le système Ax = b pour x vecteur-colonne à k entrées vérifiant par ailleurs x ≥ 0 ;

  • ou le système A y ≥ 0 pour y vecteur-colonne à n entrées vérifiant par ailleurs b y < 0.

La vérification est sans difficulté aucune, une fois qu'on a passé l'obstacle de raccrocher les matrices de cet énoncé aux objets géométriques de l'énoncé précédent.

Le lemme de Farkas comme critère d'inconsistance

On dira qu'un système d'inéquations est inconsistant lorsqu'il n'a aucune solution. Si on revient à la version du théorème pour les équations linéaires, dire que c'est la même chose que de dire que l'ensemble est vide : c'est un énoncé d'inconsistance. En notant h = - g , on a donc la variante suivante :

Lemme de Farkas, critère vectoriel d'inconsistance — Soient f1, ... , fk et h des formes linéaires sur un espace vectoriel réel E de dimension finie. Alors :

si et seulement si

( -h ) est une combinaison linéaire à coefficients positifs ou nuls de f1, ... , fk.

Par ce critère vectoriel d'inconsistance, on obtient facilement un critère d'inconsistance pour les systèmes affines directement apparenté, et d'aspect un peu plus simple :

Lemme de Farkas, critère affine d'inconsistance — Soient f1, ... , fk des formes affines sur un espace affine réel E de dimension finie. Alors :

si et seulement si

(-1) est une combinaison linéaire à coefficients positifs ou nuls de f1, ... , fk.

On voit de nouveau là très nettement l'idée sous-jacente à tous ces énoncés, appliquée dans le cas de l'inconsistance : un système inconsistant implique (au sens du calcu propositionnel) l'inéquation absurde - 1 ≥ 0 ; le lemme de Farkas assure dès lors qu'elle peut en être déduite non seulement par des raisonnements plus ou moins compliqués mais aussi tout simplement par combinaisons des équations du système.

Déduction d'inéquations en géométrie affine

La simple reproduction du résultat écrit plus haut en géométrie vectorielle serait inexacte en géométrie affine. L'énoncé est en effet faux pour les systèmes d'inéquations inconsistants. Donnons tout de suite un exemple : dans R où on note (u,v) le point courant, soit le système formé des deux inéquations : u-1 ≥ 0 et -u ≥ 0. Ce système est inconsistant, faux en tout point, et implique donc (au sens précis de "implique" en calcul propositionnel) n'importe quelle inéquation, par exemple l'inéquation v-3 ≥ 0. Pourtant il n'est bien sûr pas question de produire celle-ci par des manipulations algébriques simples à partir du système initial.

Un énoncé général nécessite ainsi une hypothèse supplémentaire de consistance du système.

« Lemme de Farkas généralisé » — Soient f1, ... , fk et g des formes affines sur un espace vectoriel affine de dimension finie E. On suppose l'ensemble non vide. Alors :

si et seulement si

g est somme d'une combinaison linéaire à coefficients positifs ou nuls de f1, ... , fk et d'une constante positive ou nulle.