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.

See the detailed documentation in MCP available solvers

Functions

void mcp_newton_FB_FBLSA(MixedComplementarityProblem *problem, double *z, double *Fmcp, int *info, SolverOptions *options)#

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

834)

Parameters:
  • problem[in] a structure which represents the MCP

  • z[inout] a n1+n2-vector, initial solution + returns the solution of the problem.

  • Fmcp[out] n1+n2-vector which contains the value of Fmcp(z) = (G(z), H(z))

  • info[out] termination value: 0 if success else >0.

  • options[inout] structure used to define the solver and its parameters.

void mcp_newton_min_FBLSA(MixedComplementarityProblem *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 Facchinei—Pang 2003 p. 855)

Parameters:
  • problem[in] a structure which represents the MCP

  • z[inout] a n1+n2-vector, initial solution + returns the solution of the problem.

  • Fmcp[out] n1+n2-vector which contains the value of Fmcp(z) = (G(z), H(z))

  • info[out] termination value: 0 if success else >0.

  • options[inout] structure used to define the solver and its parameters.

int mcp_compute_error(MixedComplementarityProblem *problem, double *z, double *w, double *error)#
void mcp_old_driver_init(MixedComplementarityProblem_old *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_old_driver.

Parameters:
  • problem[in] the description of the MCP

  • options[in] for the solver

void mcp_old_driver_reset(MixedComplementarityProblem_old *problem, SolverOptions *options)#

Reset of the MCP solver.

Parameters:
  • problem[in] the description of the MCP

  • options[in] for the solver

void mcp_old_FischerBurmeister(MixedComplementarityProblem_old *problem, double *z, double *w, int *info, SolverOptions *options)#

Fischer Burmeister solver.

Parameters:
  • problem[in] a structure which represents the MCP

  • z[inout] a m+n-vector, initial solution + returns the solution of the problem.

  • w[out] not used

  • info[out] termination value: 0 if success else >0.

  • options[inout] structure used to define the solver and its parameters.

void mcp_old_FischerBurmeister_init(MixedComplementarityProblem_old *problem, SolverOptions *options)#

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

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

Parameters:
  • problem[in] description of the MCP

  • options[in] for the solver

void mcp_old_FischerBurmeister_reset(MixedComplementarityProblem_old *problem, SolverOptions *options)#

Reset of the MCP Fischer solver (free local variable)

Parameters:
  • problem[in] description of the MCP

  • options[in] for the solver

int mcp_old_compute_error(MixedComplementarityProblem_old *problem, double *z, double *w, double *error)#