Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

methods for the nonlinear relaxation

Modules

 Expression (Tree)
 methods for expressions and expression trees
 
 Nonlinear Rows
 methods for the creation and interaction with rows of the NLP relaxation
 
 NLP Diving
 methods to initiate and conduct NLP Diving
 

Functions

SCIP_EXPORT SCIP_Bool SCIPisNLPEnabled (SCIP *scip)
 
SCIP_EXPORT void SCIPenableNLP (SCIP *scip)
 
SCIP_EXPORT SCIP_Bool SCIPisNLPConstructed (SCIP *scip)
 
SCIP_EXPORT SCIP_Bool SCIPhasNLPContinuousNonlinearity (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNLPVarsData (SCIP *scip, SCIP_VAR ***vars, int *nvars)
 
SCIP_EXPORT SCIP_VAR ** SCIPgetNLPVars (SCIP *scip)
 
SCIP_EXPORT int SCIPgetNNLPVars (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNLPVarsNonlinearity (SCIP *scip, int *nlcount)
 
SCIP_EXPORT SCIP_RealSCIPgetNLPVarsLbDualsol (SCIP *scip)
 
SCIP_EXPORT SCIP_RealSCIPgetNLPVarsUbDualsol (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNLPNlRowsData (SCIP *scip, SCIP_NLROW ***nlrows, int *nnlrows)
 
SCIP_EXPORT SCIP_NLROW ** SCIPgetNLPNlRows (SCIP *scip)
 
SCIP_EXPORT int SCIPgetNNLPNlRows (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPaddNlRow (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_RETCODE SCIPdelNlRow (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_RETCODE SCIPflushNLP (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPsetNLPInitialGuess (SCIP *scip, SCIP_Real *initialguess)
 
SCIP_EXPORT SCIP_RETCODE SCIPsetNLPInitialGuessSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_EXPORT SCIP_RETCODE SCIPsolveNLP (SCIP *scip)
 
SCIP_EXPORT SCIP_NLPSOLSTAT SCIPgetNLPSolstat (SCIP *scip)
 
SCIP_EXPORT SCIP_NLPTERMSTAT SCIPgetNLPTermstat (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNLPStatistics (SCIP *scip, SCIP_NLPSTATISTICS *statistics)
 
SCIP_EXPORT SCIP_Real SCIPgetNLPObjval (SCIP *scip)
 
SCIP_EXPORT SCIP_Bool SCIPhasNLPSolution (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNLPFracVars (SCIP *scip, SCIP_VAR ***fracvars, SCIP_Real **fracvarssol, SCIP_Real **fracvarsfrac, int *nfracvars, int *npriofracvars)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNLPIntPar (SCIP *scip, SCIP_NLPPARAM type, int *ival)
 
SCIP_EXPORT SCIP_RETCODE SCIPsetNLPIntPar (SCIP *scip, SCIP_NLPPARAM type, int ival)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNLPRealPar (SCIP *scip, SCIP_NLPPARAM type, SCIP_Real *dval)
 
SCIP_EXPORT SCIP_RETCODE SCIPsetNLPRealPar (SCIP *scip, SCIP_NLPPARAM type, SCIP_Real dval)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNLPStringPar (SCIP *scip, SCIP_NLPPARAM type, const char **sval)
 
SCIP_EXPORT SCIP_RETCODE SCIPsetNLPStringPar (SCIP *scip, SCIP_NLPPARAM type, const char *sval)
 
SCIP_EXPORT SCIP_RETCODE SCIPwriteNLP (SCIP *scip, const char *filename)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNLPI (SCIP *scip, SCIP_NLPI **nlpi, SCIP_NLPIPROBLEM **nlpiproblem)
 

Function Documentation

◆ SCIPisNLPEnabled()

SCIP_EXPORT SCIP_Bool SCIPisNLPEnabled ( SCIP scip)

returns whether the NLP relaxation has been enabled

If the NLP relaxation is enabled, then SCIP will construct the NLP relaxation when the solving process is about to begin. To check whether an NLP is existing, use SCIPisNLPConstructed().

Precondition
This method can be called if SCIP is in one of the following stages:
See also
SCIPenableNLP
Parameters
scipSCIP data structure

Definition at line 172 of file scip_nlp.c.

References FALSE, SCIP_Prob::nlpenabled, SCIP_CALL_ABORT, SCIPcheckStage(), Scip::transprob, and TRUE.

Referenced by SCIP_DECL_PRESOLEXEC(), and setupAndSolve().

◆ SCIPenableNLP()

SCIP_EXPORT void SCIPenableNLP ( SCIP scip)

marks that there are constraints that are representable by nonlinear rows

This method should be called by a constraint handler if it has constraints that have a representation as nonlinear rows.

The function should be called before the branch-and-bound process is initialized, e.g., when presolve is exiting.

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 195 of file scip_nlp.c.

References FALSE, SCIP_Prob::nlpenabled, SCIP_CALL_ABORT, SCIPcheckStage(), Scip::transprob, and TRUE.

Referenced by SCIP_DECL_CONSEXITPRE().

◆ SCIPisNLPConstructed()

◆ SCIPhasNLPContinuousNonlinearity()

SCIP_EXPORT SCIP_Bool SCIPhasNLPContinuousNonlinearity ( SCIP scip)

returns whether the NLP has a continuous variable in a nonlinear term

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 225 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpHasContinuousNonlinearity(), and TRUE.

Referenced by runHeuristic().

◆ SCIPgetNLPVarsData()

SCIP_EXPORT SCIP_RETCODE SCIPgetNLPVarsData ( SCIP scip,
SCIP_VAR ***  vars,
int *  nvars 
)

gets current NLP variables along with the current number of NLP variables

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
varspointer to store the array of NLP variables, or NULL
nvarspointer to store the number of NLP variables, or NULL

Definition at line 247 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetNVars(), SCIPnlpGetVars(), and TRUE.

◆ SCIPgetNLPVars()

SCIP_EXPORT SCIP_VAR** SCIPgetNLPVars ( SCIP scip)

gets array with variables of the NLP

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 277 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetVars(), and TRUE.

Referenced by computeStandardNLPFeasibilityCut(), computeStandardNLPOptimalityCut(), SCIPapplyHeurDualval(), separateCuts(), and solveSubNLP().

◆ SCIPgetNNLPVars()

SCIP_EXPORT int SCIPgetNNLPVars ( SCIP scip)

gets current number of variables in NLP

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 299 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetNVars(), and TRUE.

Referenced by computeStandardNLPFeasibilityCut(), computeStandardNLPOptimalityCut(), countNonlinearities(), SCIPapplyHeurDualval(), separateCuts(), and solveSubNLP().

◆ SCIPgetNLPVarsNonlinearity()

SCIP_EXPORT SCIP_RETCODE SCIPgetNLPVarsNonlinearity ( SCIP scip,
int *  nlcount 
)

computes for each variables the number of NLP rows in which the variable appears in a nonlinear var

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlcountan array of length at least SCIPnlpGetNVars() to store nonlinearity counts of variables

Definition at line 321 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetVarsNonlinearity(), and TRUE.

Referenced by countNonlinearities().

◆ SCIPgetNLPVarsLbDualsol()

SCIP_EXPORT SCIP_Real* SCIPgetNLPVarsLbDualsol ( SCIP scip)

returns dual solution values associated with lower bounds of NLP variables

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 345 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetVarsLbDualsol(), and TRUE.

Referenced by computeStandardNLPFeasibilityCut(), and computeStandardNLPOptimalityCut().

◆ SCIPgetNLPVarsUbDualsol()

SCIP_EXPORT SCIP_Real* SCIPgetNLPVarsUbDualsol ( SCIP scip)

returns dual solution values associated with upper bounds of NLP variables

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 367 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetVarsUbDualsol(), and TRUE.

Referenced by computeStandardNLPFeasibilityCut(), and computeStandardNLPOptimalityCut().

◆ SCIPgetNLPNlRowsData()

SCIP_EXPORT SCIP_RETCODE SCIPgetNLPNlRowsData ( SCIP scip,
SCIP_NLROW ***  nlrows,
int *  nnlrows 
)

gets current NLP nonlinear rows along with the current number of NLP nonlinear rows

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowspointer to store the array of NLP nonlinear rows, or NULL
nnlrowspointer to store the number of NLP nonlinear rows, or NULL

Definition at line 389 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetNlRows(), SCIPnlpGetNNlRows(), and TRUE.

◆ SCIPgetNLPNlRows()

SCIP_EXPORT SCIP_NLROW** SCIPgetNLPNlRows ( SCIP scip)

◆ SCIPgetNNLPNlRows()

SCIP_EXPORT int SCIPgetNNLPNlRows ( SCIP scip)

◆ SCIPaddNlRow()

SCIP_EXPORT SCIP_RETCODE SCIPaddNlRow ( SCIP scip,
SCIP_NLROW nlrow 
)

adds a nonlinear row to the NLP. This row is captured by the NLP.

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrownonlinear row to add to NLP

Definition at line 461 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPcheckStage(), SCIPerrorMessage, SCIPnlpAddNlRow(), Scip::set, Scip::stat, and TRUE.

Referenced by addKnapsackConstraints(), addLinearConstraints(), addLogicOrConstraints(), addSetppcConstraints(), addVarboundConstraints(), and SCIP_DECL_CONSINITSOL().

◆ SCIPdelNlRow()

SCIP_EXPORT SCIP_RETCODE SCIPdelNlRow ( SCIP scip,
SCIP_NLROW nlrow 
)

removes a nonlinear row from the NLP. This row is released in the NLP.

Precondition
This method can be called if SCIP is in one of the following stages:

removes a nonlinear row from the NLP.

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrownonlinear row to add to NLP

Definition at line 487 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPcheckStage(), SCIPerrorMessage, SCIPnlpDelNlRow(), Scip::set, and TRUE.

◆ SCIPflushNLP()

SCIP_EXPORT SCIP_RETCODE SCIPflushNLP ( SCIP scip)

makes sure that the NLP of the current node is flushed

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 511 of file scip_nlp.c.

References FALSE, Scip::mem, Scip::nlp, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpFlush(), Scip::set, and TRUE.

◆ SCIPsetNLPInitialGuess()

SCIP_EXPORT SCIP_RETCODE SCIPsetNLPInitialGuess ( SCIP scip,
SCIP_Real initialguess 
)

sets or clears initial primal guess for NLP solution (start point for NLP solver)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
initialguessvalues of initial guess (corresponding to variables from SCIPgetNLPVarsData), or NULL to use no start point

Definition at line 537 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPcheckStage(), SCIPerrorMessage, SCIPnlpSetInitialGuess(), and TRUE.

Referenced by SCIPapplyHeurDualval(), and solveSubNLP().

◆ SCIPsetNLPInitialGuessSol()

SCIP_EXPORT SCIP_RETCODE SCIPsetNLPInitialGuessSol ( SCIP scip,
SCIP_SOL sol 
)

sets initial primal guess for NLP solution (start point for NLP solver)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solsolution which values should be taken as initial guess, or NULL for LP solution

Definition at line 564 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPblkmem(), SCIPcheckStage(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetSolVals(), SCIPnlpGetNVars(), SCIPnlpGetVars(), SCIPnlpSetInitialGuess(), and TRUE.

Referenced by computeFixingrate(), getFixingValue(), and SCIP_DECL_CONSSEPALP().

◆ SCIPsolveNLP()

SCIP_EXPORT SCIP_RETCODE SCIPsolveNLP ( SCIP scip)

solves the current NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 596 of file scip_nlp.c.

References FALSE, Scip::messagehdlr, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPcheckStage(), SCIPerrorMessage, SCIPnlpSolve(), Scip::set, Scip::stat, and TRUE.

Referenced by computeFixingrate(), resolveNLPWithTighterFeastol(), SCIP_DECL_CONSSEPALP(), SCIPapplyHeurDualval(), SCIPbendersComputeSubproblemLowerbound(), SCIPbendersSolveSubproblemLP(), and solveSubNLP().

◆ SCIPgetNLPSolstat()

◆ SCIPgetNLPTermstat()

SCIP_EXPORT SCIP_NLPTERMSTAT SCIPgetNLPTermstat ( SCIP scip)

gets termination status of last NLP solve

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 641 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIP_NLPTERMSTAT_OTHER, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetTermstat(), and TRUE.

Referenced by resolveNLPWithTighterFeastol(), SCIPbendersComputeSubproblemLowerbound(), SCIPbendersSolveSubproblemLP(), and solveSubNLP().

◆ SCIPgetNLPStatistics()

SCIP_EXPORT SCIP_RETCODE SCIPgetNLPStatistics ( SCIP scip,
SCIP_NLPSTATISTICS statistics 
)

gives statistics (number of iterations, solving time, ...) of last NLP solve

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
statisticspointer to store statistics

Definition at line 666 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetStatistics(), and TRUE.

Referenced by solveSubNLP().

◆ SCIPgetNLPObjval()

SCIP_EXPORT SCIP_Real SCIPgetNLPObjval ( SCIP scip)

gets objective value of current NLP

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 690 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIP_INVALID, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetObjval(), and TRUE.

Referenced by SCIPbendersComputeSubproblemLowerbound(), SCIPbendersSolveSubproblemLP(), separateCuts(), and solveSubNLP().

◆ SCIPhasNLPSolution()

SCIP_EXPORT SCIP_Bool SCIPhasNLPSolution ( SCIP scip)

indicates whether a feasible solution for the current NLP is available thus, returns whether the solution status <= feasible

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 714 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpHasSolution(), and TRUE.

Referenced by computeStandardNLPOptimalityCut(), and SCIP_DECL_SEPAEXECLP().

◆ SCIPgetNLPFracVars()

SCIP_EXPORT SCIP_RETCODE SCIPgetNLPFracVars ( SCIP scip,
SCIP_VAR ***  fracvars,
SCIP_Real **  fracvarssol,
SCIP_Real **  fracvarsfrac,
int *  nfracvars,
int *  npriofracvars 
)

gets fractional variables of last NLP solution along with solution values and fractionalities

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
fracvarspointer to store the array of NLP fractional variables, or NULL
fracvarssolpointer to store the array of NLP fractional variables solution values, or NULL
fracvarsfracpointer to store the array of NLP fractional variables fractionalities, or NULL
nfracvarspointer to store the number of NLP fractional variables , or NULL
npriofracvarspointer to store the number of NLP fractional variables with maximal branching priority, or NULL

Definition at line 739 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetFracVars(), Scip::set, Scip::stat, and TRUE.

Referenced by getNLPFracVars(), and SCIP_DECL_CONSSEPALP().

◆ SCIPgetNLPIntPar()

SCIP_EXPORT SCIP_RETCODE SCIPgetNLPIntPar ( SCIP scip,
SCIP_NLPPARAM  type,
int *  ival 
)

gets integer parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
ivalpointer to store the parameter value

Definition at line 770 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetIntPar(), and TRUE.

Referenced by computeFixingrate().

◆ SCIPsetNLPIntPar()

SCIP_EXPORT SCIP_RETCODE SCIPsetNLPIntPar ( SCIP scip,
SCIP_NLPPARAM  type,
int  ival 
)

sets integer parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
ivalparameter value

Definition at line 798 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpSetIntPar(), and TRUE.

Referenced by computeFixingrate(), getFixingValue(), resolveNLPWithTighterFeastol(), SCIPapplyHeurDualval(), SCIPbendersComputeSubproblemLowerbound(), SCIPbendersSolveSubproblemLP(), and solveSubNLP().

◆ SCIPgetNLPRealPar()

SCIP_EXPORT SCIP_RETCODE SCIPgetNLPRealPar ( SCIP scip,
SCIP_NLPPARAM  type,
SCIP_Real dval 
)

gets floating point parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
dvalpointer to store the parameter value

Definition at line 826 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetRealPar(), and TRUE.

Referenced by resolveNLPWithTighterFeastol().

◆ SCIPsetNLPRealPar()

SCIP_EXPORT SCIP_RETCODE SCIPsetNLPRealPar ( SCIP scip,
SCIP_NLPPARAM  type,
SCIP_Real  dval 
)

sets floating point parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
dvalparameter value

Definition at line 854 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpSetRealPar(), and TRUE.

Referenced by resolveNLPWithTighterFeastol(), and solveSubNLP().

◆ SCIPgetNLPStringPar()

SCIP_EXPORT SCIP_RETCODE SCIPgetNLPStringPar ( SCIP scip,
SCIP_NLPPARAM  type,
const char **  sval 
)

gets string parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
svalpointer to store the parameter value

Definition at line 882 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetStringPar(), and TRUE.

◆ SCIPsetNLPStringPar()

SCIP_EXPORT SCIP_RETCODE SCIPsetNLPStringPar ( SCIP scip,
SCIP_NLPPARAM  type,
const char *  sval 
)

sets string parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
svalparameter value

Definition at line 910 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpSetStringPar(), and TRUE.

Referenced by solveSubNLP().

◆ SCIPwriteNLP()

SCIP_EXPORT SCIP_RETCODE SCIPwriteNLP ( SCIP scip,
const char *  filename 
)

writes current NLP to a file

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
filenamefile name

Definition at line 938 of file scip_nlp.c.

References FALSE, Scip::messagehdlr, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpWrite(), Scip::set, and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPgetNLPI()

SCIP_EXPORT SCIP_RETCODE SCIPgetNLPI ( SCIP scip,
SCIP_NLPI **  nlpi,
SCIP_NLPIPROBLEM **  nlpiproblem 
)

gets the NLP interface and problem used by the SCIP NLP; with the NLPI and its problem you can use all of the methods defined in nlpi/nlpi.h;

Warning
You have to make sure, that the full internal state of the NLPI does not change or is recovered completely after the end of the method that uses the NLPI. In particular, if you manipulate the NLP or its solution (e.g. by calling one of the SCIPnlpiAdd...() or the SCIPnlpiSolve() method), you have to check in advance whether the NLP is currently solved. If this is the case, you have to make sure, the internal solution status is recovered completely at the end of your method. Additionally you have to resolve the NLP with SCIPnlpiSolve() in order to reinstall the internal solution status.
Make also sure, that all parameter values that you have changed are set back to their original values.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlpipointer to store the NLP solver interface
nlpiproblempointer to store the NLP solver interface problem

Definition at line 975 of file scip_nlp.c.

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetNLPI(), SCIPnlpGetNLPIProblem(), and TRUE.