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.