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 | |
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().
scip | SCIP data structure |
Definition at line 31195 of file scip.c.
References checkStage(), FALSE, SCIP_Prob::nlpenabled, SCIP_CALL_ABORT, Scip::transprob, and TRUE.
Referenced by SCIP_DECL_PRESOLEXEC(), and setupAndSolve().
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.
scip | SCIP data structure |
Definition at line 31218 of file scip.c.
References checkStage(), FALSE, SCIP_Prob::nlpenabled, SCIP_CALL_ABORT, Scip::transprob, and TRUE.
Referenced by SCIP_DECL_CONSEXITPRE().
returns, whether an NLP has been constructed
scip | SCIP data structure |
Definition at line 31233 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, 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().
returns whether the NLP has a continuous variable in a nonlinear term
scip | SCIP data structure |
Definition at line 31248 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpHasContinuousNonlinearity(), and TRUE.
Referenced by runHeuristic().
SCIP_RETCODE SCIPgetNLPVarsData | ( | SCIP * | scip, |
SCIP_VAR *** | vars, | ||
int * | nvars | ||
) |
gets current NLP variables along with the current number of NLP variables
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 31270 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetNVars(), SCIPnlpGetVars(), and TRUE.
gets array with variables of the NLP
scip | SCIP data structure |
Definition at line 31300 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetVars(), and TRUE.
Referenced by SCIPapplyHeurDualval(), separateCuts(), and solveSubNLP().
int SCIPgetNNLPVars | ( | SCIP * | scip | ) |
gets current number of variables in NLP
scip | SCIP data structure |
Definition at line 31322 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetNVars(), and TRUE.
Referenced by countNonlinearities(), SCIPapplyHeurDualval(), separateCuts(), and solveSubNLP().
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
scip | SCIP data structure |
nlcount | an array of length at least SCIPnlpGetNVars() to store nonlinearity counts of variables |
Definition at line 31344 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetVarsNonlinearity(), and TRUE.
Referenced by countNonlinearities().
returns dual solution values associated with lower bounds of NLP variables
scip | SCIP data structure |
Definition at line 31368 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetVarsLbDualsol(), and TRUE.
returns dual solution values associated with upper bounds of NLP variables
scip | SCIP data structure |
Definition at line 31390 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetVarsUbDualsol(), and TRUE.
SCIP_RETCODE SCIPgetNLPNlRowsData | ( | SCIP * | scip, |
SCIP_NLROW *** | nlrows, | ||
int * | nnlrows | ||
) |
gets current NLP nonlinear rows along with the current number of NLP nonlinear rows
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 31412 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetNlRows(), SCIPnlpGetNNlRows(), and TRUE.
SCIP_NLROW** SCIPgetNLPNlRows | ( | SCIP * | scip | ) |
gets array with nonlinear rows of the NLP
scip | SCIP data structure |
Definition at line 31440 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetNlRows(), and TRUE.
Referenced by applyHeur(), applyNlobbt(), computeInteriorPoint(), createCoveringProblem(), createNLP(), heurExec(), isNlobbtApplicable(), SCIP_DECL_RELAXEXEC(), and SCIP_DECL_SEPAEXECLP().
int SCIPgetNNLPNlRows | ( | SCIP * | scip | ) |
gets current number of nonlinear rows in NLP
scip | SCIP data structure |
Definition at line 31462 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetNNlRows(), and TRUE.
Referenced by addRegularScholtes(), applyHeur(), applyNlobbt(), computeInteriorPoint(), createCoveringProblem(), createNLP(), heurExec(), isNlobbtApplicable(), SCIP_DECL_RELAXEXEC(), and SCIP_DECL_SEPAEXECLP().
SCIP_RETCODE SCIPaddNlRow | ( | SCIP * | scip, |
SCIP_NLROW * | nlrow | ||
) |
adds a nonlinear row to the NLP. This row is captured by the NLP.
scip | SCIP data structure |
nlrow | nonlinear row to add to NLP |
Definition at line 31484 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpAddNlRow(), Scip::set, Scip::stat, and TRUE.
Referenced by addKnapsackConstraints(), addLinearConstraints(), addLogicOrConstraints(), addSetppcConstraints(), addVarboundConstraints(), and SCIP_DECL_CONSINITSOL().
SCIP_RETCODE SCIPflushNLP | ( | SCIP * | scip | ) |
makes sure that the NLP of the current node is flushed
scip | SCIP data structure |
Definition at line 31508 of file scip.c.
References checkStage(), FALSE, Scip::mem, Scip::nlp, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpFlush(), Scip::set, and TRUE.
SCIP_RETCODE SCIPsetNLPInitialGuess | ( | SCIP * | scip, |
SCIP_Real * | initialguess | ||
) |
sets or clears initial primal guess for NLP solution (start point for NLP solver)
scip | SCIP data structure |
initialguess | values of initial guess (corresponding to variables from SCIPgetNLPVarsData), or NULL to use no start point |
Definition at line 31534 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpSetInitialGuess(), and TRUE.
Referenced by SCIPapplyHeurDualval(), and solveSubNLP().
SCIP_RETCODE SCIPsetNLPInitialGuessSol | ( | SCIP * | scip, |
SCIP_SOL * | sol | ||
) |
sets initial primal guess for NLP solution (start point for NLP solver)
scip | SCIP data structure |
sol | solution which values should be taken as initial guess, or NULL for LP solution |
Definition at line 31561 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPblkmem(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetSolVals(), SCIPnlpGetNVars(), SCIPnlpGetVars(), SCIPnlpSetInitialGuess(), and TRUE.
Referenced by computeFixingrate(), getFixingValue(), and SCIP_DECL_CONSSEPALP().
SCIP_RETCODE SCIPsolveNLP | ( | SCIP * | scip | ) |
solves the current NLP
scip | SCIP data structure |
Definition at line 31593 of file scip.c.
References checkStage(), FALSE, Scip::messagehdlr, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpSolve(), Scip::set, Scip::stat, and TRUE.
Referenced by computeFixingrate(), SCIP_DECL_CONSSEPALP(), SCIPapplyHeurDualval(), and solveSubNLP().
SCIP_NLPSOLSTAT SCIPgetNLPSolstat | ( | SCIP * | scip | ) |
gets solution status of current NLP
scip | SCIP data structure |
Definition at line 31616 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, SCIP_NLPSOLSTAT_UNKNOWN, SCIPABORT, SCIPerrorMessage, SCIPnlpGetSolstat(), and TRUE.
Referenced by computeFixingrate(), getFixingValue(), SCIP_DECL_CONSSEPALP(), SCIPapplyHeurDualval(), solveSubNLP(), and storeSolution().
SCIP_NLPTERMSTAT SCIPgetNLPTermstat | ( | SCIP * | scip | ) |
gets termination status of last NLP solve
scip | SCIP data structure |
Definition at line 31638 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, SCIP_NLPTERMSTAT_OTHER, SCIPABORT, SCIPerrorMessage, SCIPnlpGetTermstat(), and TRUE.
Referenced by solveSubNLP().
SCIP_RETCODE SCIPgetNLPStatistics | ( | SCIP * | scip, |
SCIP_NLPSTATISTICS * | statistics | ||
) |
gives statistics (number of iterations, solving time, ...) of last NLP solve
scip | SCIP data structure |
statistics | pointer to store statistics |
Definition at line 31663 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetStatistics(), and TRUE.
Referenced by solveSubNLP().
gets objective value of current NLP
scip | SCIP data structure |
Definition at line 31687 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, SCIP_INVALID, SCIPerrorMessage, SCIPnlpGetObjval(), and TRUE.
Referenced by separateCuts(), and solveSubNLP().
indicates whether a feasible solution for the current NLP is available thus, returns whether the solution status <= feasible
scip | SCIP data structure |
Definition at line 31711 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpHasSolution(), and TRUE.
Referenced by SCIP_DECL_SEPAEXECLP().
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
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 31736 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpGetFracVars(), Scip::set, Scip::stat, and TRUE.
Referenced by getNLPFracVars(), and SCIP_DECL_CONSSEPALP().
SCIP_RETCODE SCIPgetNLPIntPar | ( | SCIP * | scip, |
SCIP_NLPPARAM | type, | ||
int * | ival | ||
) |
gets integer parameter of NLP
scip | SCIP data structure |
type | parameter number |
ival | pointer to store the parameter value |
Definition at line 31767 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetIntPar(), and TRUE.
Referenced by computeFixingrate().
SCIP_RETCODE SCIPsetNLPIntPar | ( | SCIP * | scip, |
SCIP_NLPPARAM | type, | ||
int | ival | ||
) |
sets integer parameter of NLP
scip | SCIP data structure |
type | parameter number |
ival | parameter value |
Definition at line 31795 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpSetIntPar(), and TRUE.
Referenced by computeFixingrate(), getFixingValue(), SCIPapplyHeurDualval(), and solveSubNLP().
SCIP_RETCODE SCIPgetNLPRealPar | ( | SCIP * | scip, |
SCIP_NLPPARAM | type, | ||
SCIP_Real * | dval | ||
) |
gets floating point parameter of NLP
scip | SCIP data structure |
type | parameter number |
dval | pointer to store the parameter value |
Definition at line 31823 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetRealPar(), and TRUE.
SCIP_RETCODE SCIPsetNLPRealPar | ( | SCIP * | scip, |
SCIP_NLPPARAM | type, | ||
SCIP_Real | dval | ||
) |
sets floating point parameter of NLP
scip | SCIP data structure |
type | parameter number |
dval | parameter value |
Definition at line 31851 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpSetRealPar(), and TRUE.
Referenced by solveSubNLP().
SCIP_RETCODE SCIPgetNLPStringPar | ( | SCIP * | scip, |
SCIP_NLPPARAM | type, | ||
const char ** | sval | ||
) |
gets string parameter of NLP
scip | SCIP data structure |
type | parameter number |
sval | pointer to store the parameter value |
Definition at line 31879 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetStringPar(), and TRUE.
SCIP_RETCODE SCIPsetNLPStringPar | ( | SCIP * | scip, |
SCIP_NLPPARAM | type, | ||
const char * | sval | ||
) |
sets string parameter of NLP
scip | SCIP data structure |
type | parameter number |
sval | parameter value |
Definition at line 31907 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpSetStringPar(), and TRUE.
Referenced by solveSubNLP().
SCIP_RETCODE SCIPwriteNLP | ( | SCIP * | scip, |
const char * | filename | ||
) |
writes current NLP to a file
scip | SCIP data structure |
filename | file name |
Definition at line 31935 of file scip.c.
References checkStage(), FALSE, Scip::messagehdlr, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpWrite(), Scip::set, and TRUE.
Referenced by SCIP_DECL_DIALOGEXEC().
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;
scip | SCIP data structure |
nlpi | pointer to store the NLP solver interface |
nlpiproblem | pointer to store the NLP solver interface problem |
Definition at line 31972 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetNLPI(), SCIPnlpGetNLPIProblem(), and TRUE.