Detailed DescriptionNLP management methods and datastructures. In NLP management, we have to differ between the current NLP and the NLPI problem stored in the NLP solver. All NLP methods affect the current NLP only. Before solving the current NLP with the NLP solver, the NLP solvers data has to be updated to the current NLP with a call to nlpFlush(). Definition in file nlp.c. #include <assert.h> #include <string.h> #include "scip/def.h" #include "scip/set.h" #include "scip/stat.h" #include "scip/intervalarith.h" #include "scip/clock.h" #include "scip/nlp.h" #include "scip/var.h" #include "scip/prob.h" #include "scip/sol.h" #include "scip/event.h" #include "scip/pub_lp.h" #include "scip/pub_message.h" #include "scip/pub_misc.h" #include "nlpi/nlpi.h" #include "nlpi/pub_expr.h" #include "nlpi/struct_expr.h" #include "scip/struct_nlp.h" #include "scip/struct_set.h" #include "scip/struct_scip.h" Go to the source code of this file.
Macro Definition Documentation
name of NLP event handler that catches variable events Definition at line 59 of file nlp.c. Referenced by SCIPnlpCreate(), and SCIPnlpInclude().
description of NLP event handler Definition at line 60 of file nlp.c. Referenced by SCIPnlpInclude().
Function Documentation
returns block memory to use at the current time
Definition at line 41353 of file scip.c. Referenced by applyOfins(), applyVbounds(), checkCurvature(), checkOverloadViaThetaTree(), checkSystemGF2(), checkVarnames(), collectBranchingCands(), consdataAddExprtrees(), copyAndSolveComponent(), createConsFromQuadTerm(), createCoveringProblem(), createExprtreeFromMonomial(), createNlRow(), createStartingData(), createSubSCIP(), createTcliqueGraph(), findCumulativeConss(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateUnderestimatorParallelYFacets(), initAlternativeLP(), initConflictgraph(), initData(), inithashmapandtable(), initImplGraphSOS1(), initPropdata(), initSepaData(), initSepaDataCreateVred(), nodepairqueueCreate(), preprocessCliques(), presoldataInitHashtables(), presolRoundVarsSOS1(), presolveDisaggregate(), presolveFindDuplicates(), readExpression(), readNonlinearExprs(), readPolynomial(), reformMonomial(), reformulate(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeFixedVariables(), removeRedundantConssAndNonzeros(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPARSE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEURINIT(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_READERREAD(), SCIP_DECL_READERWRITE(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPcreateConsBivariate(), SCIPcreateConsLinking(), SCIPcreateConsQuadratic(), SCIPcreateWorstCaseProfile(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrNonlinear(), SCIPincludeDefaultPlugins(), SCIPsetCopyPlugins(), SCIPvisualizeConsCumulative(), SCIPwriteLp(), SCIPwritePip(), searchEcAggrWithCliques(), setUpEvents(), setupProbingSCIP(), solveSubMIP(), solveSubproblem(), splitProblem(), and writeOpbConstraints().
NLP event handler execution method event handling for variable events Definition at line 4932 of file nlp.c. References nlpRemoveFixedVar(), nlpUpdateObjCoef(), nlpUpdateVarBounds(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_BOUNDTIGHTENED, SCIP_EVENTTYPE_OBJCHANGED, SCIP_EVENTTYPE_VARADDED, SCIP_EVENTTYPE_VARDELETED, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIPblkmem(), SCIPdebugMessage, SCIPerrorMessage, SCIPeventGetType(), SCIPeventGetVar(), SCIPnlpAddVar(), SCIPnlpDelVar(), and SCIPvarGetName().
announces, that a row of the NLP was modified adjusts status of current solution calling method has to ensure that change is passed to the NLPI!
Definition at line 3433 of file nlp.c. References SCIP_Nlp::indiving, SCIP_NlRow::nlpindex, NULL, SCIP_CALL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_OKAY, SCIP_Real, SCIPnlrowGetNLPFeasibility(), SCIPsetIsFeasNegative(), and SCIP_Nlp::solstat. Referenced by nlrowConstantChanged(), nlrowExprtreeChanged(), nlrowExprtreeParamChanged(), nlrowLinearCoefChanged(), nlrowQuadElemChanged(), and nlrowSideChanged().
returns variables of expression tree
Definition at line 101 of file nlp.c. References NULL, and SCIP_ExprTree::vars. Referenced by addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConcaveEstimatorUnivariate(), addIntervalGradientEstimator(), addLinearization(), addUserEstimator(), checkCurvature(), computeViolation(), consdataAddExprtrees(), generate1ConvexIndefiniteUnderestimator(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateConvexConcaveEstimator(), generateConvexConcaveUnderestimator(), generateCut(), generateEstimatingHyperplane(), generateLinearizationCut(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateOverestimatingHyperplaneCut(), generateUnderestimatorParallelYFacets(), getGradientMaxElement(), getLinearAndQuadraticCoefs(), initSepaData(), isConvexLocal(), nlpAddNlRows(), nlpSetupNlpiIndices(), nlrowCalcActivityBounds(), nlrowExprtreeChanged(), printNonlinearRow(), printRowNl(), processNlRow(), readObjective(), registerBranchingVariables(), registerLargeLPValueVariableForBranching(), removeFixedVariables(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSEXITPRE(), SCIP_DECL_CONSGETVARS(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTEXEC(), SCIPcreateConsBivariate(), SCIPevalExprtreeGlobalBounds(), SCIPevalExprtreeLocalBounds(), SCIPevalExprtreeSol(), SCIPgetExprtreeTransformedVars(), SCIPnlpGetVarsNonlinearity(), SCIPnlpHasContinuousNonlinearity(), SCIPnlrowGetSolActivity(), SCIPnlrowRecalcNLPActivity(), SCIPnlrowRecalcPseudoActivity(), and SCIPwritePip().
stores array of variables in expression tree
Definition at line 111 of file nlp.c. References SCIP_ExprTree::blkmem, BMScopyMemoryArray, BMSduplicateBlockMemoryArray, BMSfreeBlockMemoryArrayNull, BMSreallocBlockMemoryArray, NULL, SCIP_ExprTree::nvars, SCIP_ALLOC, SCIP_OKAY, and SCIP_ExprTree::vars. Referenced by createConsFromQuadTerm(), createExprtreeFromMonomial(), createNlRow(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), initSepaData(), readNonlinearExprs(), readPolynomial(), removeFixedVariables(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSPARSE(), SCIP_DECL_CONSTRANS(), and SCIPwritePip().
adds variables to the expression tree variables array
Definition at line 143 of file nlp.c. References SCIP_ExprTree::blkmem, BMScopyMemoryArray, BMSduplicateBlockMemoryArray, BMSreallocBlockMemoryArray, NULL, SCIP_ExprTree::nvars, SCIP_ALLOC, SCIP_OKAY, and SCIP_ExprTree::vars. Referenced by createNlRow(), and SCIPexprtreeRemoveFixedVars().
prints an expression tree using variable names from variables array
Definition at line 172 of file nlp.c. References BMSallocMemoryArray, BMSfreeMemoryArray, NULL, SCIP_ExprTree::nvars, SCIP_ALLOC, SCIP_OKAY, SCIPexprtreePrint(), SCIPvarGetName(), and SCIP_ExprTree::vars. Referenced by checkCurvature(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateConvexConcaveUnderestimator(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateUnderestimatorParallelYFacets(), readPolynomial(), SCIP_DECL_CONSPRINT(), and SCIPnlrowPrint().
searches the variables array of an expression tree for a variable and returns its position, or -1 if not found Note that this is an O(n) operation!
Definition at line 205 of file nlp.c. References NULL, SCIP_ExprTree::nvars, and SCIP_ExprTree::vars. Referenced by nlpDelVarPos(), and nlrowRemoveFixedVar().
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().
announces, that the given linear coefficient in the constraint matrix changed
Definition at line 491 of file nlp.c. References SCIP_NlRow::activity, SCIP_NlRow::maxactivity, SCIP_NlRow::minactivity, SCIP_NlRow::nlpiindex, SCIP_NlRow::nlpindex, nlpRowChanged(), NULL, SCIP_Nlp::problem, SCIP_NlRow::pseudoactivity, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnlpiChgLinearCoefs(), SCIP_Nlp::solver, SCIP_NlRow::validactivitybdsdomchg, SCIP_NlRow::validactivitynlp, SCIP_NlRow::validpsactivitydomchg, SCIP_Nlp::varhash, and SCIP_Nlp::varmap_nlp2nlpi. Referenced by nlrowAddLinearCoef(), nlrowChgLinearCoefPos(), nlrowDelLinearCoefPos(), and nlrowRemoveFixedLinearCoefPos().
announces, that an element in the quadratic part of a nonlinear row changed
Definition at line 541 of file nlp.c. References SCIP_NlRow::activity, SCIP_QuadElement::coef, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_NlRow::maxactivity, SCIP_NlRow::minactivity, SCIP_NlRow::nlpiindex, SCIP_NlRow::nlpindex, nlpRowChanged(), SCIP_NlRow::nquadvars, NULL, SCIP_Nlp::nvars, SCIP_Nlp::nvars_solver, SCIP_Nlp::problem, SCIP_NlRow::pseudoactivity, SCIP_NlRow::quadvars, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnlpiChgQuadCoefs(), SCIP_Nlp::solver, SCIP_NlRow::validactivitybdsdomchg, SCIP_NlRow::validactivitynlp, SCIP_NlRow::validpsactivitydomchg, SCIP_Nlp::varhash, and SCIP_Nlp::varmap_nlp2nlpi. Referenced by nlrowAddQuadElement(), nlrowChgQuadElemPos(), and nlrowDelQuadElemPos().
announces, that an expression tree changed
Definition at line 614 of file nlp.c. References SCIP_NlRow::activity, SCIP_NlRow::exprtree, SCIP_NlRow::maxactivity, SCIP_NlRow::minactivity, SCIP_NlRow::nlpiindex, SCIP_NlRow::nlpindex, nlpRowChanged(), NULL, SCIP_Nlp::problem, SCIP_NlRow::pseudoactivity, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnlpiChgExprtree(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarIsActive(), SCIP_Nlp::solver, SCIP_NlRow::validactivitybdsdomchg, SCIP_NlRow::validactivitynlp, SCIP_NlRow::validpsactivitydomchg, SCIP_Nlp::varhash, and SCIP_Nlp::varmap_nlp2nlpi. Referenced by nlrowRemoveFixedExprtreeVars(), and SCIPnlrowChgExprtree().
announces, that a parameter in an expression tree has changed
Definition at line 681 of file nlp.c. References SCIP_NlRow::activity, SCIP_NlRow::exprtree, SCIP_NlRow::maxactivity, SCIP_NlRow::minactivity, SCIP_NlRow::nlpiindex, SCIP_NlRow::nlpindex, nlpRowChanged(), NULL, SCIP_Nlp::problem, SCIP_NlRow::pseudoactivity, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPexprtreeGetNParams(), SCIPexprtreeGetParamVals(), SCIPnlpiChgNonlinCoef(), SCIP_Nlp::solver, SCIP_NlRow::validactivitybdsdomchg, SCIP_NlRow::validactivitynlp, and SCIP_NlRow::validpsactivitydomchg. Referenced by SCIPnlrowChgExprtreeParam(), and SCIPnlrowChgExprtreeParams().
notifies nonlinear row, that its sides were changed
Definition at line 738 of file nlp.c. References SCIP_NlRow::constant, SCIP_NlRow::lhs, SCIP_NlRow::nlpiindex, SCIP_NlRow::nlpindex, nlpRowChanged(), NULL, SCIP_Nlp::problem, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPnlpiChgConsSides(), SCIPsetIsInfinity(), and SCIP_Nlp::solver. Referenced by SCIPnlrowChgLhs(), and SCIPnlrowChgRhs().
notifies nonlinear row, that its constant was changed
Definition at line 776 of file nlp.c. References SCIP_NlRow::activity, SCIP_NlRow::constant, SCIP_NlRow::lhs, SCIP_NlRow::maxactivity, SCIP_NlRow::minactivity, SCIP_NlRow::nlpiindex, SCIP_NlRow::nlpindex, nlpRowChanged(), NULL, SCIP_Nlp::problem, SCIP_NlRow::pseudoactivity, SCIP_NlRow::rhs, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPnlpiChgConsSides(), SCIPsetIsInfinity(), SCIP_Nlp::solver, SCIP_NlRow::validactivitybdsdomchg, SCIP_NlRow::validactivitynlp, and SCIP_NlRow::validpsactivitydomchg. Referenced by nlrowAddToLinearCoef(), nlrowRemoveFixedLinearCoefPos(), nlrowRemoveFixedQuadVars(), and SCIPnlrowChgConstant().
sorts linear part of row entries such that lower variable indices precede higher ones
Definition at line 822 of file nlp.c. References SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::linvarssorted, SCIP_NlRow::nlinvars, NULL, SCIPsortPtrReal(), and TRUE. Referenced by nlrowSearchLinearCoef().
searches linear variable in nonlinear row, returns position in linvars vector or -1 if not found
Definition at line 840 of file nlp.c. References SCIP_NlRow::linvars, SCIP_NlRow::nlinvars, nlrowSortLinear(), NULL, and SCIPsortedvecFindPtr(). Referenced by nlpDelVarPos(), nlrowAddToLinearCoef(), nlrowRemoveFixedVar(), SCIPnlrowChgLinearCoef(), and SCIPnlrowDelLinearCoef().
moves a coefficient in a nonlinear row to a different place, and updates all corresponding data structures
Definition at line 862 of file nlp.c. References FALSE, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::linvarssorted, and NULL. Referenced by nlrowDelLinearCoefPos(), and nlrowRemoveFixedLinearCoefPos().
adds a previously non existing linear coefficient to a nonlinear row
Definition at line 885 of file nlp.c. References FALSE, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::linvarssorted, SCIP_NlRow::name, SCIP_NlRow::nlinvars, SCIP_NlRow::nlpindex, nlrowLinearCoefChanged(), NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPnlrowEnsureLinearSize(), SCIPsetIsZero(), SCIPvarCompare(), SCIPvarGetName(), and SCIPvarIsActive(). Referenced by nlrowAddToLinearCoef(), nlrowRemoveFixedLinearCoefPos(), SCIPnlrowAddLinearCoef(), and SCIPnlrowChgLinearCoef().
adds a linear coefficient to a nonlinear row if the variable exists in the linear part of the row already, the coefficients are added otherwise the variable is added to the row
Definition at line 932 of file nlp.c. References SCIP_NlRow::constant, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, nlrowAddLinearCoef(), nlrowConstantChanged(), nlrowSearchLinearCoef(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetIsZero(), SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarIsActive(), and TRUE. Referenced by nlrowRemoveFixedQuadVars().
deletes coefficient at given position from row
Definition at line 1009 of file nlp.c. References FALSE, SCIP_NlRow::linvars, SCIP_NlRow::linvarssorted, SCIP_NlRow::nlinvars, nlrowLinearCoefChanged(), nlrowMoveLinearCoef(), NULL, SCIP_CALL, and SCIP_OKAY. Referenced by nlrowChgLinearCoefPos(), nlrowRemoveFixedLinearCoefPos(), and SCIPnlrowDelLinearCoef().
changes a coefficient at given position of a nonlinear row
Definition at line 1038 of file nlp.c. References SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, nlrowDelLinearCoefPos(), nlrowLinearCoefChanged(), NULL, SCIP_CALL, SCIP_OKAY, SCIPsetIsEQ(), and SCIPsetIsZero(). Referenced by SCIPnlrowChgLinearCoef().
sets up the variable hash for quadratic variables, if the number of variables exceeds some given threshold
Definition at line 1068 of file nlp.c. References SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::quadvars, SCIP_NlRow::quadvarshash, SCIP_CALL, SCIP_OKAY, SCIPcalcHashtableSize(), SCIPhashmapCreate(), and SCIPhashmapInsert(). Referenced by SCIPnlrowAddQuadVar(), and SCIPnlrowCreate().
sorts quadratic part of row entries
Definition at line 1094 of file nlp.c. References SCIP_NlRow::nquadelems, NULL, SCIP_NlRow::quadelems, SCIP_NlRow::quadelemssorted, SCIPquadelemSort(), and TRUE. Referenced by nlrowSearchQuadElem().
searches quadratic elements in nonlinear row, returns position of given index pair in quadelems array or -1 if not found
Definition at line 1113 of file nlp.c. References nlrowSortQuadElem(), SCIP_NlRow::nquadelems, NULL, SCIP_NlRow::quadelems, and SCIPquadelemSortedFind(). Referenced by SCIPnlrowChgQuadElem(), and SCIPnlrowDelQuadElement().
moves a quadratic element in a nonlinear row to a different place, and updates all corresponding data structures
Definition at line 1136 of file nlp.c. References FALSE, NULL, SCIP_NlRow::quadelems, and SCIP_NlRow::quadelemssorted. Referenced by nlrowDelQuadElemPos().
adds a previously non existing quadratic element to a nonlinear row
Definition at line 1157 of file nlp.c. References SCIP_QuadElement::coef, FALSE, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_NlRow::name, nlrowQuadElemChanged(), SCIP_NlRow::nquadelems, SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::quadelems, SCIP_NlRow::quadelemssorted, SCIP_NlRow::quadvars, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPnlrowEnsureQuadElementsSize(), SCIPsetIsZero(), and SCIPvarGetName(). Referenced by SCIPnlrowAddQuadElement(), and SCIPnlrowChgQuadElem().
deletes coefficient at given position from row
Definition at line 1202 of file nlp.c. References SCIP_QuadElement::coef, FALSE, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, nlrowMoveQuadElement(), nlrowQuadElemChanged(), SCIP_NlRow::nquadelems, NULL, SCIP_NlRow::quadelems, SCIP_NlRow::quadelemssorted, SCIP_CALL, SCIP_OKAY, and SCIPdebugMessage. Referenced by nlrowChgQuadElemPos(), nlrowRemoveFixedQuadVars(), and SCIPnlrowDelQuadElement().
changes a coefficient at given position of quadratic element in nonlinear row
Definition at line 1234 of file nlp.c. References SCIP_QuadElement::coef, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, nlrowDelQuadElemPos(), nlrowQuadElemChanged(), NULL, SCIP_NlRow::quadelems, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPsetIsEQ(), and SCIPsetIsZero(). Referenced by SCIPnlrowChgQuadElem().
calculates minimal and maximal activity of row w.r.t. the variable's bounds
Definition at line 1265 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::maxactivity, SCIP_NlRow::minactivity, SCIP_NlRow::nlinvars, SCIP_NlRow::nquadelems, NULL, SCIP_NlRow::quadelems, SCIP_NlRow::quadvars, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPexprtreeEvalInt(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPintervalAdd(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPintervalIsEntire(), SCIPintervalMulScalar(), SCIPintervalQuad(), SCIPintervalSet(), SCIPintervalSetBounds(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and SCIP_NlRow::validactivitybdsdomchg. Referenced by SCIPnlrowGetActivityBounds().
makes sure that there is no fixed variable at position pos of the linear part of a nonlinear row a fixed variable is replaced with the corresponding constant or disaggregated term
Definition at line 1357 of file nlp.c. References SCIP_NlRow::constant, FALSE, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::linvarssorted, SCIP_NlRow::nlinvars, nlrowAddLinearCoef(), nlrowConstantChanged(), nlrowDelLinearCoefPos(), nlrowLinearCoefChanged(), nlrowMoveLinearCoef(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPnlrowEnsureLinearSize(), SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), and SCIPvarIsActive(). Referenced by nlrowRemoveFixedLinearCoefs(), and nlrowRemoveFixedVar().
removes fixed variables from the linear part of a nonlinear row
Definition at line 1457 of file nlp.c. References SCIP_NlRow::linvars, MIN, SCIP_NlRow::nlinvars, nlrowRemoveFixedLinearCoefPos(), NULL, SCIP_CALL, and SCIP_OKAY. Referenced by SCIPnlrowRemoveFixedVars().
removes fixed quadratic variables of a nonlinear row by replacing them with the corresponding constant or disaggregated terms
Definition at line 1483 of file nlp.c. References BMSclearMemoryArray, BMSfreeBlockMemoryArray, SCIP_QuadElement::coef, SCIP_NlRow::constant, FALSE, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, MAX, MIN, nlrowAddToLinearCoef(), nlrowConstantChanged(), nlrowDelQuadElemPos(), SCIP_NlRow::nquadelems, SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::quadelems, SCIP_NlRow::quadelemssize, SCIP_NlRow::quadelemssorted, SCIP_NlRow::quadvars, SCIP_NlRow::quadvarshash, SCIP_NlRow::quadvarssize, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPdebugMessage, SCIPhashmapFree(), SCIPhashmapRemove(), SCIPhashmapSetImage(), SCIPnlrowAddQuadElement(), SCIPnlrowAddQuadVar(), SCIPnlrowSearchQuadVar(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetName(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarIsActive(), TRUE, and BMS_BufMem::used. Referenced by nlrowRemoveFixedVar(), and SCIPnlrowRemoveFixedVars().
removes fixed variables from expression tree of a nonlinear row
Definition at line 1917 of file nlp.c. References SCIP_NlRow::constant, SCIP_NlRow::exprtree, nlrowExprtreeChanged(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPexprtreeEval(), SCIPexprtreeFree(), SCIPexprtreeGetNParams(), SCIPexprtreeGetNVars(), SCIPexprtreeRemoveFixedVars(), and SCIPnlrowChgConstant(). Referenced by nlrowRemoveFixedVar(), and SCIPnlrowRemoveFixedVars().
removes fixed variable from nonlinear row
Definition at line 1950 of file nlp.c. References SCIP_NlRow::exprtree, nlrowRemoveFixedExprtreeVars(), nlrowRemoveFixedLinearCoefPos(), nlrowRemoveFixedQuadVars(), nlrowSearchLinearCoef(), NULL, SCIP_CALL, SCIP_OKAY, SCIPexprtreeFindVar(), SCIPnlrowSearchQuadVar(), and SCIPvarIsActive(). Referenced by nlpRemoveFixedVar().
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 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 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
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().
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().
gets constant
Definition at line 3225 of file nlp.c. References SCIP_NlRow::constant, and NULL. Referenced by nlrowaggrCreate().
gets number of variables of linear part
Definition at line 3235 of file nlp.c. References SCIP_NlRow::nlinvars, and NULL. Referenced by nlrowaggrCreate().
gets array with variables of linear part
Definition at line 3245 of file nlp.c. References SCIP_NlRow::linvars, and NULL. Referenced by nlrowaggrCreate().
gets array with coefficients in linear part
Definition at line 3255 of file nlp.c. References SCIP_NlRow::lincoefs, and NULL. Referenced by nlrowaggrCreate().
gets number of quadratic variables in quadratic part
Definition at line 3265 of file nlp.c. References SCIP_NlRow::nquadvars, and NULL. Referenced by createMIP(), createTcliqueGraph(), findAndStoreEcAggregations(), isCandidate(), nlrowaggrCreate(), SCIPaddQuadVarsToNlRow(), searchEcAggr(), and searchEcAggrWithCliques().
gets quadratic variables in quadratic part
Definition at line 3275 of file nlp.c. References NULL, and SCIP_NlRow::quadvars. Referenced by computeInteriorPoint(), createMIP(), createTcliqueGraph(), isCandidate(), nlrowaggrCreate(), processNlRow(), and searchEcAggr().
gives position of variable in quadvars array of row, or -1 if not found
Definition at line 3285 of file nlp.c. References SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::quadvars, SCIP_NlRow::quadvarshash, SCIPhashmapExists(), and SCIPhashmapGetImage(). Referenced by createNlRow(), nlpDelVarPos(), nlrowRemoveFixedQuadVars(), nlrowRemoveFixedVar(), and SCIPnlrowAddQuadVar().
gets number of quadratic elements in quadratic part
Definition at line 3312 of file nlp.c. References SCIP_NlRow::nquadelems, and NULL. Referenced by computeInteriorPoint(), createMIP(), createTcliqueGraph(), isCandidate(), nlrowaggrCreate(), processNlRow(), SCIPaddQuadElementsToNlRow(), searchEcAggr(), searchEcAggrWithCliques(), storeAggrFromMIP(), and updateMIP().
gets quadratic elements in quadratic part
Definition at line 3322 of file nlp.c. References NULL, and SCIP_NlRow::quadelems. Referenced by computeInteriorPoint(), createMIP(), createTcliqueGraph(), isCandidate(), nlrowaggrCreate(), processNlRow(), searchEcAggrWithCliques(), storeAggrFromMIP(), and updateMIP().
gets array with coefficients in linear part
Definition at line 3332 of file nlp.c. References SCIP_NlRow::nquadelems, SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::quadelems, and SCIP_NlRow::quadvars.
gets expression tree
Definition at line 3353 of file nlp.c. References SCIP_NlRow::exprtree, and NULL. Referenced by isCandidate(), and processNlRow().
returns the left hand side of a nonlinear row
Definition at line 3363 of file nlp.c. References SCIP_NlRow::lhs, and NULL. Referenced by findAndStoreEcAggregations(), isCandidate(), nlrowaggrCreate(), and processNlRow().
returns the right hand side of a nonlinear row
Definition at line 3373 of file nlp.c. References NULL, and SCIP_NlRow::rhs. Referenced by findAndStoreEcAggregations(), isCandidate(), nlrowaggrCreate(), and processNlRow().
returns the name of a nonlinear row
Definition at line 3383 of file nlp.c. References SCIP_NlRow::name, and NULL. Referenced by processNlRow().
gets position of a nonlinear row in current NLP, or -1 if not in NLP
Definition at line 3393 of file nlp.c. References SCIP_NlRow::nlpindex, and NULL.
returns TRUE iff row is member of current NLP
Definition at line 3403 of file nlp.c. References SCIP_NlRow::nlpindex, and NULL. Referenced by computeCut(), isCandidate(), and isPossibleToComputeCut().
gets the dual NLP solution of a nlrow for a ranged constraint, the dual value is positive if the right hand side is active and negative if the left hand side is active
Definition at line 3415 of file nlp.c. References SCIP_NlRow::dualsol, SCIP_NlRow::nlpiindex, and NULL. Referenced by SCIPapplyHeurDualval().
adds a set of nonlinear rows to the NLP and captures them
Definition at line 3468 of file nlp.c. References SCIP_NlRow::exprtree, SCIP_Nlp::indiving, SCIP_NlRow::linvars, SCIP_NlRow::nlinvars, SCIP_NlRow::nlpiindex, SCIP_NlRow::nlpindex, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, SCIP_NlRow::nquadvars, NULL, SCIP_Nlp::nunflushednlrowadd, SCIP_NlRow::quadvars, SCIP_CALL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_NLPSOLSTAT_UNBOUNDED, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_OKAY, SCIP_Real, SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPhashmapExists(), SCIPnlpEnsureNlRowsSize(), SCIPnlrowCapture(), SCIPnlrowGetNLPFeasibility(), SCIPnlrowRemoveFixedVars(), SCIPsetIsFeasNegative(), SCIP_Nlp::solstat, and SCIP_Nlp::varhash. Referenced by SCIPnlpAddNlRow(), and SCIPnlpAddNlRows().
moves a nonlinear row to a different place, and updates all corresponding data structures
Definition at line 3555 of file nlp.c. References SCIP_NlRow::nlpindex, SCIP_Nlp::nlrows, and NULL. Referenced by nlpDelNlRowPos().
deletes nonlinear row with given position from NLP
Definition at line 3575 of file nlp.c. References SCIP_Nlp::indiving, SCIP_NlRow::nlpiindex, SCIP_NlRow::nlpindex, nlpMoveNlrow(), SCIP_Nlp::nlrowmap_nlpi2nlp, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, SCIP_Nlp::nnlrows_solver, NULL, SCIP_Nlp::nunflushednlrowadd, SCIP_Nlp::nunflushednlrowdel, SCIP_CALL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_GLOBINFEASIBLE, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_NLPSOLSTAT_LOCOPT, SCIP_OKAY, SCIPnlrowRelease(), and SCIP_Nlp::solstat. Referenced by SCIPnlpDelNlRow(), SCIPnlpRemoveRedundantNlRows(), and SCIPnlpReset().
updates bounds on a variable in the NLPI problem
Definition at line 3628 of file nlp.c. References SCIP_Nlp::indiving, NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_NLPSOLSTAT_UNBOUNDED, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_OKAY, SCIP_Real, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnlpiChgVarBounds(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsInfinity(), SCIPvarGetLbLocal(), SCIPvarGetNLPSol(), SCIPvarGetUbLocal(), SCIP_Nlp::solstat, SCIP_Nlp::solver, SCIP_Nlp::varhash, and SCIP_Nlp::varmap_nlp2nlpi. Referenced by SCIP_DECL_EVENTEXEC().
updates coefficient of a variable in the objective
Definition at line 3687 of file nlp.c. References FALSE, SCIP_Nlp::indiving, NULL, SCIP_Nlp::objflushed, SCIP_Nlp::problem, SCIP_CALL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_OKAY, SCIP_Real, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnlpiChgLinearCoefs(), SCIPvarGetObj(), SCIP_Nlp::solstat, SCIP_Nlp::solver, SCIP_Nlp::varhash, and SCIP_Nlp::varmap_nlp2nlpi. Referenced by nlpAddVars(), and SCIP_DECL_EVENTEXEC().
adds new variables to the NLP
Definition at line 3748 of file nlp.c. References SCIP_Nlp::eventhdlr, SCIP_Nlp::haveinitguess, SCIP_Nlp::indiving, SCIP_Nlp::initialguess, nlpUpdateObjCoef(), NULL, SCIP_Nlp::nunflushedvaradd, SCIP_Nlp::nvars, SCIP_Nlp::primalsolobjval, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_OBJCHANGED, SCIP_EVENTTYPE_VARFIXED, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_OKAY, SCIPhashmapExists(), SCIPhashmapInsert(), SCIPnlpEnsureVarsSize(), SCIPvarCapture(), SCIPvarCatchEvent(), SCIPvarGetBestBoundLocal(), SCIPvarGetObj(), SCIPvarIsActive(), SCIPvarIsTransformed(), SCIPvarSetNLPSol(), SCIP_Nlp::sizevars, SCIP_Nlp::solstat, SCIP_Nlp::varhash, SCIP_Nlp::varlbdualvals, SCIP_Nlp::varmap_nlp2nlpi, SCIP_Nlp::vars, and SCIP_Nlp::varubdualvals. Referenced by SCIPnlpAddVar(), and SCIPnlpAddVars().
moves a variable to a different place, and updates all corresponding data structures
Definition at line 3827 of file nlp.c. References SCIP_Nlp::initialguess, NULL, SCIP_CALL, SCIP_OKAY, SCIPhashmapSetImage(), SCIP_Nlp::varhash, SCIP_Nlp::varlbdualvals, SCIP_Nlp::varmap_nlp2nlpi, SCIP_Nlp::varmap_nlpi2nlp, SCIP_Nlp::vars, and SCIP_Nlp::varubdualvals. Referenced by nlpDelVarPos().
deletes variable with given position from NLP
Definition at line 3860 of file nlp.c. References SCIP_Nlp::eventhdlr, SCIP_NlRow::exprtree, SCIP_Nlp::indiving, SCIP_NlRow::linvars, SCIP_NlRow::linvarssorted, SCIP_NlRow::nlinvars, nlpMoveVar(), SCIP_Nlp::nlrows, nlrowSearchLinearCoef(), SCIP_Nlp::nnlrows, NULL, SCIP_Nlp::nunflushedvaradd, SCIP_Nlp::nunflushedvardel, SCIP_Nlp::nvars, SCIP_Nlp::primalsolobjval, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_OBJCHANGED, SCIP_EVENTTYPE_VARFIXED, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_UNBOUNDED, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_OKAY, SCIPexprtreeFindVar(), SCIPhashmapRemove(), SCIPnlrowSearchQuadVar(), SCIPvarDropEvent(), SCIPvarGetNLPSol(), SCIPvarGetObj(), SCIPvarRelease(), SCIP_Nlp::solstat, SCIP_Nlp::varhash, SCIP_Nlp::varmap_nlp2nlpi, SCIP_Nlp::varmap_nlpi2nlp, and SCIP_Nlp::vars. Referenced by SCIPnlpDelVar(), and SCIPnlpReset().
notifies NLP that a variable was fixed, so it is removed from objective, all rows, and the NLP variables
Definition at line 3946 of file nlp.c. References SCIP_Nlp::indiving, nlrowRemoveFixedVar(), SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, NULL, SCIP_CALL, SCIP_OKAY, SCIPhashmapExists(), SCIPnlpDelVar(), SCIPvarIsActive(), and SCIP_Nlp::varhash. Referenced by SCIP_DECL_EVENTEXEC().
creates arrays with NLPI variable indices of variables in a nonlinear row
Definition at line 3978 of file nlp.c. References SCIP_QuadElement::coef, SCIP_NlRow::exprtree, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::nlinvars, SCIP_NlRow::nquadelems, SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::quadelems, SCIP_NlRow::quadvars, SCIP_CALL, SCIP_OKAY, SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarIsActive(), SCIP_Nlp::varhash, and SCIP_Nlp::varmap_nlp2nlpi. Referenced by nlpFlushNlRowAdditions().
ensures, that NLPI variables array of NLP can store at least num entries
Definition at line 4093 of file nlp.c. References BMSreallocBlockMemoryArray, NULL, SCIP_Nlp::nvars_solver, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_Nlp::sizevars_solver, and SCIP_Nlp::varmap_nlpi2nlp. Referenced by nlpFlushVarAdditions().
ensures, that NLPI nonlinear rows array of NLP can store at least num entries
Definition at line 4121 of file nlp.c. References BMSreallocBlockMemoryArray, SCIP_Nlp::nlrowmap_nlpi2nlp, SCIP_Nlp::nnlrows_solver, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), and SCIP_Nlp::sizenlrows_solver. Referenced by nlpFlushNlRowAdditions().
deletes rows from the NLPI problem that have been marked as to remove
Definition at line 4149 of file nlp.c. References SCIP_Nlp::indiving, SCIP_NlRow::nlpiindex, SCIP_NlRow::nlpindex, SCIP_Nlp::nlrowmap_nlpi2nlp, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, SCIP_Nlp::nnlrows_solver, NULL, SCIP_Nlp::nunflushednlrowdel, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiDelConsSet(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, and SCIP_Nlp::solver. Referenced by SCIPnlpFlush().
deletes variables from the NLPI problem that have been marked as to remove assumes that there are no pending row deletions (nlpFlushNlRowDeletions should be called first)
Definition at line 4242 of file nlp.c. References SCIP_Nlp::indiving, NULL, SCIP_Nlp::nunflushednlrowdel, SCIP_Nlp::nunflushedvardel, SCIP_Nlp::nvars, SCIP_Nlp::nvars_solver, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiDelVarSet(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIP_Nlp::solver, SCIP_Nlp::varmap_nlp2nlpi, and SCIP_Nlp::varmap_nlpi2nlp. Referenced by SCIPnlpFlush().
adds nonlinear rows to NLPI problem that have been added to NLP before assumes that there are no pending variable additions or deletions (nlpFlushVarDeletions and nlpFlushVarAdditions should be called first)
Definition at line 4336 of file nlp.c. References SCIP_NlRow::constant, SCIP_NlRow::exprtree, SCIP_Nlp::indiving, SCIP_NlRow::lhs, SCIP_NlRow::lincoefs, SCIP_NlRow::name, SCIP_NlRow::nlinvars, nlpEnsureNlRowsSolverSize(), SCIP_NlRow::nlpiindex, nlpSetupNlpiIndices(), SCIP_Nlp::nlrowmap_nlpi2nlp, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, SCIP_Nlp::nnlrows_solver, SCIP_NlRow::nquadelems, SCIP_NlRow::nquadvars, NULL, SCIP_Nlp::nunflushednlrowadd, SCIP_Nlp::nunflushedvaradd, SCIP_Nlp::nunflushedvardel, SCIP_Nlp::problem, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPnlpiAddConstraints(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsEQ(), SCIPsetIsInfinity(), and SCIP_Nlp::solver. Referenced by SCIPnlpFlush().
adds variables to NLPI problem that have been added to NLP before may set nlp->objflushed to FALSE if a variable with nonzero obj.coefficient is added to the NLPI problem
Definition at line 4489 of file nlp.c. References FALSE, SCIP_Nlp::indiving, nlpEnsureVarsSolverSize(), NULL, SCIP_Nlp::nunflushedvaradd, SCIP_Nlp::nvars, SCIP_Nlp::nvars_solver, SCIP_Nlp::objflushed, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPnlpiAddVars(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsZero(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetUbLocal(), SCIP_Nlp::solver, SCIP_Nlp::varmap_nlp2nlpi, SCIP_Nlp::varmap_nlpi2nlp, and SCIP_Nlp::vars. Referenced by SCIPnlpFlush().
updates the objective in the NLPI problem, if necessary assumes that there are no unflushed variable additions or deletions (nlpFlushVarDeletions and nlpFlushVarAdditions should be called first)
Definition at line 4577 of file nlp.c. References SCIP_Nlp::indiving, NULL, SCIP_Nlp::nunflushedvaradd, SCIP_Nlp::nunflushedvardel, SCIP_Nlp::nvars_solver, SCIP_Nlp::objflushed, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPnlpiSetObjective(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsZero(), SCIPvarGetObj(), SCIP_Nlp::solver, TRUE, SCIP_Nlp::varmap_nlpi2nlp, and SCIP_Nlp::vars. Referenced by SCIPnlpFlush().
solves the NLP, assuming it has been flushed already is used also to solve diving NLP
Definition at line 4639 of file nlp.c. References BMSclearMemoryArray, SCIP_Nlp::divingobj, SCIP_NlRow::dualsol, SCIP_Nlp::haveinitguess, SCIP_Nlp::indiving, SCIP_Nlp::initialguess, SCIP_NlRow::nlpiindex, SCIP_Stat::nlpsoltime, SCIP_Nlp::nlrows, SCIP_Stat::nnlps, SCIP_Nlp::nnlrows, NULL, SCIP_Nlp::nvars, SCIP_Nlp::nvars_solver, SCIP_Nlp::primalsolobjval, SCIP_Nlp::problem, SCIP_CALL, SCIP_INVALID, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_GLOBOPT, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_NLPSOLSTAT_LOCOPT, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_OTHER, SCIP_OKAY, SCIP_Real, SCIPclockStart(), SCIPclockStop(), SCIPmessagePrintWarning(), SCIPnlpiGetSolstat(), SCIPnlpiGetSolution(), SCIPnlpiGetTermstat(), SCIPnlpiSetInitialGuess(), SCIPnlpiSolve(), SCIPnlrowGetNLPActivity(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetObj(), SCIPvarSetNLPSol(), SCIP_Nlp::solstat, SCIP_Nlp::solver, SCIP_Nlp::termstat, SCIP_Nlp::varlbdualvals, SCIP_Nlp::varmap_nlp2nlpi, SCIP_Nlp::varmap_nlpi2nlp, SCIP_Nlp::vars, and SCIP_Nlp::varubdualvals. Referenced by SCIPnlpSolve(), and SCIPnlpSolveDive().
assembles list of fractional variables in last NLP solution
Definition at line 4786 of file nlp.c. References BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_Nlp::fracvars, SCIP_Nlp::fracvarsfrac, SCIP_Nlp::fracvarssize, SCIP_Nlp::fracvarssol, SCIP_Nlp::nfracvars, SCIP_Stat::nnlps, SCIP_Nlp::npriofracvars, NULL, SCIP_Nlp::nvars, SCIP_ALLOC, SCIP_INVALID, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPdebugMessage, SCIPnlpHasSolution(), SCIPsetCalcMemGrowSize(), SCIPsetFeasFrac(), SCIPsetIsFeasFracIntegral(), SCIPvarGetBranchPriority(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNLPSol(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIP_Nlp::solstat, SCIP_Nlp::validfracvars, and SCIP_Nlp::vars. Referenced by SCIPnlpGetFracVars().
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(). 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().
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(). |