Linear complementarity problem
   HOME

TheInfoList



OR:

In mathematical optimization theory, the linear complementarity problem (LCP) arises frequently in
computational mechanics Computational mechanics is the discipline concerned with the use of computational methods to study phenomena governed by the principles of mechanics. Before the emergence of computational science (also called scientific computing) as a "third w ...
and encompasses the well-known quadratic programming as a special case. It was proposed by Cottle and Dantzig in 1968.


Formulation

Given a real matrix ''M'' and vector ''q'', the linear complementarity problem LCP(''q'', ''M'') seeks vectors ''z'' and ''w'' which satisfy the following constraints: * w, z \geqslant 0, (that is, each component of these two vectors is non-negative) * z^Tw = 0 or equivalently \sum\nolimits_i w_i z_i = 0. This is the complementarity condition, since it implies that, for all i, at most one of w_i and z_i can be positive. * w = Mz + q A sufficient condition for existence and uniqueness of a solution to this problem is that ''M'' be symmetric positive-definite. If ''M'' is such that has a solution for every ''q'', then ''M'' is a
Q-matrix In mathematics, a Q-matrix is a square matrix whose associated linear complementarity problem LCP(''M'',''q'') has a solution for every vector ''q''. Properties * ''M'' is a Q-matrix if there exists ''d'' > 0 such that LCP(''M'',0) and LCP('' ...
. If ''M'' is such that have a unique solution for every ''q'', then ''M'' is a
P-matrix In mathematics, a -matrix is a complex square matrix with every principal minor is positive. A closely related class is that of P_0-matrices, which are the closure of the class of -matrices, with every principal minor \geq 0. Spectra of -matri ...
. Both of these characterizations are sufficient and necessary. The vector ''w'' is a slack variable, and so is generally discarded after ''z'' is found. As such, the problem can also be formulated as: * Mz+q \geqslant 0 * z \geqslant 0 * z^(Mz+q) = 0 (the complementarity condition)


Convex quadratic-minimization: Minimum conditions

Finding a solution to the linear complementarity problem is associated with minimizing the quadratic function : f(z) = z^T(Mz+q) subject to the constraints : +q \geqslant 0 : z \geqslant 0 These constraints ensure that ''f'' is always non-negative. The minimum of ''f'' is 0 at ''z'' if and only if ''z'' solves the linear complementarity problem. If ''M'' is
positive definite In mathematics, positive definiteness is a property of any object to which a bilinear form or a sesquilinear form may be naturally associated, which is positive-definite. See, in particular: * Positive-definite bilinear form * Positive-definite fu ...
, any algorithm for solving (strictly) convex QPs can solve the LCP. Specially designed basis-exchange pivoting algorithms, such as Lemke's algorithm and a variant of the simplex algorithm of Dantzig have been used for decades. Besides having polynomial time complexity, interior-point methods are also effective in practice. Also, a quadratic-programming problem stated as minimize f(x)=c^Tx+\tfrac x^T Qx subject to Ax \geqslant b as well as x \geqslant 0 with ''Q'' symmetric is the same as solving the LCP with :q = \begin c \\ -b \end, \qquad M = \begin Q & -A^T \\ A & 0 \end This is because the Karush–Kuhn–Tucker conditions of the QP problem can be written as: :\begin v = Q x - A^T + c \\ s = A x - b \\ x, , v, s \geqslant 0 \\ x^ v+ ^T s = 0 \end with ''v'' the Lagrange multipliers on the non-negativity constraints, ''λ'' the multipliers on the inequality constraints, and ''s'' the slack variables for the inequality constraints. The fourth condition derives from the complementarity of each group of variables with its set of KKT vectors (optimal Lagrange multipliers) being . In that case, : z = \begin x \\ \lambda \end, \qquad w = \begin v \\ s \end If the non-negativity constraint on the ''x'' is relaxed, the dimensionality of the LCP problem can be reduced to the number of the inequalities, as long as ''Q'' is non-singular (which is guaranteed if it is
positive definite In mathematics, positive definiteness is a property of any object to which a bilinear form or a sesquilinear form may be naturally associated, which is positive-definite. See, in particular: * Positive-definite bilinear form * Positive-definite fu ...
). The multipliers ''v'' are no longer present, and the first KKT conditions can be rewritten as: : Q x = A^ - c or: : x = Q^(A^ - c) pre-multiplying the two sides by ''A'' and subtracting ''b'' we obtain: : A x - b = A Q^(A^ - c) -b \, The left side, due to the second KKT condition, is ''s''. Substituting and reordering: : s = (A Q^ A^) + (- A Q^ c - b )\, Calling now :\begin M &:= (A Q^ A^) \\ q &:= (- A Q^ c - b) \end we have an LCP, due to the relation of complementarity between the slack variables ''s'' and their Lagrange multipliers ''λ''. Once we solve it, we may obtain the value of ''x'' from ''λ'' through the first KKT condition. Finally, it is also possible to handle additional equality constraints: : A_x = b_ This introduces a vector of Lagrange multipliers ''μ'', with the same dimension as b_. It is easy to verify that the ''M'' and ''Q'' for the LCP system s = M + Q are now expressed as: :\begin M &:= \begin A & 0 \end \begin Q & A_^ \\ -A_ & 0 \end^ \begin A^T \\ 0 \end \\ q &:= - \begin A & 0 \end \begin Q & A_^ \\ -A_ & 0 \end^ \begin c \\ b_ \end - b \end From ''λ'' we can now recover the values of both ''x'' and the Lagrange multiplier of equalities ''μ'': :\begin x \\ \mu \end = \begin Q & A_^ \\ -A_ & 0 \end^ \begin A^T \lambda - c \\ -b_ \end In fact, most QP solvers work on the LCP formulation, including the
interior point method Interior-point methods (also referred to as barrier methods or IPMs) are a certain class of algorithms that solve linear and nonlinear convex optimization problems. An interior point method was discovered by Soviet mathematician I. I. Dikin in 1 ...
, principal / complementarity pivoting, and
active set In mathematical optimization, the active-set method is an algorithm used to identify the active constraints in a set of inequality constraints. The active constraints are then expressed as equality constraints, thereby transforming an inequality ...
methods. LCP problems can be solved also by the
criss-cross algorithm In mathematical optimization, the criss-cross algorithm is any of a family of algorithms for linear programming. Variants of the criss-cross algorithm also solve more general problems with linear inequality constraints and nonlinear objecti ...
, conversely, for linear complementarity problems, the criss-cross algorithm terminates finitely only if the matrix is a sufficient matrix. A sufficient matrix is a generalization both of a positive-definite matrix and of a
P-matrix In mathematics, a -matrix is a complex square matrix with every principal minor is positive. A closely related class is that of P_0-matrices, which are the closure of the class of -matrices, with every principal minor \geq 0. Spectra of -matri ...
, whose
principal minor In linear algebra, a minor of a matrix A is the determinant of some smaller square matrix, cut down from A by removing one or more of its rows and columns. Minors obtained by removing just one row and one column from square matrices (first minors ...
s are each positive. Such LCPs can be solved when they are formulated abstractly using oriented-matroid theory.


See also

*
Complementarity theory A complementarity problem is a type of mathematical optimization problem. It is the problem of optimizing (minimizing or maximizing) a function of two vector variables subject to certain requirements (constraints) which include: that the inner ...
*
Physics engine A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics, of use in the domains of computer gr ...
Impulse/constraint type physics engines for games use this approach. *
Contact dynamics Contact dynamics deals with the motion of multibody systems subjected to unilateral contacts and friction. Such systems are omnipresent in many multibody dynamics applications. Consider for example * Contacts between wheels and ground in vehicle ...
Contact dynamics with the nonsmooth approach. * Bimatrix games can be reduced to a LCP.


Notes


References

* * * * * * * * * * * * *


Further reading

*


External links


LCPSolve
— A simple procedure in GAUSS to solve a linear complementarity problem * Siconos/Numerics open-source GPL implementation in C of Lemke's algorithm and other methods to solve LCPs and MLCPs {{Mathematical programming Linear algebra Mathematical optimization