Scippy

SCIP

Solving Constraint Integer Programs

nlpi_ipopt.h File Reference

Detailed Description

Ipopt NLP interface.

Author
Stefan Vigerske

Definition in file nlpi_ipopt.h.

#include "nlpi/type_nlpi.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPcreateNlpSolverIpopt (BMS_BLKMEM *blkmem, SCIP_NLPI **nlpi)
 
const char * SCIPgetSolverNameIpopt (void)
 
const char * SCIPgetSolverDescIpopt (void)
 
SCIP_Bool SCIPisIpoptAvailableIpopt (void)
 
void * SCIPgetIpoptApplicationPointerIpopt (SCIP_NLPIPROBLEM *nlpiproblem)
 
void * SCIPgetNlpiOracleIpopt (SCIP_NLPIPROBLEM *nlpiproblem)
 
void SCIPsetModifiedDefaultSettingsIpopt (SCIP_NLPI *nlpi, const char *optionsstring)
 
SCIP_RETCODE LapackDsyev (SCIP_Bool computeeigenvectors, int N, SCIP_Real *a, SCIP_Real *w)
 

Function Documentation

SCIP_RETCODE SCIPcreateNlpSolverIpopt ( BMS_BLKMEM blkmem,
SCIP_NLPI **  nlpi 
)

create solver interface for Ipopt solver sets *nlpi to NULL if Ipopt is not available

create solver interface for Ipopt solver

Parameters
blkmemblock memory data structure
nlpipointer to buffer for nlpi address

Definition at line 1955 of file nlpi_ipopt.cpp.

References NLPI_DESC, NLPI_NAME, NLPI_PRIORITY, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, and SCIPnlpiCreate().

Referenced by SCIP_DECL_NLPICOPY(), and SCIPincludeDefaultPlugins().

const char* SCIPgetSolverNameIpopt ( void  )

gets string that identifies Ipopt (version number)

Definition at line 1985 of file nlpi_ipopt.cpp.

Referenced by SCIPincludeDefaultPlugins().

const char* SCIPgetSolverDescIpopt ( void  )

gets string that describes Ipopt (version number)

Definition at line 1991 of file nlpi_ipopt.cpp.

Referenced by SCIPincludeDefaultPlugins().

SCIP_Bool SCIPisIpoptAvailableIpopt ( void  )

returns whether Ipopt is available, i.e., whether it has been linked in

Definition at line 1997 of file nlpi_ipopt.cpp.

References FALSE, and TRUE.

Referenced by checkCurvature(), checkFactorable(), and SCIP_DECL_CONSINITSOL().

void* SCIPgetIpoptApplicationPointerIpopt ( SCIP_NLPIPROBLEM nlpiproblem)

gives a pointer to the IpoptApplication object stored in Ipopt-NLPI's NLPI problem data structure

Parameters
nlpiproblemNLP problem of Ipopt-NLPI

Definition at line 2003 of file nlpi_ipopt.cpp.

References SCIP_NlpiProblem::ipopt, NULL, SCIPABORT, and SCIPerrorMessage.

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 2013 of file nlpi_ipopt.cpp.

References NULL, SCIP_NlpiProblem::oracle, SCIPABORT, and SCIPerrorMessage.

void SCIPsetModifiedDefaultSettingsIpopt ( SCIP_NLPI nlpi,
const char *  optionsstring 
)

sets modified default settings that are used when setting up an Ipopt problem

Do not forget to add a newline after the last option in optionsstring.

Parameters
nlpiIpopt NLP interface
optionsstringstring with options as in Ipopt options file

Definition at line 2026 of file nlpi_ipopt.cpp.

References NULL, SCIPABORT, SCIPerrorMessage, and SCIPnlpiGetData().

SCIP_RETCODE LapackDsyev ( 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 Ipopt is linked against Lapack.

Calls Lapacks Dsyev routine to compute eigenvalues and eigenvectors of a dense matrix. It's here, because we use Ipopt's interface to 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 2792 of file nlpi_ipopt.cpp.

References SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.

Referenced by checkCurvature(), and checkFactorable().