File numerics/src/MCP/MCP_Solvers.h

Go to the source code of this file

List of all the available solvers for the resolution of Mixed Complementarity Problems.

Functions

void mcp_driver_init(MixedComplementarityProblem *problem, SolverOptions *options)

Initialisation of the MCP solver (set problem, allocate working memory and so on.

This routine must be called before any attempt to run the mcp_driver.

Parameters
  • problem: the description of the MCP
  • options: for the solver

void mcp_driver_reset(MixedComplementarityProblem *problem, SolverOptions *options)

Reset of the MCP solver.

Parameters
  • problem: the description of the MCP
  • options: for the solver

void mcp_FischerBurmeister(MixedComplementarityProblem *problem, double *z, double *w, int *info, SolverOptions *options)

Fischer Burmeister solver.

Parameters
  • problem: a structure which represents the MCP
  • z: a m+n-vector, initial solution + returns the solution of the problem.
  • w: not used
  • info: termination value: 0 if success else >0.
  • options: structure used to define the solver and its parameters.

void mcp_newton_FBLSA(MixedComplementarityProblem2 *problem, double *z, double *Fmcp, int *info, SolverOptions *options)

Solver based on Fischer-Burmeister reformulation and line search (VFBLSA in FacchineiPang 2003 p.

834)

Parameters
  • problem: a structure which represents the MCP
  • z: a n1+n2-vector, initial solution + returns the solution of the problem.
  • Fmcp: n1+n2-vector which contains the value of Fmcp(z) = (G(z), H(z))
  • info: termination value: 0 if success else >0.
  • options: structure used to define the solver and its parameters.

void mcp_newton_minFBLSA(MixedComplementarityProblem2 *problem, double *z, double *Fmcp, int *info, SolverOptions *options)

Solver based on Fischer-Burmeister reformulation and line search.

The descent direction is found using a min reformulation (minFBLSA in FacchineiPang 2003 p. 855)

Parameters
  • problem: a structure which represents the MCP
  • z: a n1+n2-vector, initial solution + returns the solution of the problem.
  • Fmcp: n1+n2-vector which contains the value of Fmcp(z) = (G(z), H(z))
  • info: termination value: 0 if success else >0.
  • options: structure used to define the solver and its parameters.

void mixedComplementarity_default_setDefaultSolverOptions(MixedComplementarityProblem *problem, SolverOptions *pOptions)

set the default solver parameters and perform memory allocation for MixedLinearComplementarity

Parameters
  • problem: the pointer to the array of options to set.
  • pOptions: the pointer to the SolverOptions stucture.

int mixedComplementarity_FB_setDefaultSolverOptions(MixedComplementarityProblem *problem, SolverOptions *pSolver)

set the default solver parameters and perform memory allocation for MixedLinearComplementarity

Parameters
  • problem: the pointer to the array of options to set.
  • pSolver: the pointer to the SolverOptions stucture.

int mixedComplementarity_setDefaultSolverOptions(MixedComplementarityProblem *problem, SolverOptions *pOptions)

set the default solver parameters and perform memory allocation for MixedLinearComplementarity

Parameters
  • problem: the pointer to the array of options to set.
  • pOptions: the pointer to the SolverOptions stucture.