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 31189 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 31212 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 31227 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 31242 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 31264 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 31294 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 31316 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 31338 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 31362 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 31384 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 31406 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 31434 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 31456 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 31478 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 31502 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 31528 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 31555 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 31587 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 31610 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 31632 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 31657 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 31681 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 31705 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 31730 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 31761 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 31789 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 31817 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 31845 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 31873 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 31901 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 31929 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 31966 of file scip.c.
References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetNLPI(), SCIPnlpGetNLPIProblem(), and TRUE.