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 | |
Function Documentation
◆ SCIPisNLPEnabled()
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
-
scip SCIP data structure
Definition at line 246 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()
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
-
scip SCIP data structure
Definition at line 269 of file scip_nlp.c.
References FALSE, SCIP_Prob::nlpenabled, SCIP_CALL_ABORT, SCIPcheckStage(), Scip::transprob, and TRUE.
Referenced by SCIP_DECL_CONSEXITPRE().
◆ SCIPisNLPConstructed()
returns, whether an NLP has been constructed
- Precondition
- This method can be called if SCIP is in one of the following stages:
- Parameters
-
scip SCIP data structure
Definition at line 284 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPcheckStage(), and TRUE.
Referenced by computeFixingrate(), countNonlinearities(), createCoveringProblem(), getFixingValue(), runHeuristic(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPapplyHeurDualval(), SCIPapplyUndercover(), SCIPcreateNLPSol(), solveLp(), and solveSubNLP().
◆ SCIPhasNLPContinuousNonlinearity()
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
-
scip SCIP data structure
Definition at line 299 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpHasContinuousNonlinearity(), and TRUE.
Referenced by runHeuristic().
◆ SCIPgetNLPVarsData()
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
-
scip SCIP data structure vars pointer to store the array of NLP variables, or NULL nvars pointer to store the number of NLP variables, or NULL
Definition at line 321 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetNVars(), SCIPnlpGetVars(), and TRUE.
◆ SCIPgetNLPVars()
gets array with variables of the NLP
- Precondition
- This method can be called if SCIP is in one of the following stages:
- Parameters
-
scip SCIP data structure
Definition at line 351 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetVars(), and TRUE.
Referenced by SCIPapplyHeurDualval(), separateCuts(), and solveSubNLP().
◆ SCIPgetNNLPVars()
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
-
scip SCIP data structure
Definition at line 373 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetNVars(), and TRUE.
Referenced by countNonlinearities(), SCIPapplyHeurDualval(), separateCuts(), and solveSubNLP().
◆ SCIPgetNLPVarsNonlinearity()
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
-
scip SCIP data structure nlcount an array of length at least SCIPnlpGetNVars() to store nonlinearity counts of variables
Definition at line 395 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()
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
-
scip SCIP data structure
Definition at line 419 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetVarsLbDualsol(), and TRUE.
◆ SCIPgetNLPVarsUbDualsol()
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
-
scip SCIP data structure
Definition at line 441 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetVarsUbDualsol(), and TRUE.
◆ SCIPgetNLPNlRowsData()
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
-
scip SCIP data structure nlrows pointer to store the array of NLP nonlinear rows, or NULL nnlrows pointer to store the number of NLP nonlinear rows, or NULL
Definition at line 463 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetNlRows(), SCIPnlpGetNNlRows(), and TRUE.
◆ SCIPgetNLPNlRows()
SCIP_NLROW** SCIPgetNLPNlRows | ( | SCIP * | scip | ) |
gets array with nonlinear rows of the NLP
- Precondition
- This method can be called if SCIP is in one of the following stages:
- Parameters
-
scip SCIP data structure
Definition at line 491 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetNlRows(), and TRUE.
Referenced by applyHeur(), applyNlobbt(), computeInteriorPoint(), createCoveringProblem(), createNLP(), heurExec(), isNlobbtApplicable(), SCIP_DECL_RELAXEXEC(), and SCIP_DECL_SEPAEXECLP().
◆ SCIPgetNNLPNlRows()
int SCIPgetNNLPNlRows | ( | SCIP * | scip | ) |
gets current number of nonlinear rows in NLP
- Precondition
- This method can be called if SCIP is in one of the following stages:
- Parameters
-
scip SCIP data structure
Definition at line 513 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetNNlRows(), and TRUE.
Referenced by addRegularScholtes(), applyHeur(), applyNlobbt(), computeInteriorPoint(), createCoveringProblem(), createNLP(), heurExec(), isNlobbtApplicable(), SCIP_DECL_RELAXEXEC(), and SCIP_DECL_SEPAEXECLP().
◆ SCIPaddNlRow()
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
-
scip SCIP data structure nlrow nonlinear row to add to NLP
Definition at line 535 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().
◆ SCIPflushNLP()
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
-
scip SCIP data structure
Definition at line 559 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_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
-
scip SCIP data structure initialguess values of initial guess (corresponding to variables from SCIPgetNLPVarsData), or NULL to use no start point
Definition at line 585 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_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
-
scip SCIP data structure sol solution which values should be taken as initial guess, or NULL for LP solution
Definition at line 612 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_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
-
scip SCIP data structure
Definition at line 644 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(), SCIP_DECL_CONSSEPALP(), SCIPapplyHeurDualval(), and solveSubNLP().
◆ SCIPgetNLPSolstat()
SCIP_NLPSOLSTAT SCIPgetNLPSolstat | ( | SCIP * | scip | ) |
gets solution status of current NLP
- Precondition
- This method can be called if SCIP is in one of the following stages:
- Parameters
-
scip SCIP data structure
Definition at line 667 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIP_NLPSOLSTAT_UNKNOWN, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetSolstat(), and TRUE.
Referenced by computeFixingrate(), getFixingValue(), SCIP_DECL_CONSSEPALP(), SCIPapplyHeurDualval(), solveSubNLP(), and storeSolution().
◆ SCIPgetNLPTermstat()
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
-
scip SCIP data structure
Definition at line 689 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIP_NLPTERMSTAT_OTHER, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetTermstat(), and TRUE.
Referenced by solveSubNLP().
◆ SCIPgetNLPStatistics()
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
-
scip SCIP data structure statistics pointer to store statistics
Definition at line 714 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()
gets objective value of current NLP
- Precondition
- This method can be called if SCIP is in one of the following stages:
- Parameters
-
scip SCIP data structure
Definition at line 738 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIP_INVALID, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetObjval(), and TRUE.
Referenced by separateCuts(), and solveSubNLP().
◆ SCIPhasNLPSolution()
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
-
scip SCIP data structure
Definition at line 762 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpHasSolution(), and TRUE.
Referenced by SCIP_DECL_SEPAEXECLP().
◆ SCIPgetNLPFracVars()
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
-
scip SCIP data structure fracvars pointer to store the array of NLP fractional variables, or NULL fracvarssol pointer to store the array of NLP fractional variables solution values, or NULL fracvarsfrac pointer to store the array of NLP fractional variables fractionalities, or NULL nfracvars pointer to store the number of NLP fractional variables , or NULL npriofracvars pointer to store the number of NLP fractional variables with maximal branching priority, or NULL
Definition at line 787 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_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
-
scip SCIP data structure type parameter number ival pointer to store the parameter value
Definition at line 818 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_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
-
scip SCIP data structure type parameter number ival parameter value
Definition at line 846 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(), SCIPapplyHeurDualval(), and solveSubNLP().
◆ SCIPgetNLPRealPar()
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
-
scip SCIP data structure type parameter number dval pointer to store the parameter value
Definition at line 874 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetRealPar(), and TRUE.
◆ SCIPsetNLPRealPar()
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
-
scip SCIP data structure type parameter number dval parameter value
Definition at line 902 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpSetRealPar(), and TRUE.
Referenced by solveSubNLP().
◆ SCIPgetNLPStringPar()
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
-
scip SCIP data structure type parameter number sval pointer to store the parameter value
Definition at line 930 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetStringPar(), and TRUE.
◆ SCIPsetNLPStringPar()
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
-
scip SCIP data structure type parameter number sval parameter value
Definition at line 958 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_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
-
scip SCIP data structure filename file name
Definition at line 986 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_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
-
scip SCIP data structure nlpi pointer to store the NLP solver interface nlpiproblem pointer to store the NLP solver interface problem
Definition at line 1023 of file scip_nlp.c.
References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlpGetNLPI(), SCIPnlpGetNLPIProblem(), and TRUE.