Detailed Description
methods and files provided by the default NLP solver interfaces of SCIP
A detailed description what a NLP solver interface does and how to add a NLP solver interface to SCIP can be found here.
Modules | |
Inclusion methods | |
methods to include specific NLP solver interfaces into SCIP | |
Functions | |
const char * | SCIPgetSolverNameFilterSQP (void) |
const char * | SCIPgetSolverDescFilterSQP (void) |
SCIP_Bool | SCIPisFilterSQPAvailableFilterSQP (void) |
const char * | SCIPgetSolverNameIpopt (void) |
const char * | SCIPgetSolverDescIpopt (void) |
SCIP_Bool | SCIPisIpoptAvailableIpopt (void) |
void * | SCIPgetNlpiOracleIpopt (SCIP_NLPIPROBLEM *nlpiproblem) |
SCIP_RETCODE | SCIPcallLapackDsyevIpopt (SCIP_Bool computeeigenvectors, int N, SCIP_Real *a, SCIP_Real *w) |
SCIP_RETCODE | SCIPsolveLinearEquationsIpopt (int N, SCIP_Real *A, SCIP_Real *b, SCIP_Real *x, SCIP_Bool *success) |
const char * | SCIPgetSolverNameWorhp (void) |
const char * | SCIPgetSolverDescWorhp (void) |
SCIP_Bool | SCIPisWorhpAvailableWorhp (void) |
Files | |
file | nlpi_all.h |
NLP interface that uses all available NLP interfaces. | |
file | nlpi_filtersqp.h |
filterSQP NLP interface | |
file | nlpi_ipopt.h |
Ipopt NLP interface. | |
file | nlpi_worhp.h |
Worhp NLP interface. | |
Function Documentation
◆ SCIPgetSolverNameFilterSQP()
const char* SCIPgetSolverNameFilterSQP | ( | void | ) |
gets string that identifies filterSQP
Definition at line 1829 of file nlpi_filtersqp.c.
Referenced by SCIPincludeNlpSolverFilterSQP().
◆ SCIPgetSolverDescFilterSQP()
const char* SCIPgetSolverDescFilterSQP | ( | void | ) |
gets string that describes filterSQP
Definition at line 1837 of file nlpi_filtersqp.c.
References NLPI_DESC.
Referenced by SCIPincludeNlpSolverFilterSQP().
◆ SCIPisFilterSQPAvailableFilterSQP()
SCIP_Bool SCIPisFilterSQPAvailableFilterSQP | ( | void | ) |
returns whether filterSQP is available, i.e., whether it has been linked in
Definition at line 1845 of file nlpi_filtersqp.c.
◆ SCIPgetSolverNameIpopt()
const char* SCIPgetSolverNameIpopt | ( | void | ) |
gets string that identifies Ipopt (version number)
Definition at line 1842 of file nlpi_ipopt.cpp.
Referenced by SCIPincludeNlpSolverIpopt().
◆ SCIPgetSolverDescIpopt()
const char* SCIPgetSolverDescIpopt | ( | void | ) |
gets string that describes Ipopt
Definition at line 1848 of file nlpi_ipopt.cpp.
Referenced by SCIPincludeNlpSolverIpopt().
◆ SCIPisIpoptAvailableIpopt()
SCIP_Bool SCIPisIpoptAvailableIpopt | ( | void | ) |
returns whether Ipopt is available, i.e., whether it has been linked in
Definition at line 1854 of file nlpi_ipopt.cpp.
Referenced by detectSocQuadraticComplex(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECSOL(), and SCIPexprComputeQuadraticCurvature().
◆ SCIPgetNlpiOracleIpopt()
void* SCIPgetNlpiOracleIpopt | ( | SCIP_NLPIPROBLEM * | nlpiproblem | ) |
gives a pointer to the NLPIORACLE object stored in Ipopt-NLPI's NLPI problem data structure
- Parameters
-
nlpiproblem NLP problem of Ipopt-NLPI
Definition at line 1860 of file nlpi_ipopt.cpp.
References BMScopyMemoryArray, convcheck_maxiter, convcheck_minred, convcheck_nchecks, convcheck_startiter, MAX, NULL, SCIP_NlpiProblem::oracle, SCIP_INVALID, SCIP_NLPPARAM_FASTFAIL_AGGRESSIVE, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_NLPSOLSTAT_LOCOPT, SCIP_NLPSOLSTAT_UNBOUNDED, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_EVALERROR, SCIP_NLPTERMSTAT_INTERRUPT, SCIP_NLPTERMSTAT_ITERLIMIT, SCIP_NLPTERMSTAT_LOBJLIMIT, SCIP_NLPTERMSTAT_NUMERICERROR, SCIP_NLPTERMSTAT_OKAY, SCIP_NLPTERMSTAT_OTHER, SCIP_NLPTERMSTAT_OUTOFMEMORY, SCIP_NLPTERMSTAT_TIMELIMIT, SCIP_OKAY, SCIP_Real, SCIPABORT, SCIPallocBlockMemoryArray, SCIPdebugMessage, SCIPdebugMsg, SCIPdebugPrintf, SCIPerrorMessage, SCIPisInfinity(), SCIPisSolveInterrupted(), SCIPnlpiOracleEvalConstraintValues(), SCIPnlpiOracleEvalHessianLag(), SCIPnlpiOracleEvalJacobian(), SCIPnlpiOracleEvalObjectiveGradient(), SCIPnlpiOracleEvalObjectiveValue(), SCIPnlpiOracleGetConstraintLhs(), SCIPnlpiOracleGetConstraintName(), SCIPnlpiOracleGetConstraintRhs(), SCIPnlpiOracleGetHessianLagSparsity(), SCIPnlpiOracleGetJacobianSparsity(), SCIPnlpiOracleGetNConstraints(), SCIPnlpiOracleGetNVars(), SCIPnlpiOracleGetVarCounts(), SCIPnlpiOracleGetVarLbs(), SCIPnlpiOracleGetVarNames(), SCIPnlpiOracleGetVarUbs(), SCIPnlpiOracleIsVarNonlinear(), and x.
Referenced by computeInteriorPoint().
◆ SCIPcallLapackDsyevIpopt()
SCIP_RETCODE SCIPcallLapackDsyevIpopt | ( | SCIP_Bool | computeeigenvectors, |
int | N, | ||
SCIP_Real * | a, | ||
SCIP_Real * | w | ||
) |
Calls Lapacks Dsyev routine to compute eigenvalues and eigenvectors of a dense matrix.
It's here, because we use Ipopt's C interface to Lapack.
Calls Lapacks Dsyev routine to compute eigenvalues and eigenvectors of a dense matrix. It's here, because Ipopt is linked against Lapack.
- Parameters
-
computeeigenvectors should also eigenvectors should be computed ? N dimension a matrix data on input (size N*N); eigenvectors on output if computeeigenvectors == TRUE w buffer to store eigenvalues (size N)
Definition at line 2675 of file nlpi_ipopt.cpp.
References SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.
Referenced by detectSocQuadraticComplex(), getEigenValues(), and SCIPexprComputeQuadraticCurvature().
◆ SCIPsolveLinearEquationsIpopt()
SCIP_RETCODE SCIPsolveLinearEquationsIpopt | ( | int | N, |
SCIP_Real * | A, | ||
SCIP_Real * | b, | ||
SCIP_Real * | x, | ||
SCIP_Bool * | success | ||
) |
solves a linear problem of the form Ax = b for a regular matrix A
Calls Lapacks DGETRF routine to calculate a LU factorization and uses this factorization to solve the linear problem Ax = b.
It's here, because we use Ipopt's C interface to Lapack.
- Parameters
-
N dimension A matrix data on input (size N*N); filled column-wise b right hand side vector (size N) x buffer to store solution (size N) success pointer to store if the solving routine was successful
Definition at line 2759 of file nlpi_ipopt.cpp.
References BMSallocMemoryArray, BMScopyMemoryArray, BMSduplicateMemoryArray, BMSfreeMemoryArray, BMSfreeMemoryArrayNull, ENTRY, FALSE, NULL, SCIP_ALLOC, SCIP_ALLOC_TERMINATE, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, solveLinearProb3(), TRUE, and y.
Referenced by computeHyperplaneThreePoints().
◆ SCIPgetSolverNameWorhp()
const char* SCIPgetSolverNameWorhp | ( | void | ) |
gets string that identifies Worhp (version number)
Definition at line 1646 of file nlpi_worhp.c.
Referenced by SCIPincludeNlpSolverWorhp().
◆ SCIPgetSolverDescWorhp()
const char* SCIPgetSolverDescWorhp | ( | void | ) |
gets string that describes Worhp (version number)
Definition at line 1660 of file nlpi_worhp.c.
Referenced by SCIPincludeNlpSolverWorhp().
◆ SCIPisWorhpAvailableWorhp()
SCIP_Bool SCIPisWorhpAvailableWorhp | ( | void | ) |
returns whether Worhp is available, i.e., whether it has been linked in
Definition at line 1668 of file nlpi_worhp.c.