F(x) = q + Mz.
en donde q es un vector columna dado y M es una matriz p x p dada. Se dispone de algoritmos eficientes para resolver este problema bajo algunas suposiciones adecuadas sobre las propiedades de la matriz M. Uno de estos requiere pivotear de una solución básica factible a la siguiente, en forma muy parecida a la del método símplex para programación lineal.
Además de tener aplicaciones en programación no lineal, los problemas de complementariedad se utilizan en teoría de juegos, problemas de equilibrio económico y problemas de equilibrio en ingeniería.