Mixed (Non Linear) Complementarity problem (MCP)¶

Problem Statement:

Given a sufficiently smooth function $${F} \colon {{\mathrm{I\!R}}}^{n+m} \to {{\mathrm{I\!R}}}^{n+m}  , the Mixed Complementarity problem (MCP) is to find two vectors :math:(z,w \in {{\mathrm{I\!R}}}^{n+m})$$ such that:

\begin{split}\begin{align*} w &= \begin{pmatrix}w_e\\w_i\end{pmatrix} = F(z) \\ w_e &=0 \\ 0 &\le w_i \perp z_i \ge 0, \end{align*}\end{split}

where “i” (resp. “e”) stands for inequalities (resp. equalities). The vector $$z$$ is splitted like $$w$$ :

$\begin{split}\begin{equation*}z =\begin{pmatrix}z_e\\z_i\end{pmatrix}.\end{equation*}\end{split}$

The vectors $$z_i,w_i$$ are of size sizeEqualities , the vectors $$z_e,w_e$$ are of size sizeInequalities and $$F$$ is a non linear function that must be user-defined.

A Mixed Complementarity problem (MCP) is a NCP “augmented” with equality constraints.

Available solvers ::

• mcp_FB() , nonsmooth Newton method based on Fisher-Burmeister function.

semi-smooth Newton/Fisher-Burmeister solver.:

a nonsmooth Newton method based based on the Fischer-Bursmeister convex function

function: mcp_FischerBurmeister()

parameters:

• iparam[0] (in): maximum number of iterations allowed
• iparam[1] (out): number of iterations processed
• dparam[0] (in): tolerance
• dparam[1] (out): resulting error