Scippy

SCIP

Solving Constraint Integer Programs

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.

References FALSE, and TRUE.

◆ 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.

References FALSE, and TRUE.

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
nlpiproblemNLP 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
computeeigenvectorsshould also eigenvectors should be computed ?
Ndimension
amatrix data on input (size N*N); eigenvectors on output if computeeigenvectors == TRUE
wbuffer 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
Ndimension
Amatrix data on input (size N*N); filled column-wise
bright hand side vector (size N)
xbuffer to store solution (size N)
successpointer 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.

References FALSE, and TRUE.