Complementarity constraints

Why complementarity constraints?

In this chapter we are going to present yet another framework for modelling hybrid systems, which comes with a rich theory and efficient algorithms. It is based on complementarity constraints. Before we introduce the modelling framework in the next section, we first explain the very concept of complementarity constraints and the related optimization problems.

Definition of complementarity constraints

Two variables x\in\mathbb R and y\in\mathbb R satisfy the complementarity constraint if x or y is equal to zero and both are nonnegative

xy=0, \; x\geq 0,\; y\geq 0,

or, using a dedicated compact notation
\boxed{0\leq x \perp y \geq 0.}

Both variables can be zero simultaneously

The or in the above definition is not exclusive, therefore it is possible that both x and y are zero.

The concept and notation extends to vectors x\in\mathbb R^n and y\in\mathbb R^n, in which case the constraint is interpreted componentwise \boxed{\bm 0\leq \bm x \perp \bm y \geq \bm 0.}

Geometric interpretation of complementarity constraints

The set of admissible pairs (x,y) in the \mathbb R^2 plane is constrained to the L-shaped subset given by the nonnegative x and y semi-axes (including the origin) as in Fig. 1.

Figure 1: The set of solutions satisfying a complementarity constraint

Optimization over these constraints is difficult, and not only because the feasible set is nonconvex, but also because constraint qualification conditions are not satisfied. Still, some results and tools are available for some classes of optimization problems with these constraints.

Linear complementarity problem (LCP)

For a given square matrix \mathbf M and a vector \mathbf q , the linear complementarity problem (LCP) asks for finding two vectors \bm w and \bm z satisfying \begin{aligned} \bm w-\mathbf M\bm z &= \mathbf q, \\ \bm 0 \leq \bm w &\perp \bm z \geq \bm 0. \end{aligned}

Just by moving all the provided data to the right-hand side we get \bm w = \underbrace{\mathbf M\bm z + \mathbf q}_{\mathbf f(\bm z)} and we can write the linear complementarity constraint compactly as \boxed{ \mathbf 0 \leq \mathbf M\bm z + \mathbf q \perp \bm z \geq \mathbf 0.} \tag{1}

Existence of a unique solution

A unique solution exists for every vector \mathbf q if and only if the matrix \mathbf M is a P-matrix (something like positive definite, but not exactly, look it up yourself).

Nonlinear complementarity problem (NLCP)

Recall that when deriving Eq. 1, we denoted the right-hand side by \mathbf f(\bm x). The motivation for this was to help define a general nonlinear complementarity problem (NLCP): given a vector function \mathbf f: \mathbb R^n\rightarrow \mathbb R^n, find a vector \bm x\in\mathbb R^n satisfying \boxed{ \bm 0\leq \bm x \perp \mathbf f(\bm x) \geq \bm 0.} \tag{2}

Mixed complementarity problem (MCP)

We now provide an extension of a complementarity constraint to the situation in which the variable x is lower- and upper-bounded. In particular, it can be stated as \boxed{ l \leq x \leq u \perp f(x),} \tag{3}

where l and u are vectors of lower and upper bounds, respectively, and f(x) is a vector function which reads that

  • if x is strictly within the interval, that is, l < x < u , then f(x)=0,
  • if x= l , then f(x)\geq 0,
  • if x= u , then f(x)\leq 0,

with elementwise interpretation in the vector case.

Back to top