Scippy

SCIP

Solving Constraint Integer Programs

nlpi.h File Reference

Detailed Description

internal methods for NLPI solver interfaces

Author
Stefan Vigerske
Thorsten Gellermann

Definition in file nlpi.h.

#include "nlpi/type_nlpi.h"
#include "scip/type_misc.h"

Go to the source code of this file.

Functions

 SCIP_DECL_SORTPTRCOMP (SCIPnlpiComp)
 
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_RETCODE SCIPnlpiCopy (BMS_BLKMEM *blkmem, SCIP_NLPI *sourcenlpi, SCIP_NLPI **targetnlpi)
 
SCIP_RETCODE SCIPnlpiFree (SCIP_NLPI **nlpi)
 
void * SCIPnlpiGetSolverPointer (SCIP_NLPI *nlpi)
 
SCIP_RETCODE SCIPnlpiCreateProblem (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM **problem, const char *name)
 
SCIP_RETCODE SCIPnlpiFreeProblem (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM **problem)
 
void * SCIPnlpiGetProblemPointer (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
SCIP_RETCODE SCIPnlpiAddVars (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nvars, const SCIP_Real *lbs, const SCIP_Real *ubs, const char **varnames)
 
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_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_RETCODE SCIPnlpiChgVarBounds (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nvars, const int *indices, const SCIP_Real *lbs, const SCIP_Real *ubs)
 
SCIP_RETCODE SCIPnlpiChgConsSides (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nconss, const int *indices, const SCIP_Real *lhss, const SCIP_Real *rhss)
 
SCIP_RETCODE SCIPnlpiDelVarSet (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int *dstats)
 
SCIP_RETCODE SCIPnlpiDelConsSet (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int *dstats)
 
SCIP_RETCODE SCIPnlpiChgLinearCoefs (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, const int idx, int nvals, const int *varidxs, const SCIP_Real *vals)
 
SCIP_RETCODE SCIPnlpiChgQuadCoefs (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idx, int nquadelems, const SCIP_QUADELEM *quadelems)
 
SCIP_RETCODE SCIPnlpiChgExprtree (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idxcons, const int *exprvaridxs, SCIP_EXPRTREE *exprtree)
 
SCIP_RETCODE SCIPnlpiChgNonlinCoef (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idxcons, int idxparam, SCIP_Real value)
 
SCIP_RETCODE SCIPnlpiChgObjConstant (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real objconstant)
 
SCIP_RETCODE SCIPnlpiSetInitialGuess (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real *primalvalues, SCIP_Real *consdualvalues, SCIP_Real *varlbdualvalues, SCIP_Real *varubdualvalues)
 
SCIP_RETCODE SCIPnlpiSolve (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
SCIP_NLPSOLSTAT SCIPnlpiGetSolstat (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
SCIP_NLPTERMSTAT SCIPnlpiGetTermstat (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
SCIP_RETCODE SCIPnlpiGetSolution (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real **primalvalues, SCIP_Real **consdualvalues, SCIP_Real **varlbdualvalues, SCIP_Real **varubdualvalues)
 
SCIP_RETCODE SCIPnlpiGetStatistics (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPSTATISTICS *statistics)
 
SCIP_RETCODE SCIPnlpiGetWarmstartSize (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, size_t *size)
 
SCIP_RETCODE SCIPnlpiGetWarmstartMemo (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, void *buffer)
 
SCIP_RETCODE SCIPnlpiSetWarmstartMemo (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, void *buffer)
 
Parameter Methods
SCIP_RETCODE SCIPnlpiGetIntPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, int *ival)
 
SCIP_RETCODE SCIPnlpiSetIntPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, int ival)
 
SCIP_RETCODE SCIPnlpiGetRealPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, SCIP_Real *dval)
 
SCIP_RETCODE SCIPnlpiSetRealPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, SCIP_Real dval)
 
SCIP_RETCODE SCIPnlpiGetStringPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, const char **sval)
 
SCIP_RETCODE SCIPnlpiSetStringPar (SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM type, const char *sval)
 
SCIP_RETCODE SCIPnlpiSetMessageHdlr (SCIP_NLPI *nlpi, SCIP_MESSAGEHDLR *messagehdlr)
 
SCIP_NLPIDATASCIPnlpiGetData (SCIP_NLPI *nlpi)
 
const char * SCIPnlpiGetName (SCIP_NLPI *nlpi)
 
const char * SCIPnlpiGetDesc (SCIP_NLPI *nlpi)
 
int SCIPnlpiGetPriority (SCIP_NLPI *nlpi)
 
void SCIPnlpiSetPriority (SCIP_NLPI *nlpi, int priority)
 
SCIP_RETCODE SCIPnlpStatisticsCreate (SCIP_NLPSTATISTICS **statistics)
 
void SCIPnlpStatisticsFree (SCIP_NLPSTATISTICS **statistics)
 
int SCIPnlpStatisticsGetNIterations (SCIP_NLPSTATISTICS *statistics)
 
SCIP_Real SCIPnlpStatisticsGetTotalTime (SCIP_NLPSTATISTICS *statistics)
 
void SCIPnlpStatisticsSetNIterations (SCIP_NLPSTATISTICS *statistics, int niterations)
 
void SCIPnlpStatisticsSetTotalTime (SCIP_NLPSTATISTICS *statistics, SCIP_Real totaltime)
 

Function Documentation

SCIP_DECL_SORTPTRCOMP ( SCIPnlpiComp  )

compares two NLPIs w.r.t. their priority

Definition at line 34 of file nlpi.c.

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 40 of file nlpi.c.

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

Referenced by SCIPcreateNlpSolverIpopt().

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 165 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIPsetCopyPlugins().

SCIP_RETCODE SCIPnlpiFree ( SCIP_NLPI **  nlpi)

frees NLPI user data

Parameters
nlpipointer to NLPI data structure

Definition at line 181 of file nlpi.c.

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

void* SCIPnlpiGetSolverPointer ( SCIP_NLPI nlpi)

gets pointer for NLP solver

Returns
void pointer to solver
Parameters
nlpipointer to NLPI datastructure

Definition at line 201 of file nlpi.c.

References NULL.

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 211 of file nlpi.c.

References NULL.

Referenced by computeInteriorPoint(), and SCIPnlpCreate().

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 224 of file nlpi.c.

References NULL.

Referenced by computeInteriorPoint(), and SCIPnlpFree().

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 238 of file nlpi.c.

References NULL.

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 250 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeInteriorPoint(), and nlpFlushVarAdditions().

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 268 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeInteriorPoint(), nlpFlushNlRowAdditions(), SCIPaddToNlpiProblemQuadratic(), and SCIPaddToNlpiProblemSOC().

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 300 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeInteriorPoint(), and nlpFlushObjective().

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 325 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlpUpdateVarBounds(), SCIPnlpChgVarBoundsDive(), SCIPnlpChgVarsBoundsDive(), and SCIPnlpEndDive().

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 343 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlrowConstantChanged(), and nlrowSideChanged().

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

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

Definition at line 361 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlpFlushVarDeletions().

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

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

Definition at line 377 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlpFlushNlRowDeletions().

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 393 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlpUpdateObjCoef(), nlrowLinearCoefChanged(), and SCIPnlpChgVarObjDive().

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 411 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlrowQuadElemChanged().

SCIP_RETCODE SCIPnlpiChgExprtree ( SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int  idxcons,
const int *  exprvaridxs,
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 428 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlrowExprtreeChanged().

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 445 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlrowExprtreeParamChanged().

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 462 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

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 477 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlpSolve(), and SCIPnlpSetInitialGuess().

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 495 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeInteriorPoint(), and nlpSolve().

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 509 of file nlpi.c.

References NULL.

Referenced by computeInteriorPoint(), and nlpSolve().

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 521 of file nlpi.c.

References NULL.

Referenced by computeInteriorPoint(), and nlpSolve().

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

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

Definition at line 535 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeInteriorPoint(), and nlpSolve().

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 553 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIPnlpGetStatistics().

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 568 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

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 583 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

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 598 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

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 616 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIPnlpGetIntPar().

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 633 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeInteriorPoint(), and SCIPnlpSetIntPar().

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 650 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIPnlpGetRealPar().

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 668 of file nlpi.c.

References NULL, SCIP_CALL, SCIP_NLPPAR_INFINITY, and SCIP_OKAY.

Referenced by SCIP_DECL_NLPICOPY(), and SCIPnlpSetRealPar().

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 684 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIPnlpGetStringPar().

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 701 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIPnlpSetStringPar().

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 717 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

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

const char* SCIPnlpiGetName ( SCIP_NLPI nlpi)

gets NLP solver name

Parameters
nlpiNLP interface structure

Definition at line 740 of file nlpi.c.

References SCIP_Nlpi::name, and NULL.

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

const char* SCIPnlpiGetDesc ( SCIP_NLPI nlpi)

gets NLP solver descriptions

Parameters
nlpiNLP interface structure

Definition at line 750 of file nlpi.c.

References SCIP_Nlpi::description, and NULL.

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

int SCIPnlpiGetPriority ( SCIP_NLPI nlpi)

gets NLP solver priority

Parameters
nlpiNLP interface structure

Definition at line 760 of file nlpi.c.

References NULL, and SCIP_Nlpi::priority.

Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPincludeNlpi().

void SCIPnlpiSetPriority ( SCIP_NLPI nlpi,
int  priority 
)

sets NLP solver priority

Parameters
nlpiNLP interface structure
prioritynew priority of NLPI

Definition at line 770 of file nlpi.c.

References NULL, and SCIP_Nlpi::priority.

Referenced by SCIPsetIncludeNlpi().

SCIP_RETCODE SCIPnlpStatisticsCreate ( SCIP_NLPSTATISTICS **  statistics)

creates an NLP statistics structure

Parameters
statisticspointer where to store NLP statistics structure

Definition at line 781 of file nlpi.c.

References BMSallocMemory, NULL, SCIP_NOMEMORY, and SCIP_OKAY.

Referenced by createSubSCIP().

void SCIPnlpStatisticsFree ( SCIP_NLPSTATISTICS **  statistics)

frees an NLP statistics structure

Parameters
statisticspointer where to store NLP statistics structure

Definition at line 798 of file nlpi.c.

References BMSfreeMemory, and NULL.

Referenced by freeSubSCIP().

int SCIPnlpStatisticsGetNIterations ( SCIP_NLPSTATISTICS statistics)

gets the number of iterations from an NLP statistics structure

Parameters
statisticsNLP statistics structure

Definition at line 810 of file nlpi.c.

References SCIP_NlpStatistics::niterations, and NULL.

Referenced by solveSubNLP().

SCIP_Real SCIPnlpStatisticsGetTotalTime ( SCIP_NLPSTATISTICS statistics)

gets the total time from an NLP statistics structure

Parameters
statisticsNLP statistics structure

Definition at line 820 of file nlpi.c.

References NULL, and SCIP_NlpStatistics::totaltime.

Referenced by solveSubNLP().

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 830 of file nlpi.c.

References SCIP_NlpStatistics::niterations, and NULL.

Referenced by SCIP_DECL_NLPIGETSTATISTICS().

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 840 of file nlpi.c.

References NULL, and SCIP_NlpStatistics::totaltime.

Referenced by SCIP_DECL_NLPIGETSTATISTICS().