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

 SCIP_DECL_SORTPTRCOMP (SCIPnlpiComp)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiCreate (SCIP_NLPI **nlpi, const char *name, const char *description, int priority, SCIP_DECL_NLPICOPY((*nlpicopy)), SCIP_DECL_NLPIFREE((*nlpifree)), SCIP_DECL_NLPIGETSOLVERPOINTER((*nlpigetsolverpointer)), SCIP_DECL_NLPICREATEPROBLEM((*nlpicreateproblem)), SCIP_DECL_NLPIFREEPROBLEM((*nlpifreeproblem)), SCIP_DECL_NLPIGETPROBLEMPOINTER((*nlpigetproblempointer)), SCIP_DECL_NLPIADDVARS((*nlpiaddvars)), SCIP_DECL_NLPIADDCONSTRAINTS((*nlpiaddconstraints)), SCIP_DECL_NLPISETOBJECTIVE((*nlpisetobjective)), SCIP_DECL_NLPICHGVARBOUNDS((*nlpichgvarbounds)), SCIP_DECL_NLPICHGCONSSIDES((*nlpichgconssides)), SCIP_DECL_NLPIDELVARSET((*nlpidelvarset)), SCIP_DECL_NLPIDELCONSSET((*nlpidelconsset)), SCIP_DECL_NLPICHGLINEARCOEFS((*nlpichglinearcoefs)), SCIP_DECL_NLPICHGQUADCOEFS((*nlpichgquadcoefs)), SCIP_DECL_NLPICHGEXPRTREE((*nlpichgexprtree)), SCIP_DECL_NLPICHGNONLINCOEF((*nlpichgnonlincoef)), SCIP_DECL_NLPICHGOBJCONSTANT((*nlpichgobjconstant)), SCIP_DECL_NLPISETINITIALGUESS((*nlpisetinitialguess)), SCIP_DECL_NLPISOLVE((*nlpisolve)), SCIP_DECL_NLPIGETSOLSTAT((*nlpigetsolstat)), SCIP_DECL_NLPIGETTERMSTAT((*nlpigettermstat)), SCIP_DECL_NLPIGETSOLUTION((*nlpigetsolution)), SCIP_DECL_NLPIGETSTATISTICS((*nlpigetstatistics)), SCIP_DECL_NLPIGETWARMSTARTSIZE((*nlpigetwarmstartsize)), SCIP_DECL_NLPIGETWARMSTARTMEMO((*nlpigetwarmstartmemo)), SCIP_DECL_NLPISETWARMSTARTMEMO((*nlpisetwarmstartmemo)), SCIP_DECL_NLPIGETINTPAR((*nlpigetintpar)), SCIP_DECL_NLPISETINTPAR((*nlpisetintpar)), SCIP_DECL_NLPIGETREALPAR((*nlpigetrealpar)), SCIP_DECL_NLPISETREALPAR((*nlpisetrealpar)), SCIP_DECL_NLPIGETSTRINGPAR((*nlpigetstringpar)), SCIP_DECL_NLPISETSTRINGPAR((*nlpisetstringpar)), SCIP_DECL_NLPISETMESSAGEHDLR((*nlpisetmessagehdlr)), SCIP_NLPIDATA *nlpidata)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiCopy (BMS_BLKMEM *blkmem, SCIP_NLPI *sourcenlpi, SCIP_NLPI **targetnlpi)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiFree (SCIP_NLPI **nlpi)
 
SCIP_EXPORT void * SCIPnlpiGetSolverPointer (SCIP_NLPI *nlpi)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiCreateProblem (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM **problem, const char *name)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiFreeProblem (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM **problem)
 
SCIP_EXPORT void * SCIPnlpiGetProblemPointer (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiAddVars (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nvars, const SCIP_Real *lbs, const SCIP_Real *ubs, const char **varnames)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiAddConstraints (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nconss, const SCIP_Real *lhss, const SCIP_Real *rhss, const int *nlininds, int *const *lininds, SCIP_Real *const *linvals, const int *nquadelems, SCIP_QUADELEM *const *quadelems, int *const *exprvaridxs, SCIP_EXPRTREE *const *exprtrees, const char **names)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetObjective (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nlins, const int *lininds, const SCIP_Real *linvals, int nquadelems, const SCIP_QUADELEM *quadelems, const int *exprvaridxs, const SCIP_EXPRTREE *exprtree, const SCIP_Real constant)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgVarBounds (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nvars, const int *indices, const SCIP_Real *lbs, const SCIP_Real *ubs)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgConsSides (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nconss, const int *indices, const SCIP_Real *lhss, const SCIP_Real *rhss)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiDelVarSet (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int *dstats, int dstatssize)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiDelConsSet (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int *dstats, int dstatssize)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgLinearCoefs (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, const int idx, int nvals, const int *varidxs, const SCIP_Real *vals)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgQuadCoefs (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idx, int nquadelems, const SCIP_QUADELEM *quadelems)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgExprtree (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idxcons, const int *exprvaridxs, const SCIP_EXPRTREE *exprtree)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgNonlinCoef (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idxcons, int idxparam, SCIP_Real value)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgObjConstant (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real objconstant)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetInitialGuess (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real *primalvalues, SCIP_Real *consdualvalues, SCIP_Real *varlbdualvalues, SCIP_Real *varubdualvalues)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSolve (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
SCIP_EXPORT SCIP_NLPSOLSTAT SCIPnlpiGetSolstat (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
SCIP_EXPORT SCIP_NLPTERMSTAT SCIPnlpiGetTermstat (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetSolution (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real **primalvalues, SCIP_Real **consdualvalues, SCIP_Real **varlbdualvalues, SCIP_Real **varubdualvalues, SCIP_Real *objval)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetStatistics (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPSTATISTICS *statistics)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetWarmstartSize (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, size_t *size)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetWarmstartMemo (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, void *buffer)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetWarmstartMemo (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, void *buffer)
 
SCIP_EXPORT SCIP_RETCODE SCIPcreateNlpSolverAll (BMS_BLKMEM *blkmem, SCIP_NLPI **nlpi, SCIP_NLPI **nlpis, int nnlpis)
 
SCIP_EXPORT SCIP_RETCODE SCIPcreateNlpSolverIpopt (BMS_BLKMEM *blkmem, SCIP_NLPI **nlpi)
 
SCIP_EXPORT const char * SCIPgetSolverNameIpopt (void)
 
SCIP_EXPORT const char * SCIPgetSolverDescIpopt (void)
 
SCIP_EXPORT SCIP_Bool SCIPisIpoptAvailableIpopt (void)
 
SCIP_EXPORT void * SCIPgetIpoptApplicationPointerIpopt (SCIP_NLPIPROBLEM *nlpiproblem)
 
SCIP_EXPORT void * SCIPgetNlpiOracleIpopt (SCIP_NLPIPROBLEM *nlpiproblem)
 
SCIP_EXPORT void SCIPsetModifiedDefaultSettingsIpopt (SCIP_NLPI *nlpi, const char *optionsstring, SCIP_Bool append)
 
SCIP_EXPORT SCIP_RETCODE LapackDsyev (SCIP_Bool computeeigenvectors, int N, SCIP_Real *a, SCIP_Real *w)
 
SCIP_EXPORT SCIP_RETCODE SCIPsolveLinearProb (int N, SCIP_Real *A, SCIP_Real *b, SCIP_Real *x, SCIP_Bool *success)
 
SCIP_EXPORT SCIP_RETCODE SCIPcreateNlpSolverWorhp (BMS_BLKMEM *blkmem, SCIP_NLPI **nlpi, SCIP_Bool useip)
 
SCIP_EXPORT const char * SCIPgetSolverNameWorhp (void)
 
SCIP_EXPORT const char * SCIPgetSolverDescWorhp (void)
 
SCIP_EXPORT SCIP_Bool SCIPisWorhpAvailableWorhp (void)
 

Files

file  nlpi_all.c
 NLP interface that uses all available NLP interfaces.
 
file  nlpi_filtersqp.c
 filterSQP NLP interface
 
file  nlpi_filtersqp.h
 filterSQP NLP interface
 
file  nlpi_filtersqp_dummy.c
 dummy filterSQP NLP interface for the case that FilterSQP is not available
 
file  nlpi_ipopt.cpp
 Ipopt NLP interface.
 
file  nlpi_ipopt.h
 Ipopt NLP interface.
 
file  nlpi_worhp.c
 Worhp NLP interface.
 
file  nlpi_worhp.h
 Worhp NLP interface.
 
file  nlpi_worhp_dummy.c
 dummy WORHP NLP interface
 

Parameter Methods

SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetIntPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, int *ival)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetIntPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, int ival)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetRealPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, SCIP_Real *dval)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetRealPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, SCIP_Real dval)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetStringPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, const char **sval)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetStringPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, const char *sval)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetMessageHdlr (SCIP_NLPI *nlpi, SCIP_MESSAGEHDLR *messagehdlr)
 
SCIP_EXPORT SCIP_NLPIDATASCIPnlpiGetData (SCIP_NLPI *nlpi)
 
SCIP_EXPORT const char * SCIPnlpiGetName (SCIP_NLPI *nlpi)
 
SCIP_EXPORT const char * SCIPnlpiGetDesc (SCIP_NLPI *nlpi)
 
SCIP_EXPORT int SCIPnlpiGetPriority (SCIP_NLPI *nlpi)
 
SCIP_EXPORT void SCIPnlpiSetPriority (SCIP_NLPI *nlpi, int priority)
 
SCIP_EXPORT SCIP_RETCODE SCIPnlpStatisticsCreate (BMS_BLKMEM *blkmem, SCIP_NLPSTATISTICS **statistics)
 
SCIP_EXPORT void SCIPnlpStatisticsFree (BMS_BLKMEM *blkmem, SCIP_NLPSTATISTICS **statistics)
 
SCIP_EXPORT int SCIPnlpStatisticsGetNIterations (SCIP_NLPSTATISTICS *statistics)
 
SCIP_EXPORT SCIP_Real SCIPnlpStatisticsGetTotalTime (SCIP_NLPSTATISTICS *statistics)
 
SCIP_EXPORT void SCIPnlpStatisticsSetNIterations (SCIP_NLPSTATISTICS *statistics, int niterations)
 
SCIP_EXPORT void SCIPnlpStatisticsSetTotalTime (SCIP_NLPSTATISTICS *statistics, SCIP_Real totaltime)
 

Function Documentation

◆ SCIP_DECL_SORTPTRCOMP()

SCIP_DECL_SORTPTRCOMP ( SCIPnlpiComp  )

compares two NLPIs w.r.t. their priority

Definition at line 35 of file nlpi.c.

◆ SCIPnlpiCreate()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiCreate ( SCIP_NLPI **  nlpi,
const char *  name,
const char *  description,
int  priority,
SCIP_DECL_NLPICOPY((*nlpicopy))  ,
SCIP_DECL_NLPIFREE((*nlpifree))  ,
SCIP_DECL_NLPIGETSOLVERPOINTER((*nlpigetsolverpointer))  ,
SCIP_DECL_NLPICREATEPROBLEM((*nlpicreateproblem))  ,
SCIP_DECL_NLPIFREEPROBLEM((*nlpifreeproblem))  ,
SCIP_DECL_NLPIGETPROBLEMPOINTER((*nlpigetproblempointer))  ,
SCIP_DECL_NLPIADDVARS((*nlpiaddvars))  ,
SCIP_DECL_NLPIADDCONSTRAINTS((*nlpiaddconstraints))  ,
SCIP_DECL_NLPISETOBJECTIVE((*nlpisetobjective))  ,
SCIP_DECL_NLPICHGVARBOUNDS((*nlpichgvarbounds))  ,
SCIP_DECL_NLPICHGCONSSIDES((*nlpichgconssides))  ,
SCIP_DECL_NLPIDELVARSET((*nlpidelvarset))  ,
SCIP_DECL_NLPIDELCONSSET((*nlpidelconsset))  ,
SCIP_DECL_NLPICHGLINEARCOEFS((*nlpichglinearcoefs))  ,
SCIP_DECL_NLPICHGQUADCOEFS((*nlpichgquadcoefs))  ,
SCIP_DECL_NLPICHGEXPRTREE((*nlpichgexprtree))  ,
SCIP_DECL_NLPICHGNONLINCOEF((*nlpichgnonlincoef))  ,
SCIP_DECL_NLPICHGOBJCONSTANT((*nlpichgobjconstant))  ,
SCIP_DECL_NLPISETINITIALGUESS((*nlpisetinitialguess))  ,
SCIP_DECL_NLPISOLVE((*nlpisolve))  ,
SCIP_DECL_NLPIGETSOLSTAT((*nlpigetsolstat))  ,
SCIP_DECL_NLPIGETTERMSTAT((*nlpigettermstat))  ,
SCIP_DECL_NLPIGETSOLUTION((*nlpigetsolution))  ,
SCIP_DECL_NLPIGETSTATISTICS((*nlpigetstatistics))  ,
SCIP_DECL_NLPIGETWARMSTARTSIZE((*nlpigetwarmstartsize))  ,
SCIP_DECL_NLPIGETWARMSTARTMEMO((*nlpigetwarmstartmemo))  ,
SCIP_DECL_NLPISETWARMSTARTMEMO((*nlpisetwarmstartmemo))  ,
SCIP_DECL_NLPIGETINTPAR((*nlpigetintpar))  ,
SCIP_DECL_NLPISETINTPAR((*nlpisetintpar))  ,
SCIP_DECL_NLPIGETREALPAR((*nlpigetrealpar))  ,
SCIP_DECL_NLPISETREALPAR((*nlpisetrealpar))  ,
SCIP_DECL_NLPIGETSTRINGPAR((*nlpigetstringpar))  ,
SCIP_DECL_NLPISETSTRINGPAR((*nlpisetstringpar))  ,
SCIP_DECL_NLPISETMESSAGEHDLR((*nlpisetmessagehdlr))  ,
SCIP_NLPIDATA nlpidata 
)

creates an NLP solver interface

Parameters
nlpipointer to NLP interface data structure
namename of NLP interface
descriptiondescription of NLP interface
prioritypriority of NLP interface
nlpidataNLP interface local data

Definition at line 41 of file nlpi.c.

References BMSallocMemory, BMSduplicateMemoryArray, NULL, SCIP_ALLOC, and SCIP_OKAY.

Referenced by SCIPcreateNlpSolverAll(), SCIPcreateNlpSolverFilterSQP(), SCIPcreateNlpSolverIpopt(), and SCIPcreateNlpSolverWorhp().

◆ SCIPnlpiCopy()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiCopy ( BMS_BLKMEM blkmem,
SCIP_NLPI sourcenlpi,
SCIP_NLPI **  targetnlpi 
)

copies an NLPI

Parameters
blkmemblock memory in target SCIP
sourcenlpipointer to NLPI data structure to copy
targetnlpibuffer to store pointer to copied NLPI data structure

Definition at line 166 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIPcreateNlpSolverAll(), and SCIPsetCopyPlugins().

◆ SCIPnlpiFree()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiFree ( SCIP_NLPI **  nlpi)

frees NLPI user data

Parameters
nlpipointer to NLPI data structure

Definition at line 182 of file nlpi.c.

References BMSfreeMemory, BMSfreeMemoryArray, NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIP_DECL_NLPIFREE(), and SCIPsetCopyPlugins().

◆ SCIPnlpiGetSolverPointer()

SCIP_EXPORT void* SCIPnlpiGetSolverPointer ( SCIP_NLPI nlpi)

gets pointer for NLP solver

Returns
void pointer to solver
Parameters
nlpipointer to NLPI datastructure

Definition at line 202 of file nlpi.c.

References NULL.

◆ SCIPnlpiCreateProblem()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiCreateProblem ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM **  problem,
const char *  name 
)

creates a problem instance

Parameters
nlpipointer to NLPI datastructure
problempointer to store problem data
namename of problem, can be NULL

Definition at line 212 of file nlpi.c.

References NULL.

Referenced by applyNlobbt(), computeInteriorPoint(), createAuxiliaryNonlinearSubproblem(), createNLP(), SCIP_DECL_NLPICREATEPROBLEM(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), and SCIPnlpCreate().

◆ SCIPnlpiFreeProblem()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiFreeProblem ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM **  problem 
)

frees a problem instance

Parameters
nlpipointer to NLPI datastructure
problempointer where problem data is stored

Definition at line 225 of file nlpi.c.

References NULL.

Referenced by computeInteriorPoint(), freeNLP(), freeNonlinearProblem(), propdataClear(), SCIP_DECL_NLPIFREEPROBLEM(), SCIP_DECL_RELAXEXEC(), SCIPnlpFree(), and sepadataClear().

◆ SCIPnlpiGetProblemPointer()

SCIP_EXPORT void* SCIPnlpiGetProblemPointer ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem 
)

gets pointer to solver-internal problem instance

Returns
void pointer to problem instance
Parameters
nlpipointer to NLPI datastructure
problempointer where problem data is stored

Definition at line 239 of file nlpi.c.

References NULL.

◆ SCIPnlpiAddVars()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiAddVars ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int  nvars,
const SCIP_Real lbs,
const SCIP_Real ubs,
const char **  varnames 
)

add variables to nlpi

Parameters
nlpipointer to NLPI data structure
problempointer to problem data structure
nvarsnumber of variables
lbslower bounds of variables, can be NULL if -infinity
ubsubs upper bounds of variables, can be NULL if +infinity
varnamesvarnames names of variables, can be NULL

Definition at line 251 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeInteriorPoint(), nlpFlushVarAdditions(), SCIP_DECL_NLPIADDVARS(), and SCIPcreateNlpiProb().

◆ SCIPnlpiAddConstraints()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiAddConstraints ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int  nconss,
const SCIP_Real lhss,
const SCIP_Real rhss,
const int *  nlininds,
int *const *  lininds,
SCIP_Real *const *  linvals,
const int *  nquadelems,
SCIP_QUADELEM *const *  quadelems,
int *const *  exprvaridxs,
SCIP_EXPRTREE *const *  exprtrees,
const char **  names 
)

add constraints to nlpi

Parameters
nlpipointer to NLPI data structure
problempointer to problem data structure
nconssnumber of added constraints
lhssleft hand sides of constraints
rhssright hand sides of constraints
nlinindsnumber of linear coefficients for each constraint, may be NULL in case of no linear part
linindsindices of variables for linear coefficients for each constraint, may be NULL in case of no linear part
linvalsvalues of linear coefficient for each constraint, may be NULL in case of no linear part
nquadelemsnumber of elements in matrix of quadratic part for each constraint, may be NULL in case of no quadratic part in any constraint
quadelemsquadratic elements specifying quadratic part for each constraint, entry of array may be NULL in case of no quadratic part, may be NULL in case of no quadratic part in any constraint
exprvaridxsindices of variables in expression tree, maps variable indices in expression tree to indices in nlp, entry of array may be NULL in case of no expression tree, may be NULL in case of no expression tree in any constraint
exprtreesexprtrees expression tree for nonquadratic part of constraints, entry of array may be NULL in case of no nonquadratic part, may be NULL in case of no nonquadratic part in any constraint
namesnames of constraints, may be NULL or entries may be NULL

Definition at line 269 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by addRegularScholtes(), computeInteriorPoint(), nlpFlushNlRowAdditions(), SCIP_DECL_NLPIADDCONSTRAINTS(), SCIPaddNlpiProbRows(), SCIPaddToNlpiProblemQuadratic(), SCIPaddToNlpiProblemSOC(), and SCIPcreateNlpiProb().

◆ SCIPnlpiSetObjective()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetObjective ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int  nlins,
const int *  lininds,
const SCIP_Real linvals,
int  nquadelems,
const SCIP_QUADELEM quadelems,
const int *  exprvaridxs,
const SCIP_EXPRTREE exprtree,
const SCIP_Real  constant 
)

sets or overwrites objective, a minimization problem is expected

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
nlinsnumber of linear variables
linindsvariable indices, may be NULL in case of no linear part
linvalscoefficient values, may be NULL in case of no linear part
nquadelemsnumber of entries in matrix of quadratic part
quadelemsentries in matrix of quadratic part, may be NULL in case of no quadratic part
exprvaridxsindices of variables in expression tree, maps variable indices in expression tree to indices in nlp, may be NULL in case of no expression tree
exprtreeexpression tree for nonquadratic part of objective function, may be NULL in case of no nonquadratic part
constantobjective value offset

Definition at line 301 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeInteriorPoint(), createAuxiliaryNonlinearSubproblem(), nlpFlushObjective(), SCIP_DECL_NLPISETOBJECTIVE(), SCIPcreateNlpiProb(), setQuadraticObj(), and solveNlp().

◆ SCIPnlpiChgVarBounds()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgVarBounds ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int  nvars,
const int *  indices,
const SCIP_Real lbs,
const SCIP_Real ubs 
)

change variable bounds

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
nvarsnumber of variables to change bounds
indicesindices of variables to change bounds
lbsnew lower bounds
ubsnew upper bounds

Definition at line 326 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by createAuxiliaryNonlinearSubproblem(), heurExec(), nlpUpdateVarBounds(), SCIP_DECL_NLPICHGVARBOUNDS(), SCIPnlpChgVarBoundsDive(), SCIPnlpChgVarsBoundsDive(), SCIPnlpEndDive(), SCIPupdateNlpiProb(), solveNlp(), and updateAuxiliaryNonlinearSubproblem().

◆ SCIPnlpiChgConsSides()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgConsSides ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int  nconss,
const int *  indices,
const SCIP_Real lhss,
const SCIP_Real rhss 
)

change constraint sides

change constraint bounds

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
nconssnumber of constraints to change sides
indicesindices of constraints to change sides
lhssnew left hand sides
rhssnew right hand sides

Definition at line 344 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by addRegularScholtes(), nlrowConstantChanged(), nlrowSideChanged(), SCIP_DECL_NLPICHGCONSSIDES(), and SCIPupdateNlpiProb().

◆ SCIPnlpiDelVarSet()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiDelVarSet ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int *  dstats,
int  dstatssize 
)

delete a set of variables

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
dstatsdeletion status of vars; 1 if var should be deleted, 0 if not; afterwards -1 if var was deleted
dstatssizesize of the dstats array

Definition at line 362 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlpFlushVarDeletions(), and SCIP_DECL_NLPIDELVARSET().

◆ SCIPnlpiDelConsSet()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiDelConsSet ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int *  dstats,
int  dstatssize 
)

delete a set of constraints

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
dstatsdeletion status of rows; 1 if row should be deleted, 0 if not; afterwards -1 if row was deleted
dstatssizesize of the dstats array

Definition at line 379 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlpFlushNlRowDeletions(), and SCIP_DECL_NLPIDELCONSSET().

◆ SCIPnlpiChgLinearCoefs()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgLinearCoefs ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
const int  idx,
int  nvals,
const int *  varidxs,
const SCIP_Real vals 
)

changes or adds linear coefficients in a constraint or objective

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
idxindex of constraint or -1 for objective
nvalsnumber of values in linear constraint
varidxsindices of variable
valsnew values for coefficient

Definition at line 396 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeInteriorPoint(), nlpUpdateObjCoef(), nlrowLinearCoefChanged(), SCIP_DECL_NLPICHGLINEARCOEFS(), SCIPnlpChgVarObjDive(), and separateCuts().

◆ SCIPnlpiChgQuadCoefs()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgQuadCoefs ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int  idx,
int  nquadelems,
const SCIP_QUADELEM quadelems 
)

changes or adds coefficients in the quadratic part of a constraint or objective

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
idxindex of constraint or -1 for objective
nquadelemsnumber of entries in quadratic constraint to change
quadelemsnew elements in quadratic matrix (replacing already existing ones or adding new ones)

Definition at line 414 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlrowQuadElemChanged(), and SCIP_DECL_NLPICHGQUADCOEFS().

◆ SCIPnlpiChgExprtree()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgExprtree ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int  idxcons,
const int *  exprvaridxs,
const SCIP_EXPRTREE exprtree 
)

change the expression tree in the nonlinear part

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
idxconsindex of constraint or -1 for objective
exprvaridxsindices of variables in expression tree, maps variable indices in expression tree to indices in nlp, or NULL
exprtreenew expression tree, or NULL for no tree

Definition at line 431 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlrowExprtreeChanged(), and SCIP_DECL_NLPICHGEXPRTREE().

◆ SCIPnlpiChgNonlinCoef()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgNonlinCoef ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int  considx,
int  paramidx,
SCIP_Real  value 
)

change the value of one parameter in the nonlinear part

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
considxindex of constraint or -1 for objective
paramidxindex of parameter
valuenew value for nonlinear parameter

Definition at line 448 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlrowExprtreeParamChanged(), and SCIP_DECL_NLPICHGNONLINCOEF().

◆ SCIPnlpiChgObjConstant()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgObjConstant ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_Real  objconstant 
)

change the constant offset in the objective

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
objconstantnew value for objective constant

Definition at line 465 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIP_DECL_NLPICHGOBJCONSTANT().

◆ SCIPnlpiSetInitialGuess()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetInitialGuess ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_Real primalvalues,
SCIP_Real consdualvalues,
SCIP_Real varlbdualvalues,
SCIP_Real varubdualvalues 
)

sets initial guess for primal variables

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
primalvaluesinitial primal values for variables, or NULL to clear previous values
consdualvaluesinitial dual values for constraints, or NULL to clear previous values
varlbdualvaluesinitial dual values for variable lower bounds, or NULL to clear previous values
varubdualvaluesinitial dual values for variable upper bounds, or NULL to clear previous values

Definition at line 480 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by heurExec(), nlpSolve(), SCIP_DECL_NLPISETINITIALGUESS(), and SCIPnlpSetInitialGuess().

◆ SCIPnlpiSolve()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiSolve ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem 
)

tries to solve NLP

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure

Definition at line 498 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeInteriorPoint(), heurExec(), nlpSolve(), SCIP_DECL_NLPISOLVE(), SCIP_DECL_RELAXEXEC(), separateCuts(), solveFeasibilityNonlinearSubproblem(), and solveNlp().

◆ SCIPnlpiGetSolstat()

SCIP_EXPORT SCIP_NLPSOLSTAT SCIPnlpiGetSolstat ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem 
)

gives solution status

Returns
solution status

gives solution status, return: Solution Status

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure

Definition at line 512 of file nlpi.c.

References NULL.

Referenced by addGenVBound(), computeInteriorPoint(), filterCands(), heurExec(), nlpSolve(), SCIP_DECL_NLPIGETSOLSTAT(), SCIP_DECL_NLPISOLVE(), SCIP_DECL_RELAXEXEC(), separateCuts(), solveFeasibilityNonlinearSubproblem(), and solveNlp().

◆ SCIPnlpiGetTermstat()

SCIP_EXPORT SCIP_NLPTERMSTAT SCIPnlpiGetTermstat ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem 
)

gives termination reason

Returns
termination status

gives termination reason; return: Termination Status

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure

Definition at line 524 of file nlpi.c.

References NULL.

Referenced by computeInteriorPoint(), nlpSolve(), SCIP_DECL_NLPIGETTERMSTAT(), and SCIP_DECL_NLPISOLVE().

◆ SCIPnlpiGetSolution()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetSolution ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_Real **  primalvalues,
SCIP_Real **  consdualvalues,
SCIP_Real **  varlbdualvalues,
SCIP_Real **  varubdualvalues,
SCIP_Real objval 
)

gives primal and dual solution for a ranged constraint, the dual variable is positive if the right hand side is active and negative if the left hand side is active

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
primalvaluesbuffer to store pointer to array to primal values, or NULL if not needed
consdualvaluesbuffer to store pointer to array to dual values of constraints, or NULL if not needed
varlbdualvaluesbuffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed
varubdualvaluesbuffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed
objvalbuffer to store the objective value, or NULL if not needed

Definition at line 538 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by addGenVBound(), computeInteriorPoint(), filterCands(), generateAndApplyBendersCuts(), heurExec(), nlpSolve(), SCIP_DECL_NLPIGETSOLUTION(), SCIP_DECL_NLPISOLVE(), SCIP_DECL_RELAXEXEC(), separateCuts(), and solveNlp().

◆ SCIPnlpiGetStatistics()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetStatistics ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_NLPSTATISTICS statistics 
)

gives solve statistics

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
statisticspointer to store statistics

Definition at line 557 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeInteriorPoint(), heurExec(), SCIP_DECL_NLPIGETSTATISTICS(), SCIP_DECL_NLPISOLVE(), SCIPnlpGetStatistics(), and solveNlp().

◆ SCIPnlpiGetWarmstartSize()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetWarmstartSize ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
size_t *  size 
)

gives required size of a buffer to store a warmstart object

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
sizepointer to store required size for warmstart buffer

Definition at line 572 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

◆ SCIPnlpiGetWarmstartMemo()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetWarmstartMemo ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
void *  buffer 
)

stores warmstart information in buffer

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
buffermemory to store warmstart information

Definition at line 587 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

◆ SCIPnlpiSetWarmstartMemo()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetWarmstartMemo ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
void *  buffer 
)

sets warmstart information in solver

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
bufferwarmstart information

Definition at line 602 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

◆ SCIPnlpiGetIntPar()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetIntPar ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_NLPPARAM  type,
int *  ival 
)

gets integer parameter of NLP

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
typeparameter number
ivalpointer to store the parameter value

Definition at line 620 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIP_DECL_NLPIGETINTPAR(), and SCIPnlpGetIntPar().

◆ SCIPnlpiSetIntPar()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetIntPar ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_NLPPARAM  type,
int  ival 
)

sets integer parameter of NLP

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
typeparameter number
ivalparameter value

Definition at line 637 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by applyNlobbt(), computeInteriorPoint(), heurExec(), SCIP_DECL_NLPISETINTPAR(), SCIP_DECL_RELAXEXEC(), SCIPnlpSetIntPar(), separateCuts(), solveFeasibilityNonlinearSubproblem(), and solveNlp().

◆ SCIPnlpiGetRealPar()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetRealPar ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_NLPPARAM  type,
SCIP_Real dval 
)

gets floating point parameter of NLP if problem is NULL and type == SCIP_NLPPAR_INFINITY, then gets solver-wide value for infinity

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure, can be NULL only if type == SCIP_NLPPAR_INFINITY
typeparameter number
dvalpointer to store the parameter value

Definition at line 654 of file nlpi.c.

References NULL, SCIP_CALL, SCIP_NLPPAR_INFINITY, and SCIP_OKAY.

Referenced by SCIP_DECL_NLPICOPY(), SCIP_DECL_NLPIGETREALPAR(), SCIP_DECL_NLPISOLVE(), and SCIPnlpGetRealPar().

◆ SCIPnlpiSetRealPar()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetRealPar ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_NLPPARAM  type,
SCIP_Real  dval 
)

sets floating point parameter of NLP if problem is NULL and type == SCIP_NLPPAR_INFINITY, then sets solver-wide value for infinity

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure, can be NULL only if type == SCIP_NLPPAR_INFINITY
typeparameter number
dvalparameter value

Definition at line 672 of file nlpi.c.

References NULL, SCIP_CALL, SCIP_NLPPAR_INFINITY, and SCIP_OKAY.

Referenced by applyNlobbt(), computeInteriorPoint(), heurExec(), nlpSolve(), SCIP_DECL_NLPICOPY(), SCIP_DECL_NLPISETREALPAR(), SCIP_DECL_RELAXEXEC(), SCIPnlpSetRealPar(), separateCuts(), solveFeasibilityNonlinearSubproblem(), and solveNlp().

◆ SCIPnlpiGetStringPar()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetStringPar ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_NLPPARAM  type,
const char **  sval 
)

gets string parameter of NLP

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
typeparameter number
svalpointer to store the parameter value, the user must not modify the string

Definition at line 688 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIP_DECL_NLPIGETSTRINGPAR(), and SCIPnlpGetStringPar().

◆ SCIPnlpiSetStringPar()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetStringPar ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_NLPPARAM  type,
const char *  sval 
)

sets string parameter of NLP

Parameters
nlpipointer to NLPI datastructure
problempointer to problem data structure
typeparameter number
svalparameter value

Definition at line 705 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIP_DECL_NLPISETSTRINGPAR(), and SCIPnlpSetStringPar().

◆ SCIPnlpiSetMessageHdlr()

SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetMessageHdlr ( SCIP_NLPI nlpi,
SCIP_MESSAGEHDLR messagehdlr 
)

sets message handler for message output

Parameters
nlpipointer to NLPI datastructure
messagehdlrpointer to message handler, or NULL to suppress all output

Definition at line 722 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIP_DECL_NLPICOPY(), SCIP_DECL_NLPISETMESSAGEHDLR(), SCIPincludeNlpi(), and SCIPsetMessagehdlr().

◆ SCIPnlpiGetData()

◆ SCIPnlpiGetName()

SCIP_EXPORT const char* SCIPnlpiGetName ( SCIP_NLPI nlpi)

gets NLP solver name

Parameters
nlpiNLP interface structure

Definition at line 745 of file nlpi.c.

References SCIP_Nlpi::name, and NULL.

Referenced by computeInteriorPoint(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_NLPISOLVE(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPincludeNlpi(), and SCIPsetIncludeDialog().

◆ SCIPnlpiGetDesc()

SCIP_EXPORT const char* SCIPnlpiGetDesc ( SCIP_NLPI nlpi)

gets NLP solver descriptions

Parameters
nlpiNLP interface structure

Definition at line 755 of file nlpi.c.

References SCIP_Nlpi::description, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

◆ SCIPnlpiGetPriority()

SCIP_EXPORT int SCIPnlpiGetPriority ( SCIP_NLPI nlpi)

gets NLP solver priority

Parameters
nlpiNLP interface structure

Definition at line 765 of file nlpi.c.

References NULL, and SCIP_Nlpi::priority.

Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPincludeNlpi().

◆ SCIPnlpiSetPriority()

SCIP_EXPORT void SCIPnlpiSetPriority ( SCIP_NLPI nlpi,
int  priority 
)

sets NLP solver priority

Parameters
nlpiNLP interface structure
prioritynew priority of NLPI

Definition at line 775 of file nlpi.c.

References NULL, and SCIP_Nlpi::priority.

Referenced by SCIPsetExistsDialog().

◆ SCIPnlpStatisticsCreate()

SCIP_EXPORT SCIP_RETCODE SCIPnlpStatisticsCreate ( BMS_BLKMEM blkmem,
SCIP_NLPSTATISTICS **  statistics 
)

creates an NLP statistics structure

Parameters
blkmemblock memory
statisticspointer where to store NLP statistics structure

Definition at line 786 of file nlpi.c.

References BMSallocBlockMemory, NULL, SCIP_ALLOC, and SCIP_OKAY.

Referenced by computeInteriorPoint(), createSubSCIP(), heurExec(), and SCIP_DECL_PROPINITSOL().

◆ SCIPnlpStatisticsFree()

SCIP_EXPORT void SCIPnlpStatisticsFree ( BMS_BLKMEM blkmem,
SCIP_NLPSTATISTICS **  statistics 
)

frees an NLP statistics structure

Parameters
blkmemblock memory
statisticspointer where to store NLP statistics structure

Definition at line 803 of file nlpi.c.

References BMSfreeBlockMemory, and NULL.

Referenced by computeInteriorPoint(), freeSubSCIP(), heurExec(), and SCIP_DECL_PROPEXITSOL().

◆ SCIPnlpStatisticsGetNIterations()

SCIP_EXPORT int SCIPnlpStatisticsGetNIterations ( SCIP_NLPSTATISTICS statistics)

gets the number of iterations from an NLP statistics structure

Parameters
statisticsNLP statistics structure

Definition at line 818 of file nlpi.c.

References SCIP_NlpStatistics::niterations, and NULL.

Referenced by computeInteriorPoint(), heurExec(), SCIP_DECL_NLPISOLVE(), solveNlp(), and solveSubNLP().

◆ SCIPnlpStatisticsGetTotalTime()

SCIP_EXPORT SCIP_Real SCIPnlpStatisticsGetTotalTime ( SCIP_NLPSTATISTICS statistics)

gets the total time from an NLP statistics structure

Parameters
statisticsNLP statistics structure

Definition at line 828 of file nlpi.c.

References NULL, and SCIP_NlpStatistics::totaltime.

Referenced by computeInteriorPoint(), SCIP_DECL_NLPISOLVE(), solveNlp(), and solveSubNLP().

◆ SCIPnlpStatisticsSetNIterations()

SCIP_EXPORT void SCIPnlpStatisticsSetNIterations ( SCIP_NLPSTATISTICS statistics,
int  niterations 
)

sets the number of iterations in an NLP statistics structure

Parameters
statisticsNLP statistics structure
niterationsnumber of iterations to store

Definition at line 838 of file nlpi.c.

References SCIP_NlpStatistics::niterations, and NULL.

Referenced by SCIP_DECL_NLPIGETSTATISTICS().

◆ SCIPnlpStatisticsSetTotalTime()

SCIP_EXPORT void SCIPnlpStatisticsSetTotalTime ( SCIP_NLPSTATISTICS statistics,
SCIP_Real  totaltime 
)

sets the total time in an NLP statistics structure

Parameters
statisticsNLP statistics structure
totaltimesolution time to store

Definition at line 848 of file nlpi.c.

References NULL, and SCIP_NlpStatistics::totaltime.

Referenced by SCIP_DECL_NLPIGETSTATISTICS().

◆ SCIPcreateNlpSolverAll()

SCIP_EXPORT SCIP_RETCODE SCIPcreateNlpSolverAll ( BMS_BLKMEM blkmem,
SCIP_NLPI **  nlpi,
SCIP_NLPI **  nlpis,
int  nnlpis 
)

create solver interface for All solver

Parameters
blkmemblock memory data structure
nlpipointer to buffer for nlpi address
nlpisarray containing existing nlpis
nnlpistotal number of nlpis

Definition at line 1175 of file nlpi_all.c.

References BMSallocBlockMemory, BMSallocBlockMemoryArray, BMSclearMemory, NLPI_DESC, NLPI_NAME, NLPI_PRIORITY, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPnlpiCopy(), and SCIPnlpiCreate().

Referenced by SCIP_DECL_NLPICOPY(), and SCIPincludeDefaultPlugins().

◆ SCIPcreateNlpSolverIpopt()

SCIP_EXPORT 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 2045 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().

◆ SCIPgetSolverNameIpopt()

SCIP_EXPORT const char* SCIPgetSolverNameIpopt ( void  )

gets string that identifies Ipopt (version number)

Definition at line 2075 of file nlpi_ipopt.cpp.

Referenced by SCIPincludeDefaultPlugins().

◆ SCIPgetSolverDescIpopt()

SCIP_EXPORT const char* SCIPgetSolverDescIpopt ( void  )

gets string that describes Ipopt

Definition at line 2081 of file nlpi_ipopt.cpp.

Referenced by SCIPincludeDefaultPlugins().

◆ SCIPisIpoptAvailableIpopt()

SCIP_EXPORT SCIP_Bool SCIPisIpoptAvailableIpopt ( void  )

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

Definition at line 2087 of file nlpi_ipopt.cpp.

References FALSE, and TRUE.

Referenced by checkCurvatureExpensive(), checkFactorable(), computeED(), SCIP_DECL_CONSINITSOL(), and SCIP_DECL_QUADCONSUPGD().

◆ SCIPgetIpoptApplicationPointerIpopt()

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

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

◆ SCIPgetNlpiOracleIpopt()

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

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

Referenced by computeInteriorPoint().

◆ SCIPsetModifiedDefaultSettingsIpopt()

SCIP_EXPORT void SCIPsetModifiedDefaultSettingsIpopt ( SCIP_NLPI nlpi,
const char *  optionsstring,
SCIP_Bool  append 
)

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
appendwhether to append to modified default settings or to overwrite

Definition at line 2116 of file nlpi_ipopt.cpp.

References BMSallocMemoryArray, BMSclearMemoryArray, BMScopyMemoryArray, convcheck_maxiter, convcheck_minred, convcheck_nchecks, convcheck_startiter, FALSE, LINEAR, MAX, MAXPERTURB, NULL, SCIP_INVALID, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_NLPSOLSTAT_LOCOPT, SCIP_NLPSOLSTAT_UNBOUNDED, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_EVALERR, SCIP_NLPTERMSTAT_ITLIM, SCIP_NLPTERMSTAT_MEMERR, SCIP_NLPTERMSTAT_NUMERR, SCIP_NLPTERMSTAT_OKAY, SCIP_NLPTERMSTAT_OTHER, SCIP_NLPTERMSTAT_TILIM, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPdebugPrintf, SCIPerrorMessage, SCIPinterrupted(), SCIPnlpiGetData(), SCIPnlpiOracleEvalConstraintValues(), SCIPnlpiOracleEvalHessianLag(), SCIPnlpiOracleEvalJacobian(), SCIPnlpiOracleEvalObjectiveGradient(), SCIPnlpiOracleEvalObjectiveValue(), SCIPnlpiOracleGetConstraintDegree(), SCIPnlpiOracleGetConstraintLhs(), SCIPnlpiOracleGetConstraintName(), SCIPnlpiOracleGetConstraintRhs(), SCIPnlpiOracleGetHessianLagSparsity(), SCIPnlpiOracleGetJacobianSparsity(), SCIPnlpiOracleGetNConstraints(), SCIPnlpiOracleGetNVars(), SCIPnlpiOracleGetVarDegree(), SCIPnlpiOracleGetVarLbs(), SCIPnlpiOracleGetVarNames(), SCIPnlpiOracleGetVarUbs(), SCIPrandomGetReal(), SUCCESS, TRUE, and x.

Referenced by createSubSCIP().

◆ LapackDsyev()

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

References SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.

Referenced by checkCurvatureExpensive(), checkFactorable(), computeED(), and SCIP_DECL_QUADCONSUPGD().

◆ SCIPsolveLinearProb()

SCIP_EXPORT SCIP_RETCODE SCIPsolveLinearProb ( 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 IpLapackDgetrf routine to calculate a LU factorization and uses this factorization to solve the linear problem Ax = b. It's here, because Ipopt is linked against 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 2946 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, SCIPsolveLinearProb3(), TRUE, and y.

Referenced by SCIPcomputeHyperplaneThreePoints().

◆ SCIPcreateNlpSolverWorhp()

SCIP_EXPORT SCIP_RETCODE SCIPcreateNlpSolverWorhp ( BMS_BLKMEM blkmem,
SCIP_NLPI **  nlpi,
SCIP_Bool  useip 
)

create solver interface for Worhp solver

Parameters
blkmemblock memory data structure
nlpipointer to buffer for nlpi address
useipTRUE for using Interior Point, FALSE for SQP

Definition at line 2369 of file nlpi_worhp.c.

References BMSallocBlockMemory, BMSclearMemory, NLPI_DESC, NLPI_PRIORITY_IP, NLPI_PRIORITY_SQP, noprint(), NULL, SCIP_ALLOC, SCIP_CALL, SCIP_DEFAULT_INFINITY, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPnlpiCreate(), and SCIPsnprintf().

Referenced by SCIP_DECL_NLPICOPY(), and SCIPincludeDefaultPlugins().

◆ SCIPgetSolverNameWorhp()

SCIP_EXPORT const char* SCIPgetSolverNameWorhp ( void  )

gets string that identifies Worhp (version number)

Definition at line 2433 of file nlpi_worhp.c.

Referenced by SCIPincludeDefaultPlugins().

◆ SCIPgetSolverDescWorhp()

SCIP_EXPORT const char* SCIPgetSolverDescWorhp ( void  )

gets string that describes Worhp (version number)

Definition at line 2447 of file nlpi_worhp.c.

Referenced by SCIPincludeDefaultPlugins().

◆ SCIPisWorhpAvailableWorhp()

SCIP_EXPORT SCIP_Bool SCIPisWorhpAvailableWorhp ( void  )

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

Definition at line 2455 of file nlpi_worhp.c.

References FALSE, and TRUE.