nlp.h File Reference Detailed Descriptioninternal methods for NLP management Definition in file nlp.h. #include <stdio.h> #include "scip/def.h" #include "blockmemshell/memory.h" #include "scip/type_set.h" #include "scip/type_stat.h" #include "scip/type_misc.h" #include "scip/type_lp.h" #include "scip/type_var.h" #include "scip/type_prob.h" #include "scip/type_sol.h" #include "scip/type_primal.h" #include "scip/pub_nlp.h" Go to the source code of this file. Function Documentation
removes fixed variables from an expression tree, so that at exit all variables are active
Definition at line 223 of file nlp.c. References SCIP_ExprTree::blkmem, BMSallocBlockMemoryArray, BMSclearMemoryArray, BMSfreeBlockMemoryArray, BMSreallocBlockMemoryArray, FALSE, NULL, SCIP_ExprTree::nvars, SCIP_ExprTree::root, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_EXPR_CONST, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPcalcHashtableSize(), SCIPexprCreate(), SCIPexprCreateLinear(), SCIPexprFreeDeep(), SCIPexprReindexVars(), SCIPexprtreeAddVars(), SCIPexprtreeRemoveFixedVars(), SCIPexprtreeSubstituteVars(), SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPhashmapInsert(), SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarIsActive(), TRUE, and SCIP_ExprTree::vars. Referenced by nlrowRemoveFixedExprtreeVars(), SCIPexprtreeRemoveFixedVars(), and SCIPnlrowChgExprtree().
create a new nonlinear row the new row is already captured
Definition at line 1995 of file nlp.c. References BMSallocBlockMemory, BMSduplicateBlockMemoryArray, FALSE, MAX, MIN, nlrowSetupQuadVarsHash(), NULL, REALABS, SCIP_ALLOC, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPexprtreeCopy(), SCIPnlrowCapture(), SCIPsetIsInfinity(), SCIPsetIsRelLE(), and TRUE. Referenced by SCIPcreateEmptyNlRow(), SCIPcreateNlRow(), SCIPnlpChgVarObjDive(), SCIPnlrowCreateCopy(), and SCIPnlrowCreateFromRow().
create a nonlinear row that is a copy of a given row the new row is already captured
Definition at line 2142 of file nlp.c. References SCIP_NlRow::activity, SCIP_NlRow::constant, SCIP_NlRow::exprtree, SCIP_NlRow::lhs, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::linvarssorted, SCIP_NlRow::maxactivity, SCIP_NlRow::minactivity, SCIP_NlRow::name, SCIP_NlRow::nlinvars, SCIP_NlRow::nquadelems, SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::pseudoactivity, SCIP_NlRow::quadelems, SCIP_NlRow::quadelemssorted, SCIP_NlRow::quadvars, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIPnlrowCreate(), SCIP_NlRow::validactivitybdsdomchg, SCIP_NlRow::validactivitynlp, and SCIP_NlRow::validpsactivitydomchg.
create a new nonlinear row from a linear row the new row is already captured
Definition at line 2177 of file nlp.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPcolGetVar(), SCIPnlrowCreate(), SCIProwGetCols(), SCIProwGetConstant(), SCIProwGetLhs(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwGetRhs(), SCIProwGetVals(), SCIPsetAllocBufferArray, and SCIPsetFreeBufferArray. Referenced by SCIPcreateNlRowFromRow().
frees a nonlinear row
Definition at line 2242 of file nlp.c. References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, SCIPexprtreeFree(), and SCIPhashmapFree(). Referenced by SCIPnlrowRelease().
output nonlinear row to file stream
Definition at line 2279 of file nlp.c. References SCIP_QuadElement::coef, SCIP_NlRow::constant, SCIP_NlRow::exprtree, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_NlRow::lhs, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::name, SCIP_NlRow::nlinvars, SCIP_NlRow::nquadelems, NULL, SCIP_NlRow::quadelems, SCIP_NlRow::quadvars, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIPexprtreePrintWithNames(), SCIPmessageFPrintInfo(), and SCIPvarGetName(). Referenced by computeCut(), findAndStoreEcAggregations(), SCIPnlpWrite(), and SCIPprintNlRow().
increases usage counter of NLP nonlinear row
Definition at line 2334 of file nlp.c. References SCIP_NlRow::name, NULL, SCIP_NlRow::nuses, and SCIPdebugMessage. Referenced by nlpAddNlRows(), SCIPcaptureNlRow(), and SCIPnlrowCreate().
decreases usage counter of NLP nonlinear row
Definition at line 2346 of file nlp.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPnlrowFree(). Referenced by nlpDelNlRowPos(), SCIPnlpEndDive(), and SCIPreleaseNlRow().
ensures, that linear coefficient array of nonlinear row can store at least num entries
Definition at line 2370 of file nlp.c. References BMSreallocBlockMemoryArray, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::linvarssize, SCIP_NlRow::nlinvars, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by nlrowAddLinearCoef(), and nlrowRemoveFixedLinearCoefPos().
adds a previously non existing linear coefficient to an NLP nonlinear row
Definition at line 2395 of file nlp.c. References SCIP_NlRow::constant, SCIP_NlRow::nlpindex, nlrowAddLinearCoef(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPnlrowAddLinearCoef(), SCIPnlrowChgConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), and SCIPvarIsActive(). Referenced by SCIPaddLinearCoefsToNlRow(), SCIPaddLinearCoefToNlRow(), and SCIPnlrowAddLinearCoef().
deletes linear coefficient from nonlinear row
Definition at line 2443 of file nlp.c. References SCIP_NlRow::linvars, SCIP_NlRow::name, SCIP_NlRow::nlpindex, nlrowDelLinearCoefPos(), nlrowSearchLinearCoef(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPvarGetName(), and SCIPvarIsActive().
changes or adds a linear coefficient to a nonlinear row
Definition at line 2476 of file nlp.c. References nlrowAddLinearCoef(), nlrowChgLinearCoefPos(), nlrowSearchLinearCoef(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPsetIsZero(). Referenced by SCIPchgNlRowLinearCoef(), and SCIPnlpChgVarObjDive().
ensures, that quadratic variables array of nonlinear row can store at least num entries
Definition at line 2514 of file nlp.c. References BMSreallocBlockMemoryArray, SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::quadvars, SCIP_NlRow::quadvarssize, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by SCIPaddQuadVarsToNlRow(), and SCIPnlrowAddQuadVar().
adds variable to quadvars array of row
Definition at line 2538 of file nlp.c. References SCIP_NlRow::nlpindex, nlrowSetupQuadVarsHash(), SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::quadvars, SCIP_NlRow::quadvarshash, SCIP_CALL, SCIP_OKAY, SCIPhashmapInsert(), SCIPnlrowEnsureQuadVarsSize(), SCIPnlrowSearchQuadVar(), and SCIPvarIsActive(). Referenced by nlrowRemoveFixedQuadVars(), SCIPaddQuadVarsToNlRow(), and SCIPaddQuadVarToNlRow().
ensures, that quadratic elements array of nonlinear row can store at least num entries
Definition at line 2573 of file nlp.c. References BMSreallocBlockMemoryArray, SCIP_NlRow::nquadelems, NULL, SCIP_NlRow::quadelems, SCIP_NlRow::quadelemssize, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by nlrowAddQuadElement(), and SCIPaddQuadElementsToNlRow().
adds a previously non existing quadratic element to an NLP nonlinear row
Definition at line 2597 of file nlp.c. References nlrowAddQuadElement(), SCIP_CALL, and SCIP_OKAY. Referenced by nlrowRemoveFixedQuadVars(), SCIPaddQuadElementsToNlRow(), and SCIPaddQuadElementToNlRow().
deletes quadratic element from nonlinear row
Definition at line 2612 of file nlp.c. References SCIP_NlRow::name, nlrowDelQuadElemPos(), nlrowSearchQuadElem(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, and SCIPerrorMessage.
changes or adds a quadratic element to a nonlinear row
Definition at line 2646 of file nlp.c. References SCIP_QuadElement::coef, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, nlrowAddQuadElement(), nlrowChgQuadElemPos(), nlrowSearchQuadElem(), NULL, SCIP_CALL, and SCIP_OKAY. Referenced by SCIPchgNlRowQuadElement().
replaces or deletes an expression tree in nonlinear row replaces an expression tree in nonlinear row
Definition at line 2678 of file nlp.c. References SCIP_NlRow::exprtree, SCIP_NlRow::nlpindex, nlrowExprtreeChanged(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPexprtreeCopy(), SCIPexprtreeFree(), and SCIPexprtreeRemoveFixedVars(). Referenced by SCIPsetNlRowExprtree().
changes a parameter in an expression of a nonlinear row
Definition at line 2717 of file nlp.c. References SCIP_NlRow::exprtree, nlrowExprtreeParamChanged(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPexprtreeSetParamVal(). Referenced by SCIPsetNlRowExprtreeParam().
changes all parameters in an expression of a nonlinear row
Definition at line 2740 of file nlp.c. References SCIP_NlRow::exprtree, nlrowExprtreeParamChanged(), NULL, SCIP_CALL, SCIP_OKAY, SCIPexprtreeGetNParams(), and SCIPexprtreeSetParams(). Referenced by SCIPsetNlRowExprtreeParams().
changes constant of nonlinear row
Definition at line 2762 of file nlp.c. References SCIP_NlRow::constant, nlrowConstantChanged(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPsetIsEQ(). Referenced by nlrowRemoveFixedExprtreeVars(), SCIPchgNlRowConstant(), and SCIPnlrowAddLinearCoef().
changes left hand side of nonlinear row
Definition at line 2782 of file nlp.c. References SCIP_NlRow::lhs, nlrowSideChanged(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPsetIsEQ(). Referenced by SCIPchgNlRowLhs().
changes right hand side of nonlinear row
Definition at line 2802 of file nlp.c. References nlrowSideChanged(), NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, and SCIPsetIsEQ(). Referenced by SCIPchgNlRowRhs().
removes (or substitutes) all fixed, negated, aggregated, multi-aggregated variables from the linear, quadratic, and nonquadratic terms of a nonlinear row removes (or substitutes) all fixed, negated, aggregated, multi-aggregated variables from the linear, quadratic, and non-quadratic terms of a nonlinear row
Definition at line 2822 of file nlp.c. References nlrowRemoveFixedExprtreeVars(), nlrowRemoveFixedLinearCoefs(), nlrowRemoveFixedQuadVars(), SCIP_CALL, and SCIP_OKAY. Referenced by nlpAddNlRows().
recalculates the current activity of a nonlinear row in the current NLP solution recalculates the current activity of a nonlinear row
Definition at line 2838 of file nlp.c. References SCIP_NlRow::activity, SCIP_QuadElement::coef, SCIP_NlRow::constant, SCIP_NlRow::exprtree, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::nlinvars, SCIP_Stat::nnlps, SCIP_NlRow::nquadelems, NULL, SCIP_NlRow::quadelems, SCIP_NlRow::quadvars, SCIP_CALL, SCIP_ERROR, SCIP_INVALID, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPexprtreeEval(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetNLPSol(), SCIP_Nlp::solstat, and SCIP_NlRow::validactivitynlp. Referenced by SCIPnlrowGetNLPActivity(), SCIPrecalcNlRowActivity(), and SCIPrecalcNlRowNLPActivity().
gives the activity of a nonlinear row in the current NLP solution returns the activity of a nonlinear row in the current NLP solution
Definition at line 2915 of file nlp.c. References SCIP_NlRow::activity, SCIP_Stat::nnlps, NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPnlrowRecalcNLPActivity(), and SCIP_NlRow::validactivitynlp. Referenced by nlpSolve(), SCIPgetNlRowActivity(), SCIPgetNlRowNLPActivity(), SCIPgetNlRowSolActivity(), and SCIPnlrowGetNLPFeasibility().
gives the feasibility of a nonlinear row in the current NLP solution: negative value means infeasibility
Definition at line 2942 of file nlp.c. References SCIP_NlRow::lhs, MIN, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIPnlrowGetNLPActivity(). Referenced by nlpAddNlRows(), nlpRowChanged(), SCIPgetNlRowFeasibility(), SCIPgetNlRowNLPFeasibility(), and SCIPgetNlRowSolFeasibility().
calculates the current pseudo activity of a nonlinear row
Definition at line 2962 of file nlp.c. References SCIP_QuadElement::coef, SCIP_NlRow::constant, SCIP_Stat::domchgcount, SCIP_NlRow::exprtree, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::nlinvars, SCIP_NlRow::nquadelems, NULL, SCIP_NlRow::pseudoactivity, SCIP_NlRow::quadelems, SCIP_NlRow::quadvars, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPexprtreeEval(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetBestBoundLocal(), and SCIP_NlRow::validpsactivitydomchg. Referenced by SCIPnlrowGetPseudoActivity(), SCIPrecalcNlRowActivity(), and SCIPrecalcNlRowPseudoActivity().
returns the pseudo activity of a nonlinear row in the current pseudo solution
Definition at line 3017 of file nlp.c. References SCIP_Stat::domchgcount, NULL, SCIP_NlRow::pseudoactivity, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPnlrowRecalcPseudoActivity(), and SCIP_NlRow::validpsactivitydomchg. Referenced by SCIPgetNlRowActivity(), SCIPgetNlRowPseudoActivity(), SCIPgetNlRowSolActivity(), SCIPnlpGetPseudoObjval(), and SCIPnlrowGetPseudoFeasibility().
returns the pseudo feasibility of a nonlinear row in the current pseudo solution: negative value means infeasibility
Definition at line 3043 of file nlp.c. References SCIP_NlRow::lhs, MIN, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIPnlrowGetPseudoActivity(). Referenced by SCIPgetNlRowFeasibility(), SCIPgetNlRowPseudoFeasibility(), and SCIPgetNlRowSolFeasibility().
returns the activity of a nonlinear row for a given solution
Definition at line 3063 of file nlp.c. References SCIP_QuadElement::coef, SCIP_NlRow::constant, SCIP_NlRow::exprtree, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, MAX, MIN, SCIP_NlRow::nlinvars, SCIP_NlRow::nquadelems, NULL, SCIP_NlRow::quadelems, SCIP_NlRow::quadvars, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPexprtreeEval(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), and SCIPsolGetVal(). Referenced by SCIPgetNlRowSolActivity(), and SCIPnlrowGetSolFeasibility().
returns the feasibility of a nonlinear row for the given solution
Definition at line 3148 of file nlp.c. References SCIP_NlRow::lhs, MIN, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIPnlrowGetSolActivity(). Referenced by SCIPgetNlRowSolFeasibility().
returns the minimal activity of a nonlinear row w.r.t. the variables' bounds
Definition at line 3169 of file nlp.c. References SCIP_Stat::domchgcount, SCIP_NlRow::maxactivity, SCIP_NlRow::minactivity, nlrowCalcActivityBounds(), NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, and SCIP_NlRow::validactivitybdsdomchg. Referenced by SCIPgetNlRowActivityBounds(), and SCIPnlrowIsRedundant().
returns whether the nonlinear row is redundant w.r.t. the variables' bounds
Definition at line 3200 of file nlp.c. References FALSE, SCIP_NlRow::lhs, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPnlrowGetActivityBounds(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), and TRUE. Referenced by SCIPnlpRemoveRedundantNlRows().
includes event handler that is used by NLP includes NLP specific plugins (e.g., event handler) and parameters
Definition at line 4988 of file nlp.c. References EVENTHDLR_DESC, EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_INIT, SCIPerrorMessage, SCIPeventhdlrCreate(), SCIPsetFindEventhdlr(), and SCIPsetIncludeEventhdlr(). Referenced by SCIPcreate().
construct a new empty NLP
Definition at line 5013 of file nlp.c. References BMSallocMemory, BMSduplicateBlockMemoryArray, EVENTHDLR_NAME, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_EVENTTYPE_VARADDED, SCIP_EVENTTYPE_VARDELETED, SCIP_INVALID, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_OTHER, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPcalcHashtableSize(), SCIPerrorMessage, SCIPeventfilterAdd(), SCIPhashmapCreate(), SCIPnlpiCreateProblem(), SCIPsetFindEventhdlr(), SCIPsetFindNlpi(), SCIPsetSortNlpis(), and TRUE. Referenced by initSolve().
frees NLP data object
Definition at line 5134 of file nlp.c. References BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, BMSfreeMemory, NULL, SCIP_CALL, SCIP_EVENTTYPE_VARADDED, SCIP_EVENTTYPE_VARDELETED, SCIP_OKAY, SCIPeventfilterDel(), SCIPhashmapFree(), SCIPnlpiFreeProblem(), and SCIPnlpReset(). Referenced by freeSolve().
resets the NLP to the empty NLP by removing all variables and rows from NLP, releasing all rows, and flushing the changes to the NLP solver
Definition at line 5193 of file nlp.c. References BMSfreeBlockMemoryArrayNull, FALSE, SCIP_Nlp::haveinitguess, SCIP_Nlp::indiving, SCIP_Nlp::initialguess, nlpDelNlRowPos(), nlpDelVarPos(), SCIP_Nlp::nnlrows, NULL, SCIP_Nlp::nvars, SCIP_CALL, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_OTHER, SCIP_OKAY, SCIPnlpEndDive(), SCIPnlpFlush(), SCIP_Nlp::solstat, and SCIP_Nlp::termstat. Referenced by SCIPnlpFree(). currently a dummy function that always returns TRUE
Definition at line 5234 of file nlp.c. References TRUE. Referenced by SCIPgetNlRowActivity(), SCIPgetNlRowFeasibility(), SCIPgetNlRowSolActivity(), SCIPgetNlRowSolFeasibility(), and SCIPrecalcNlRowActivity().
ensures, that variables array of NLP can store at least num entries
Definition at line 5242 of file nlp.c. References BMSreallocBlockMemoryArray, SCIP_Nlp::initialguess, NULL, SCIP_Nlp::nvars, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_Nlp::sizevars, SCIP_Nlp::varlbdualvals, SCIP_Nlp::varmap_nlp2nlpi, SCIP_Nlp::vars, and SCIP_Nlp::varubdualvals. Referenced by nlpAddVars().
adds a variable to the NLP and captures the variable
Definition at line 5276 of file nlp.c. References SCIP_Nlp::indiving, nlpAddVars(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPhashmapExists(), SCIPvarIsTransformed(), and SCIP_Nlp::varhash. Referenced by SCIP_DECL_EVENTEXEC().
adds a set of variables to the NLP and captures the variables
Definition at line 5302 of file nlp.c. References SCIP_Nlp::indiving, nlpAddVars(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage. Referenced by initSolve().
deletes a variable from the NLP and releases the variable
Definition at line 5327 of file nlp.c. References SCIP_Nlp::indiving, nlpDelVarPos(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPvarGetName(), and SCIP_Nlp::varhash. Referenced by nlpRemoveFixedVar(), and SCIP_DECL_EVENTEXEC().
ensures, that nonlinear rows array of NLP can store at least num entries
Definition at line 5363 of file nlp.c. References BMSreallocBlockMemoryArray, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), and SCIP_Nlp::sizenlrows. Referenced by nlpAddNlRows().
adds a nonlinear row to the NLP and captures it all variables of the row need to be present in the NLP
Definition at line 5391 of file nlp.c. References SCIP_Nlp::indiving, nlpAddNlRows(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage. Referenced by SCIPaddNlRow().
adds nonlinear rows to the NLP and captures them all variables of the row need to be present in the NLP
Definition at line 5415 of file nlp.c. References SCIP_Nlp::indiving, nlpAddNlRows(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.
deletes a nonlinear row from the NLP does nothing if nonlinear row is not in NLP
Definition at line 5443 of file nlp.c. References SCIP_Nlp::indiving, nlpDelNlRowPos(), SCIP_NlRow::nlpindex, SCIP_Nlp::nnlrows, NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.
applies all cached changes to the NLP solver
Definition at line 5474 of file nlp.c. References SCIP_Nlp::indiving, nlpFlushNlRowAdditions(), nlpFlushNlRowDeletions(), nlpFlushObjective(), nlpFlushVarAdditions(), nlpFlushVarDeletions(), SCIP_Nlp::nnlrows, SCIP_Nlp::nnlrows_solver, NULL, SCIP_Nlp::nunflushednlrowadd, SCIP_Nlp::nunflushednlrowdel, SCIP_Nlp::nunflushedvaradd, SCIP_Nlp::nunflushedvardel, SCIP_Nlp::nvars, SCIP_Nlp::nvars_solver, SCIP_Nlp::objflushed, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, and TRUE. Referenced by SCIPflushNLP(), SCIPnlpReset(), SCIPnlpSolve(), and SCIPnlpStartDive().
solves the NLP
Definition at line 5511 of file nlp.c. References SCIP_Nlp::indiving, nlpSolve(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, and SCIPnlpFlush(). Referenced by SCIPsolveNLP(). gets objective value of current NLP
Definition at line 5538 of file nlp.c. References NULL, and SCIP_Nlp::primalsolobjval. Referenced by SCIPgetNLPObjval(), and SCIPsolLinkNLPSol().
gives current pseudo objective value
Definition at line 5548 of file nlp.c. References SCIP_Nlp::divingobj, SCIP_Nlp::indiving, NULL, SCIP_Nlp::nvars, SCIP_CALL, SCIP_OKAY, SCIPnlrowGetPseudoActivity(), SCIPvarGetBestBoundLocal(), SCIPvarGetObj(), and SCIP_Nlp::vars.
gets fractional variables of last NLP solution along with solution values and fractionalities
Definition at line 5577 of file nlp.c. References SCIP_Nlp::fracvars, SCIP_Nlp::fracvarsfrac, SCIP_Nlp::fracvarssol, SCIP_Nlp::nfracvars, nlpCalcFracVars(), SCIP_Nlp::npriofracvars, NULL, SCIP_CALL, and SCIP_OKAY. Referenced by SCIPgetNLPFracVars().
removes all redundant nonlinear rows
Definition at line 5611 of file nlp.c. References SCIP_Nlp::indiving, nlpDelNlRowPos(), SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, NULL, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPnlrowIsRedundant(), and SCIP_Nlp::solstat.
set initial guess (approximate primal solution) for next solve array initguess must be NULL or have length at least SCIPnlpGetNVars()
Definition at line 5657 of file nlp.c. References BMScopyMemoryArray, BMSduplicateBlockMemoryArray, FALSE, SCIP_Nlp::haveinitguess, SCIP_Nlp::initialguess, NULL, SCIP_Nlp::nvars, SCIP_Nlp::problem, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPnlpiSetInitialGuess(), SCIP_Nlp::solver, and TRUE. Referenced by SCIPsetNLPInitialGuess(), and SCIPsetNLPInitialGuessSol().
writes NLP to a file
Definition at line 5690 of file nlp.c. References SCIP_Nlp::name, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, NULL, SCIP_Nlp::nvars, SCIP_CALL, SCIP_FILECREATEERROR, SCIP_OKAY, SCIPerrorMessage, SCIPmessageFPrintInfo(), SCIPnlrowPrint(), SCIPvarPrint(), and SCIP_Nlp::vars. Referenced by SCIPwriteNLP().
signals start of diving
Definition at line 6078 of file nlp.c. References SCIP_Nlp::indiving, NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPnlpFlush(), SCIP_Nlp::solver, and TRUE. Referenced by SCIPstartDiveNLP().
resets the bound and objective changes made during diving and disables diving mode
Definition at line 6108 of file nlp.c. References SCIP_Nlp::divingobj, FALSE, SCIP_Nlp::indiving, NULL, SCIP_Nlp::nvars, SCIP_Nlp::nvars_solver, SCIP_Nlp::objflushed, SCIP_Nlp::primalsolobjval, SCIP_Nlp::problem, SCIP_CALL, SCIP_ERROR, SCIP_INVALID, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_OTHER, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPnlpiChgVarBounds(), SCIPnlrowRelease(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIP_Nlp::solstat, SCIP_Nlp::solver, SCIP_Nlp::termstat, SCIP_Nlp::varmap_nlpi2nlp, and SCIP_Nlp::vars. Referenced by SCIPendDiveNLP(), and SCIPnlpReset().
changes coefficient of variable in diving NLP
Definition at line 6169 of file nlp.c. References SCIP_Nlp::divingobj, FALSE, SCIP_Nlp::indiving, NULL, SCIP_Nlp::nvars, SCIP_Nlp::objflushed, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnlpiChgLinearCoefs(), SCIPnlrowChgLinearCoef(), SCIPnlrowCreate(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPvarGetObj(), SCIP_Nlp::solver, SCIP_Nlp::varhash, SCIP_Nlp::varmap_nlp2nlpi, and SCIP_Nlp::vars. Referenced by SCIPchgVarObjDiveNLP().
changes bounds of variable in diving NLP
Definition at line 6228 of file nlp.c. References SCIP_Nlp::indiving, NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnlpiChgVarBounds(), SCIP_Nlp::solver, SCIP_Nlp::varhash, and SCIP_Nlp::varmap_nlp2nlpi. Referenced by SCIPchgVarBoundsDiveNLP().
changes bounds of a set of variables in diving NLP
Definition at line 6256 of file nlp.c. References SCIP_Nlp::indiving, NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnlpiChgVarBounds(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIP_Nlp::solver, SCIP_Nlp::varhash, and SCIP_Nlp::varmap_nlp2nlpi. Referenced by SCIPchgVarsBoundsDiveNLP(). returns whether the objective function has been changed during diving
Definition at line 6300 of file nlp.c. References SCIP_Nlp::divingobj, and NULL. Referenced by SCIPsolLinkNLPSol().
solves diving NLP
Definition at line 6308 of file nlp.c. References nlpSolve(), SCIP_CALL, and SCIP_OKAY. Referenced by SCIPsolveDiveNLP(). gets array with variables of the NLP
Definition at line 5741 of file nlp.c. References NULL, and SCIP_Nlp::vars. Referenced by SCIPgetNLPVars(), SCIPgetNLPVarsData(), SCIPsetNLPInitialGuessSol(), and SCIPsolLinkNLPSol().
gets current number of variables in NLP
Definition at line 5751 of file nlp.c. References NULL, and SCIP_Nlp::nvars. Referenced by SCIPgetNLPVarsData(), SCIPgetNNLPVars(), SCIPsetNLPInitialGuessSol(), and SCIPsolLinkNLPSol().
computes for each variables the number of NLP rows in which the variable appears in a nonlinear var
Definition at line 5761 of file nlp.c. References BMSclearMemoryArray, SCIP_NlRow::exprtree, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, SCIP_NlRow::nquadvars, NULL, SCIP_Nlp::nvars, SCIP_NlRow::quadvars, SCIP_NlRow::quadvarshash, SCIP_OKAY, SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPhashmapExists(), SCIPhashmapGetImage(), and SCIP_Nlp::varhash. Referenced by SCIPgetNLPVarsNonlinearity(). indicates whether there exists a row that contains a continuous variable in a nonlinear term
Definition at line 5820 of file nlp.c. References SCIP_NlRow::exprtree, FALSE, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::quadvars, SCIP_VARTYPE_CONTINUOUS, SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPvarGetType(), and TRUE. Referenced by SCIPhasNLPContinuousNonlinearity(). gives dual solution values associated with lower bounds of NLP variables
Definition at line 5858 of file nlp.c. References NULL, and SCIP_Nlp::varlbdualvals. Referenced by SCIPgetNLPVarsLbDualsol(). gives dual solution values associated with upper bounds of NLP variables
Definition at line 5868 of file nlp.c. References NULL, and SCIP_Nlp::varubdualvals. Referenced by SCIPgetNLPVarsUbDualsol().
gets array with nonlinear rows of the NLP
Definition at line 5878 of file nlp.c. References SCIP_Nlp::nlrows, and NULL. Referenced by SCIPgetNLPNlRows(), and SCIPgetNLPNlRowsData().
gets current number of nonlinear rows in NLP
Definition at line 5888 of file nlp.c. References SCIP_Nlp::nnlrows, and NULL. Referenced by SCIPgetNLPNlRowsData(), and SCIPgetNNLPNlRows(). gets the NLP solver interface
Definition at line 5898 of file nlp.c. References NULL, and SCIP_Nlp::solver. Referenced by SCIPgetNLPI().
gets the NLP problem in the solver interface
Definition at line 5908 of file nlp.c. References NULL, and SCIP_Nlp::problem. Referenced by SCIPgetNLPI(). indicates whether NLP is currently in diving mode
Definition at line 5918 of file nlp.c. References SCIP_Nlp::indiving, and NULL.
gets solution status of current NLP
Definition at line 5928 of file nlp.c. References NULL, and SCIP_Nlp::solstat. Referenced by SCIPgetNLPSolstat(), SCIPlinkNLPSol(), and SCIPsolLinkNLPSol().
gets termination status of last NLP solve
Definition at line 5938 of file nlp.c. References NULL, and SCIP_Nlp::termstat. Referenced by SCIPgetNLPTermstat().
gives statistics (number of iterations, solving time, ...) of last NLP solve
Definition at line 5948 of file nlp.c. References NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiGetStatistics(), and SCIP_Nlp::solver. Referenced by SCIPgetNLPStatistics(). indicates whether a feasible solution for the current NLP is available thus, returns whether the solution status <= feasible
Definition at line 5965 of file nlp.c. References NULL, SCIP_NLPSOLSTAT_FEASIBLE, and SCIP_Nlp::solstat. Referenced by nlpCalcFracVars(), SCIPcreateNLPSol(), SCIPgetNlRowActivity(), SCIPgetNlRowFeasibility(), SCIPgetNlRowSolActivity(), SCIPgetNlRowSolFeasibility(), SCIPhasNLPSolution(), and SCIPrecalcNlRowActivity().
gets integer parameter of NLP
Definition at line 5975 of file nlp.c. References NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiGetIntPar(), and SCIP_Nlp::solver. Referenced by SCIPgetNLPIntPar().
sets integer parameter of NLP
Definition at line 5992 of file nlp.c. References NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiSetIntPar(), and SCIP_Nlp::solver. Referenced by SCIPsetNLPIntPar().
gets floating point parameter of NLP
Definition at line 6008 of file nlp.c. References NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiGetRealPar(), and SCIP_Nlp::solver. Referenced by SCIPgetNLPRealPar().
sets floating point parameter of NLP
Definition at line 6025 of file nlp.c. References NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiSetRealPar(), and SCIP_Nlp::solver. Referenced by SCIPsetNLPRealPar().
gets string parameter of NLP
Definition at line 6041 of file nlp.c. References NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiGetStringPar(), and SCIP_Nlp::solver. Referenced by SCIPgetNLPStringPar().
sets string parameter of NLP
Definition at line 6058 of file nlp.c. References NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiSetStringPar(), and SCIP_Nlp::solver. Referenced by SCIPsetNLPStringPar(). |