|
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed Descriptionconstraint handler for nonlinear constraints Definition in file cons_nonlinear.c. #include <assert.h>#include <math.h>#include <string.h>#include <ctype.h>#include "scip/cons_nonlinear.h"#include "scip/cons_linear.h"#include "scip/heur_trysol.h"#include "scip/heur_subnlp.h"#include "nlpi/exprinterpret.h"#include "scip/debug.h"Go to the source code of this file.
Macro Definition Documentation
Definition at line 37 of file cons_nonlinear.c. Referenced by SCIP_DECL_CONSEXITSOL(), SCIP_DECL_CONSINITSOL(), SCIPcreateConsNonlinear(), SCIPcreateConsNonlinear2(), SCIPincludeConshdlrNonlinear(), and SCIPincludeNonlinconsUpgrade().
Definition at line 38 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
priority of the constraint handler for separation Definition at line 39 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
priority of the constraint handler for constraint enforcing Definition at line 40 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
priority of the constraint handler for checking feasibility Definition at line 41 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
frequency for separating cuts; zero means to separate only in the root node Definition at line 42 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
frequency for propagating domains; zero means only preprocessing propagation Definition at line 43 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
frequency for using all instead of only the useful constraints in separation, propagation and enforcement, -1 for no eager evaluations, 0 for first only Definition at line 44 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
maximal number of presolving rounds the constraint handler participates in (-1: no limit) Definition at line 47 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
should separation method be delayed, if other separators found cuts? Definition at line 48 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
should propagation method be delayed, if other propagators found reductions? Definition at line 49 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
should the constraint handler be skipped, if no constraints are available? Definition at line 50 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
propagation timing mask of the constraint handler Definition at line 52 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
presolving timing of the constraint handler (fast, medium, or exhaustive) Definition at line 53 of file cons_nonlinear.c. Referenced by SCIPincludeConshdlrNonlinear().
value for infinity in interval operations Definition at line 55 of file cons_nonlinear.c. Referenced by addIntervalGradientEstimator(), addUserEstimator(), checkCurvature(), consdataUpdateLinearActivity(), consdataUpdateLinearActivityLbChange(), consdataUpdateLinearActivityUbChange(), propagateBounds(), propagateBoundsCons(), propagateBoundsTightenVarLb(), propagateBoundsTightenVarUb(), propagateConstraintSides(), reformEnsureChildrenMinCurvature(), reformMonomial(), reformNode2Var(), reformulate(), replaceViolatedByLinearConstraints(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_EVENTEXEC(), and SCIP_DECL_EXPRGRAPHVARADDED().
minimal required bound tightening strength in expression graph domain tightening for propagating bound change Definition at line 56 of file cons_nonlinear.c. Referenced by propagateConstraintSides(), reformEnsureChildrenMinCurvature(), reformMonomial(), reformNode2Var(), and reformulate().
maximal absolute value of variable for still generating a linearization cut at that point in initlp Definition at line 57 of file cons_nonlinear.c. Referenced by SCIP_DECL_CONSINITLP().
translate from one value of infinity to another if val is >= infty1, then give infty2, else give val Definition at line 176 of file cons_nonlinear.c. Referenced by addIntervalGradientEstimator(), addUserEstimator(), checkCurvature(), propagateBoundsCons(), SCIP_DECL_EVENTEXEC(), and SCIP_DECL_EXPRGRAPHVARADDED(). Typedef Documentation
Definition at line 71 of file cons_nonlinear.c.
Definition at line 127 of file cons_nonlinear.c. Function Documentation
Definition at line 180 of file cons_nonlinear.c. References LinVarEventData::consdata, LinVarEventData::conshdlrdata, FALSE, LinVarEventData::filterpos, NULL, SCIP_CALL, SCIP_EVENTTYPE_LBCHANGED, SCIP_EVENTTYPE_UBCHANGED, SCIP_EVENTTYPE_VARFIXED, SCIP_INVALID, SCIP_OKAY, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPcatchVarEvent(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetData(), SCIPconsIsEnabled(), SCIPconsIsTransformed(), SCIPisInfinity(), and LinVarEventData::varidx. Referenced by addLinearCoef(), chgLinearCoefPos(), and SCIP_DECL_CONSENABLE().
Definition at line 250 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_EVENTTYPE_LBCHANGED, SCIP_EVENTTYPE_UBCHANGED, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetData(), SCIPconsIsTransformed(), SCIPdropVarEvent(), SCIPfreeBlockMemory, and SCIPisInfinity(). Referenced by chgLinearCoefPos(), delLinearCoefPos(), and SCIP_DECL_CONSDISABLE().
locks a linear variable in a constraint
Definition at line 307 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPisInfinity(), and SCIPlockVarCons(). Referenced by addLinearCoef(), and chgLinearCoefPos().
unlocks a linear variable in a constraint
Definition at line 338 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPisInfinity(), and SCIPunlockVarCons(). Referenced by chgLinearCoefPos(), and delLinearCoefPos().
computes the minimal and maximal activity for the linear part in a constraint data only sums up terms that contribute finite values gives the number of terms that contribute infinite values only computes those activities where the corresponding side of the constraint is finite
Definition at line 373 of file cons_nonlinear.c. References INTERVALINFTY, NULL, SCIP_INVALID, SCIP_Real, SCIPintervalGetRoundingMode(), SCIPintervalSetRoundingMode(), SCIPintervalSetRoundingModeDownwards(), SCIPintervalSetRoundingModeUpwards(), SCIPisInfinity(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by propagateBoundsCons().
update the linear activities after a change in the lower bound of a variable
Definition at line 483 of file cons_nonlinear.c. References INTERVALINFTY, NULL, SCIP_INVALID, SCIPintervalGetRoundingMode(), SCIPintervalNegateReal(), SCIPintervalSetRoundingMode(), SCIPintervalSetRoundingModeDownwards(), SCIPintervalSetRoundingModeUpwards(), and SCIPisInfinity(). Referenced by SCIP_DECL_EVENTEXEC().
update the linear activities after a change in the upper bound of a variable
Definition at line 580 of file cons_nonlinear.c. References INTERVALINFTY, NULL, SCIP_INVALID, SCIPintervalGetRoundingMode(), SCIPintervalNegateReal(), SCIPintervalSetRoundingMode(), SCIPintervalSetRoundingModeDownwards(), SCIPintervalSetRoundingModeUpwards(), and SCIPisInfinity(). Referenced by SCIP_DECL_EVENTEXEC().
processes variable fixing or bound change event Definition at line 676 of file cons_nonlinear.c. References consdataUpdateLinearActivityLbChange(), consdataUpdateLinearActivityUbChange(), FALSE, NULL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_BOUNDTIGHTENED, SCIP_EVENTTYPE_LBCHANGED, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIPeventGetNewbound(), SCIPeventGetOldbound(), and SCIPeventGetType().
processes bound change events for variables in expression graph Definition at line 722 of file cons_nonlinear.c. References FALSE, infty2infty, INTERVALINFTY, NULL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_BOUNDTIGHTENED, SCIP_EVENTTYPE_LBCHANGED, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPepsilon(), SCIPeventGetNewbound(), SCIPeventGetOldbound(), SCIPeventGetType(), SCIPeventGetVar(), SCIPeventhdlrGetData(), SCIPexprgraphSetVarNodeLb(), SCIPexprgraphSetVarNodeUb(), SCIPinfinity(), and SCIPvarGetName().
callback method for variable addition in expression graph Definition at line 785 of file cons_nonlinear.c. References FALSE, infty2infty, INTERVALINFTY, MAX, MIN, NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIPaddVarLocks(), SCIPcaptureVar(), SCIPcatchVarEvent(), SCIPdebugMessage, SCIPexprgraphSetVarNodeBounds(), SCIPinfinity(), SCIPintervalSetBounds(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and SCIPvarIsActive().
callback method for variable removal in expression graph Definition at line 826 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIPaddVarLocks(), SCIPdebugMessage, SCIPdropVarEvent(), SCIPreleaseVar(), and SCIPvarGetName().
Definition at line 855 of file cons_nonlinear.c. References FALSE, NULL, SCIP_CALL, SCIP_EXPRCURV_UNKNOWN, SCIP_INVALID, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPblkmem(), SCIPexprtreeCopy(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPreallocBlockMemoryArray, and SCIPreleaseNlRow(). Referenced by consdataSetExprtrees(), and SCIPaddExprtreesNonlinear().
Definition at line 928 of file cons_nonlinear.c. References consdataAddExprtrees(), FALSE, NULL, SCIP_CALL, SCIP_EXPRCURV_LINEAR, SCIP_INVALID, SCIP_OKAY, SCIPexprtreeFree(), SCIPfreeBlockMemoryArray, SCIPreleaseNlRow(), and TRUE. Referenced by consdataCreate(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSDEACTIVE(), SCIP_DECL_CONSEXITPRE(), SCIP_DECL_CONSINITPRE(), SCIPcreateConsNonlinear(), and SCIPsetExprtreesNonlinear().
ensures, that linear vars and coefs arrays can store at least num entries
Definition at line 978 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), and SCIPreallocBlockMemoryArray. Referenced by addLinearCoef(), removeFixedLinearVariables(), SCIPcreateConsNonlinear(), and SCIPcreateConsNonlinear2().
creates constraint data structure
Definition at line 1008 of file cons_nonlinear.c. References BMSclearMemory, consdataSetExprtrees(), NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPallocBlockMemory, SCIPcaptureVar(), SCIPduplicateBlockMemoryArray, SCIPisInfinity(), and TRUE. Referenced by SCIP_DECL_CONSTRANS().
creates empty constraint data structure
Definition at line 1076 of file cons_nonlinear.c. References BMSclearMemory, NULL, SCIP_CALL, SCIP_EXPRCURV_LINEAR, SCIP_INVALID, SCIP_OKAY, SCIPallocBlockMemory, SCIPinfinity(), and TRUE. Referenced by SCIPcreateConsNonlinear(), and SCIPcreateConsNonlinear2().
frees constraint data structure
Definition at line 1114 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPexprtreeFree(), SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, SCIPfreeBlockMemoryArrayNull, SCIPreleaseNlRow(), and SCIPreleaseVar(). Referenced by SCIP_DECL_CONSDELETE().
sorts linear part of constraint data
Definition at line 1174 of file cons_nonlinear.c. References NULL, SCIPsortPtrPtrReal(), SCIPsortPtrReal(), and TRUE. Referenced by mergeAndCleanLinearVars().
moves a linear variable from one position to another
Definition at line 1236 of file cons_nonlinear.c. Referenced by delLinearCoefPos().
adds linear coefficient in nonlinear constraint
Definition at line 1269 of file cons_nonlinear.c. References catchLinearVarEvents(), consdataEnsureLinearVarsSize(), FALSE, lockLinearVariable(), NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPcaptureVar(), SCIPconsGetData(), SCIPconsIsEnabled(), SCIPconsIsTransformed(), SCIPgetTransformedVar(), SCIPisZero(), SCIPreleaseNlRow(), SCIPvarCompare(), SCIPvarIsActive(), SCIPvarIsTransformed(), and TRUE. Referenced by removeFixedLinearVariables(), SCIPaddLinearVarNonlinear(), SCIPcreateConsNonlinear(), SCIPcreateConsNonlinear2(), and splitOffLinearPart().
deletes linear coefficient at given position from nonlinear constraint data
Definition at line 1349 of file cons_nonlinear.c. References consdataMoveLinearVar(), dropLinearVarEvents(), FALSE, NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPconsIsEnabled(), SCIPreleaseNlRow(), SCIPreleaseVar(), and unlockLinearVariable(). Referenced by mergeAndCleanLinearVars(), and removeFixedLinearVariables().
changes linear coefficient value at given position of nonlinear constraint
Definition at line 1409 of file cons_nonlinear.c. References catchLinearVarEvents(), dropLinearVarEvents(), FALSE, lockLinearVariable(), NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPconsIsEnabled(), SCIPconsIsLocked(), SCIPconsIsTransformed(), SCIPisZero(), SCIPreleaseNlRow(), SCIPvarIsTransformed(), and unlockLinearVariable(). Referenced by mergeAndCleanLinearVars().
Definition at line 1494 of file cons_nonlinear.c. References chgLinearCoefPos(), consdataSortLinearVars(), delLinearCoefPos(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPisZero(), and TRUE. Referenced by removeFixedLinearVariables(), and SCIP_DECL_CONSEXITPRE().
removes fixes (or aggregated) linear variables from a nonlinear constraint
Definition at line 1553 of file cons_nonlinear.c. References addLinearCoef(), consdataEnsureLinearVarsSize(), delLinearCoefPos(), mergeAndCleanLinearVars(), NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPgetProbvarSum(), SCIPisInfinity(), SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIsActive(), and TRUE. Referenced by SCIP_DECL_CONSEXITPRE(), and SCIP_DECL_CONSPRESOL().
removes fixed variables from expression graph
Definition at line 1673 of file cons_nonlinear.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPconshdlrGetData(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPexprgraphGetNVars(), SCIPexprgraphGetVars(), SCIPexprgraphReplaceVarByLinearSum(), SCIPfreeBufferArray, SCIPgetProbvarLinearSum(), SCIPreallocBufferArray, SCIPvarGetName(), SCIPvarIsActive(), and TRUE. Referenced by SCIP_DECL_CONSEXITPRE(), and SCIP_DECL_CONSPRESOL().
moves constant and linear part from expression graph node into constraint sides and linear part frees expression graph node if expression is constant or linear
Definition at line 1754 of file cons_nonlinear.c. References addLinearCoef(), MAX, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPexprgraphGetNodeNChildren(), SCIPexprgraphNodeSplitOffLinear(), SCIPfreeBufferArray, and SCIPisInfinity(). Referenced by SCIP_DECL_CONSEXITPRE(), and SCIP_DECL_CONSPRESOL().
create a nonlinear row representation of the constraint and stores them in consdata
Definition at line 1821 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPcreateNlRow(), SCIPexprgraphGetTree(), SCIPexprtreeFree(), and SCIPreleaseNlRow(). Referenced by SCIP_DECL_CONSINITSOL(), and SCIPgetNlRowNonlinear().
tries to automatically convert a nonlinear constraint (or a part of it) into a more specific and more specialized constraint
Definition at line 1879 of file cons_nonlinear.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPallocBufferArray, SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsModifiable(), SCIPdebugGetSolVal, SCIPdebugMessage, SCIPdebugPrintCons, SCIPdebugPrintf, SCIPdelCons(), SCIPexprgraphEval(), SCIPexprgraphGetNVars(), SCIPexprgraphGetVars(), SCIPfreeBufferArray, SCIPreallocBufferArray, SCIPreleaseCons(), and TRUE. Referenced by SCIP_DECL_CONSPRESOL().
checks a nonlinear constraint for convexity and/or concavity
Definition at line 1998 of file cons_nonlinear.c. References infty2infty, INTERVALINFTY, MAX, MIN, NULL, SCIP_CALL, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_EXPRCURV_LINEAR, SCIP_EXPRCURV_UNKNOWN, SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPexprcurvAdd(), SCIPexprcurvGetName(), SCIPexprcurvMultiply(), SCIPexprtreeCheckCurvature(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPexprtreePrintWithNames(), SCIPfreeBufferArrayNull, SCIPgetMessagehdlr(), SCIPinfinity(), SCIPintervalSetBounds(), SCIPisInfinity(), SCIPreallocBufferArray, SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), SCIPwarningMessage(), and TRUE. Referenced by addLinearizationCuts(), generateCut(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSSEPALP(), SCIPcheckCurvatureNonlinear(), SCIPgetCurvatureNonlinear(), and SCIPgetExprtreeCurvaturesNonlinear().
Definition at line 2095 of file cons_nonlinear.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPexprgraphCaptureNode(), SCIPexprgraphGetNodeNParents(), SCIPexprgraphMoveNodeParents(), and SCIPexprgraphReleaseNode(). Referenced by reformNode2Var(), and reformulate().
creates a new auxiliary variable and a new auxiliary nonlinear constraint connecting the var and a given node node is replaced by new new auxiliary variables node in all parents of node in expression graph and in all constraints that use node
Definition at line 2149 of file cons_nonlinear.c. References BOUNDTIGHTENING_MINSTRENGTH, FALSE, INTERVALINFTY, NULL, reformReplaceNode(), SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPaddCons(), SCIPaddVar(), SCIPcreateConsNonlinear2(), SCIPcreateVar(), SCIPdebugAddSolVal, SCIPdebugMessage, SCIPexprgraphAddVars(), SCIPexprgraphGetNodeBounds(), SCIPexprgraphGetNodeDepth(), SCIPexprgraphGetNodePosition(), SCIPexprgraphGetNodeVal(), SCIPexprgraphSetVarNodeValue(), SCIPexprgraphTightenNodeBounds(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPmarkDoNotMultaggrVar(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPsnprintf(), and TRUE. Referenced by reformEnsureChildrenMinCurvature(), and reformulate().
ensures that all children of a node have at least a given curvature by adding auxiliary variables
Definition at line 2222 of file cons_nonlinear.c. References BOUNDTIGHTENING_MINSTRENGTH, FALSE, INTERVALINFTY, NULL, reformNode2Var(), SCIP_Bool, SCIP_CALL, SCIP_EXPR_VARIDX, SCIP_EXPRCURV_UNKNOWN, SCIP_OKAY, SCIPdebugMessage, SCIPexprcurvGetName(), SCIPexprgraphGetNodeBounds(), SCIPexprgraphGetNodeChildren(), SCIPexprgraphGetNodeCurvature(), SCIPexprgraphGetNodeDepth(), SCIPexprgraphGetNodeNChildren(), SCIPexprgraphGetNodeOperator(), SCIPexprgraphGetNodePosition(), SCIPexprgraphUpdateNodeBoundsCurvature(), SCIPintervalIsEmpty(), and TRUE. Referenced by reformulate().
reformulates a monomial by adding auxiliary variables and constraints for bilinear terms
Definition at line 2277 of file cons_nonlinear.c. References BOUNDTIGHTENING_MINSTRENGTH, FALSE, INTERVALINFTY, NULL, pow(), SCIP_CALL, SCIP_EXPR_INTPOWER, SCIP_EXPR_MINUS, SCIP_EXPR_MUL, SCIP_EXPR_REALPOWER, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPaddCons(), SCIPaddVar(), SCIPblkmem(), SCIPcreateConsNonlinear2(), SCIPcreateVar(), SCIPdebugAddSolVal, SCIPdebugMessage, SCIPexprgraphAddNode(), SCIPexprgraphAddVars(), SCIPexprgraphCreateNode(), SCIPexprgraphGetNodeBounds(), SCIPexprgraphGetNodeChildren(), SCIPexprgraphGetNodeIntPowerExponent(), SCIPexprgraphGetNodeNChildren(), SCIPexprgraphGetNodeNParents(), SCIPexprgraphGetNodeOperator(), SCIPexprgraphGetNodeParents(), SCIPexprgraphGetNodeRealPowerExponent(), SCIPexprgraphGetNodeVal(), SCIPexprgraphSetVarNodeValue(), SCIPexprgraphUpdateNodeBoundsCurvature(), SCIPinfinity(), SCIPintervalIsEmpty(), SCIPisEQ(), SCIPisIntegral(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPround(), SCIPsnprintf(), and TRUE. Referenced by reformulate().
reformulates expression graph into a form so that for each node under- and overestimators could be computed similar to factorable reformulation in other global solvers, but sometimes does not split up complex operands (like quadratic)
Definition at line 2599 of file cons_nonlinear.c. References BMSclearMemoryArray, BOUNDTIGHTENING_MINSTRENGTH, SCIP_QuadElement::coef, FALSE, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_Interval::inf, INTERVALINFTY, NULL, reformEnsureChildrenMinCurvature(), reformMonomial(), reformNode2Var(), reformReplaceNode(), SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_EXPR_ABS, SCIP_EXPR_CONST, SCIP_EXPR_COS, SCIP_EXPR_DIV, SCIP_EXPR_EXP, SCIP_EXPR_INTPOWER, SCIP_EXPR_LAST, SCIP_EXPR_LINEAR, SCIP_EXPR_LOG, SCIP_EXPR_MAX, SCIP_EXPR_MIN, SCIP_EXPR_MINUS, SCIP_EXPR_MUL, SCIP_EXPR_PARAM, SCIP_EXPR_PLUS, SCIP_EXPR_POLYNOMIAL, SCIP_EXPR_PRODUCT, SCIP_EXPR_QUADRATIC, SCIP_EXPR_REALPOWER, SCIP_EXPR_SIGN, SCIP_EXPR_SIGNPOWER, SCIP_EXPR_SIN, SCIP_EXPR_SQRT, SCIP_EXPR_SQUARE, SCIP_EXPR_SUM, SCIP_EXPR_TAN, SCIP_EXPR_USER, SCIP_EXPR_VARIDX, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_EXPRCURV_LINEAR, SCIP_EXPRCURV_UNKNOWN, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_VARTYPE_CONTINUOUS, SCIPABORT, SCIPaddCons(), SCIPaddVar(), SCIPallocBufferArray, SCIPblkmem(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPcreateConsNonlinear2(), SCIPcreateVar(), SCIPdebug, SCIPdebugAddSolVal, SCIPdebugGetSolVal, SCIPdebugMessage, SCIPdebugPrintCons, SCIPdebugPrintf, SCIPerrorMessage, SCIPexprCreateMonomial(), SCIPexprcurvGetName(), SCIPexprcurvMultiply(), SCIPexprcurvNegate(), SCIPexprcurvPower(), SCIPexprGetMonomialChildIndices(), SCIPexprGetMonomialCoef(), SCIPexprGetMonomialExponents(), SCIPexprGetMonomialNFactors(), SCIPexprgraphAddNode(), SCIPexprgraphAddVars(), SCIPexprgraphCreateNode(), SCIPexprgraphCreateNodeLinear(), SCIPexprgraphCreateNodePolynomial(), SCIPexprgraphCreateNodeQuadratic(), SCIPexprgraphEval(), SCIPexprgraphGetDepth(), SCIPexprgraphGetNNodes(), SCIPexprgraphGetNodeBounds(), SCIPexprgraphGetNodeChildren(), SCIPexprgraphGetNodeCurvature(), SCIPexprgraphGetNodeDepth(), SCIPexprgraphGetNodeIntPowerExponent(), SCIPexprgraphGetNodeNChildren(), SCIPexprgraphGetNodeNParents(), SCIPexprgraphGetNodeOperator(), SCIPexprgraphGetNodePolynomialConstant(), SCIPexprgraphGetNodePolynomialMonomialCurvature(), SCIPexprgraphGetNodePolynomialMonomials(), SCIPexprgraphGetNodePolynomialNMonomials(), SCIPexprgraphGetNodePosition(), SCIPexprgraphGetNodes(), SCIPexprgraphGetNodeSignPowerExponent(), SCIPexprgraphGetNodeVal(), SCIPexprgraphGetNVars(), SCIPexprgraphGetVars(), SCIPexprgraphHasNodeNonlinearAncestor(), SCIPexprgraphHasNodeSibling(), SCIPexprgraphIsNodeEnabled(), SCIPexprgraphPrintNode(), SCIPexprgraphPropagateVarBounds(), SCIPexprgraphSetVarNodeValue(), SCIPexprgraphUpdateNodeBoundsCurvature(), SCIPexpropGetName(), SCIPfreeBufferArray, SCIPfreeBufferArrayNull, SCIPgetMessagehdlr(), SCIPgetStage(), SCIPinProbing(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPintervalIsEmpty(), SCIPisGE(), SCIPisInfinity(), SCIPisIntegral(), SCIPisLE(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPround(), SCIPsnprintf(), SCIP_Interval::sup, and TRUE. Referenced by SCIP_DECL_CONSPRESOL().
gets maximal absolute element of gradient of nonlinear function
Definition at line 3539 of file cons_nonlinear.c. References FALSE, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIPallocBufferArray, SCIPconsGetData(), SCIPexprintCompile(), SCIPexprintGrad(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfreeBufferArray, SCIPgetSolVal(), SCIPgetSolVals(), SCIPgetStage(), and TRUE. Referenced by computeViolation().
computes activity and violation of a constraint during presolving and if the constraint is active, it is assumes that SCIPexprgraphEval has been called for sol before
Definition at line 3662 of file cons_nonlinear.c. References FALSE, getGradientMaxElement(), MAX, MIN, NULL, REALABS, SCIP_CALL, SCIP_INVALID, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIPABORT, SCIPallocBufferArray, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPerrorMessage, SCIPexprgraphGetNodeVal(), SCIPexprintCompile(), SCIPexprintEval(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfeastol(), SCIPfreeBufferArray, SCIPgetSolVal(), SCIPgetStage(), SCIPinfinity(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisFinite, SCIPisGT(), SCIPisInfinity(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by computeViolations(), proposeFeasibleSolution(), SCIP_DECL_CONSCHECK(), and SCIPgetViolationNonlinear().
computes violation of a set of constraints
Definition at line 3865 of file cons_nonlinear.c. References computeViolation(), MAX, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIPallocBufferArray, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPexprgraphEval(), SCIPexprgraphGetNVars(), SCIPexprgraphGetVars(), SCIPfeastol(), SCIPfreeBufferArray, SCIPgetSolVals(), SCIPgetStage(), and SCIPisGT(). Referenced by SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSSEPALP(), and SCIP_DECL_CONSSEPASOL().
adds linearization of a constraints expression tree in reference point to a row
Definition at line 3930 of file cons_nonlinear.c. References FALSE, MIN, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_OKAY, SCIP_Real, SCIPaddVarsToRow(), SCIPallocBufferArray, SCIPchgRowLhs(), SCIPchgRowRhs(), SCIPconsGetData(), SCIPconsGetName(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPexprintCompile(), SCIPexprintGrad(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfeastol(), SCIPfreeBufferArray, SCIPisEQ(), SCIPisFinite, SCIPisInfinity(), SCIPisZero(), SCIPprintRow(), SCIProwGetLhs(), SCIProwGetRhs(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), and TRUE. Referenced by generateCut().
adds secant of a constraints univariate expression tree in reference point to a row
Definition at line 4093 of file cons_nonlinear.c. References FALSE, MAX, MIN, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddVarsToRow(), SCIPchgRowLhs(), SCIPchgRowRhs(), SCIPconsGetData(), SCIPconsGetName(), SCIPdebug, SCIPdebugMessage, SCIPexprtreeEval(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPisEQ(), SCIPisFinite, SCIPisInfinity(), SCIPisLE(), SCIPprintRow(), SCIProwGetLhs(), SCIProwGetRhs(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE. Referenced by generateCut().
given three points, constructs coefficient of equation for hyperplane generated by these three points Three points a, b, and c are given. Computes coefficients alpha, beta, gamma, and delta, such that a, b, and c, satisfy alpha * x1 + beta * x2 + gamma * x3 = delta and gamma >= 0.0. Definition at line 4202 of file cons_nonlinear.c. References NULL. Referenced by addConcaveEstimatorBivariate().
adds estimator of a constraints bivariate expression tree to a row a reference point is given to decide which hyperplane to choose
Definition at line 4241 of file cons_nonlinear.c. References FALSE, getAlphaBetaGammaDelta(), MAX, MIN, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_OKAY, SCIP_Real, SCIPaddVarsToRow(), SCIPchgRowLhs(), SCIPchgRowRhs(), SCIPconsGetData(), SCIPconsGetName(), SCIPdebug, SCIPdebugMessage, SCIPexprtreeEval(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPisEQ(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisFinite, SCIPisInfinity(), SCIPisNegative(), SCIPisRelEQ(), SCIPisRelLE(), SCIPisZero(), SCIPprintRow(), SCIProwGetLhs(), SCIProwGetRhs(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE. Referenced by generateCut().
adds estimator of a constraints multivariate expression tree to a row Given concave function f(x) and reference point ref. Let (v_i: i=1,...,n) be corner points of current domain of x. Find (coef,constant) such that <coef,v_i> + constant <= f(v_i) (cut validity) and such that <coef, ref> + constant is maximized (cut efficacy). Then <coef, x> + constant <= f(x) for all x in current domain. Similar to compute an overestimator for a convex function f(x). Find (coef,constant) such that <coef,v_i> + constant >= f(v_i) and such that <coef, ref> + constant is minimized. Then <coef, x> + constant >= f(x) for all x in current domain.
Definition at line 4588 of file cons_nonlinear.c. References BMScopyMemoryArray, FALSE, MAX, MIN, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_LPPAR_FEASTOL, SCIP_LPPAR_FROMSCRATCH, SCIP_LPPAR_LOBJLIM, SCIP_LPPAR_LPITLIM, SCIP_LPPAR_SCALING, SCIP_LPPAR_UOBJLIM, SCIP_OBJSEN_MAXIMIZE, SCIP_OBJSEN_MINIMIZE, SCIP_OKAY, SCIP_Real, SCIPaddVarsToRow(), SCIPallocBufferArray, SCIPchgRowLhs(), SCIPchgRowRhs(), SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPdebugPrintf, SCIPerrorMessage, SCIPexprtreeEval(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfeastol(), SCIPfreeBufferArray, SCIPgetMessagehdlr(), SCIPisFeasGE(), SCIPisFeasGT(), SCIPisFeasLE(), SCIPisFinite, SCIPisInfinity(), SCIPlpiAddCols(), SCIPlpiAddRows(), SCIPlpiCreate(), SCIPlpiFree(), SCIPlpiGetSol(), SCIPlpiInfinity(), SCIPlpiIsIterlimExc(), SCIPlpiIsObjlimExc(), SCIPlpiIsOptimal(), SCIPlpiIsPrimalFeasible(), SCIPlpiIsPrimalUnbounded(), SCIPlpiSetIntpar(), SCIPlpiSetRealpar(), SCIPlpiSolveDual(), SCIProwGetLhs(), SCIProwGetRhs(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPwarningMessage(), and TRUE. Referenced by generateCut().
Computes the linear coeffs and the constant in a linear expression both scaled by a given scalar value. The coeffs of the variables will be stored in the given array at their variable index. The constant of the given linear expression will be added to the given buffer.
Definition at line 4847 of file cons_nonlinear.c. References SCIP_CALL, SCIP_ERROR, SCIP_EXPR_CONST, SCIP_EXPR_LINEAR, SCIP_EXPR_MINUS, SCIP_EXPR_MUL, SCIP_EXPR_PLUS, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIPexprGetChildren(), SCIPexprGetLinearCoefs(), SCIPexprGetLinearConstant(), SCIPexprGetNChildren(), SCIPexprGetOperator(), SCIPexprGetOpIndex(), and SCIPexprGetOpReal(). Referenced by addUserEstimator().
adds estimator from user callback of a constraints user expression tree to a row
Definition at line 4944 of file cons_nonlinear.c. References FALSE, getCoeffsAndConstantFromLinearExpr(), infty2infty, INTERVALINFTY, MAX, MIN, NULL, SCIP_CALL, SCIP_EXPR_USER, SCIP_OKAY, SCIP_Real, SCIPaddVarsToRow(), SCIPallocBufferArray, SCIPchgRowLhs(), SCIPchgRowRhs(), SCIPconsGetData(), SCIPexprEstimateUser(), SCIPexprEval(), SCIPexprEvalInt(), SCIPexprGetChildren(), SCIPexprGetNChildren(), SCIPexprGetOperator(), SCIPexprHasUserEstimator(), SCIPexprtreeGetNVars(), SCIPexprtreeGetParamVals(), SCIPexprtreeGetRoot(), SCIPexprtreeGetVars(), SCIPfreeBufferArray, SCIPinfinity(), SCIPintervalSetBounds(), SCIPisInfinity(), SCIProwGetLhs(), SCIProwGetRhs(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by generateCut().
adds estimator from interval gradient of a constraints univariate expression tree to a row a reference point is used to decide in which corner to generate the cut
Definition at line 5063 of file cons_nonlinear.c. References FALSE, infty2infty, INTERVALINFTY, MAX, MIN, NULL, SCIP_CALL, SCIP_EXPRINTCAPABILITY_INTGRADIENT, SCIP_OKAY, SCIP_Real, SCIPaddVarsToRow(), SCIPallocBufferArray, SCIPchgRowLhs(), SCIPchgRowRhs(), SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPexprintCompile(), SCIPexprintEval(), SCIPexprintGetCapability(), SCIPexprintGradInt(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfreeBufferArrayNull, SCIPinfinity(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPintervalMulScalar(), SCIPintervalSetBounds(), SCIPisEQ(), SCIPisFinite, SCIPisInfinity(), SCIPisZero(), SCIProwGetLhs(), SCIProwGetRhs(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE. Referenced by generateCut().
generates a cut based on linearization (if convex), secant (if concave), or intervalgradient (if indefinite)
Definition at line 5225 of file cons_nonlinear.c. References addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConcaveEstimatorUnivariate(), addIntervalGradientEstimator(), addLinearization(), addUserEstimator(), checkCurvature(), FALSE, MAX, MIN, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_EXPR_USER, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIP_STAGE_SOLVING, SCIPaddVarsToRow(), SCIPaddVarToRow(), SCIPallocBufferArray, SCIPchgRowLhs(), SCIPchgRowRhs(), SCIPcolGetVar(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconsIsLocal(), SCIPcreateEmptyRowCons(), SCIPdebugMessage, SCIPexprGetOperator(), SCIPexprtreeGetNVars(), SCIPexprtreeGetRoot(), SCIPexprtreeGetVars(), SCIPfreeBufferArray, SCIPgetRowMaxCoef(), SCIPgetRowMinCoef(), SCIPgetSolVal(), SCIPgetSolVals(), SCIPgetStage(), SCIPinfinity(), SCIPisEQ(), SCIPisInfinity(), SCIPreallocBufferArray, SCIPreleaseRow(), SCIProwGetCols(), SCIProwGetLhs(), SCIProwGetNNonz(), SCIProwGetRhs(), SCIProwGetVals(), SCIProwIsLocal(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and TRUE. Referenced by addLinearizationCuts(), SCIP_DECL_CONSINITLP(), and separatePoint().
tries to separate solution or LP solution by a linear cut assumes that constraint violations have been computed
Definition at line 5464 of file cons_nonlinear.c. References FALSE, generateCut(), MAX, MIN, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_FEASIBLE, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_SEPARATED, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIPABORT, SCIPaddCut(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPconsIsEnabled(), SCIPdebug, SCIPdebugMessage, SCIPepsilon(), SCIPerrorMessage, SCIPfeastol(), SCIPgetRelaxFeastolFactor(), SCIPgetRowLPFeasibility(), SCIPgetRowMaxCoef(), SCIPgetRowSolFeasibility(), SCIPisCutApplicable(), SCIPisGT(), SCIPisInfinity(), SCIPmarkRowNotRemovableLocal(), SCIPprintRow(), SCIPreleaseRow(), SCIPresetConsAge(), SCIProwGetLhs(), and SCIProwGetRhs(). Referenced by SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSSEPALP(), and SCIP_DECL_CONSSEPASOL().
adds linearizations cuts for convex constraints w.r.t. a given reference point to cutpool and sepastore if separatedlpsol is not NULL, then a cut that separates the LP solution is added to the sepastore and is forced to enter the LP if separatedlpsol is not NULL, but cut does not separate the LP solution, then it is added to the cutpool only if separatedlpsol is NULL, then cut is added to cutpool only
Definition at line 5622 of file cons_nonlinear.c. References checkCurvature(), FALSE, generateCut(), MAX, MIN, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIPABORT, SCIPaddCut(), SCIPaddPoolCut(), SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconsIsLocal(), SCIPerrorMessage, SCIPgetRowLPFeasibility(), SCIPgetRowMaxCoef(), SCIPisInfinity(), SCIPreleaseRow(), SCIProwGetLhs(), SCIProwGetRhs(), SCIProwIsLocal(), and TRUE. Referenced by SCIP_DECL_CONSSEPALP(), and SCIP_DECL_EVENTEXEC().
processes the event that a new primal solution has been found Definition at line 5734 of file cons_nonlinear.c. References addLinearizationCuts(), NULL, SCIP_CALL, SCIP_EVENTTYPE_SOLFOUND, SCIP_OKAY, SCIPconshdlrGetConss(), SCIPconshdlrGetData(), SCIPconshdlrGetNConss(), SCIPdebugMessage, SCIPeventGetSol(), SCIPeventGetType(), SCIPheurGetName(), and SCIPsolGetHeur().
registers unfixed variables in nonlinear terms of violated constraints as external branching candidates
Definition at line 5781 of file cons_nonlinear.c. References MAX, NULL, SCIP_CALL, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_INVALID, SCIP_OKAY, SCIPaddExternBranchCand(), SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPexprcurvGetName(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfeastol(), SCIPisGT(), SCIPisRelEQ(), SCIPvarGetLbLocal(), SCIPvarGetName(), and SCIPvarGetUbLocal(). Referenced by SCIP_DECL_CONSENFOLP().
registers a nonlinear variable from a violated constraint as branching candidate that has a large absolute value in the LP relaxation
Definition at line 5847 of file cons_nonlinear.c. References NULL, REALABS, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPaddExternBranchCand(), SCIPconsGetData(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfeastol(), SCIPgetSolVal(), SCIPisGT(), SCIPisRelEQ(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by SCIP_DECL_CONSENFOLP().
replaces violated nonlinear constraints where all nonlinear variables are fixed by linear constraints only adds constraint if it is violated in current solution
Definition at line 5907 of file cons_nonlinear.c. References FALSE, INTERVALINFTY, NULL, SCIP_Bool, SCIP_CALL, SCIP_INFEASIBLE, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIPaddConsLocal(), SCIPcheckCons(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelConsLocal(), SCIPevalExprtreeLocalBounds(), SCIPfeastol(), SCIPgetLPSolstat(), SCIPinfinity(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPintervalMulScalar(), SCIPisFeasLE(), SCIPisGT(), SCIPisInfinity(), SCIPisZero(), SCIPreleaseCons(), SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPvarGetName(), and TRUE. Referenced by SCIP_DECL_CONSENFOLP().
Definition at line 6066 of file cons_nonlinear.c. References FALSE, INTERVALINFTY, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPadjustedVarLb(), SCIPconsGetName(), SCIPdebugMessage, SCIPinProbing(), SCIPisInfinity(), SCIPresetConsAge(), SCIPtightenVarLb(), and SCIPvarGetName(). Referenced by propagateBoundsCons(), and propagateConstraintSides().
Definition at line 6127 of file cons_nonlinear.c. References FALSE, INTERVALINFTY, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPadjustedVarUb(), SCIPconsGetName(), SCIPdebugMessage, SCIPinProbing(), SCIPisInfinity(), SCIPresetConsAge(), SCIPtightenVarUb(), and SCIPvarGetName(). Referenced by propagateBoundsCons(), and propagateConstraintSides().
tightens bounds of linear variables in a single nonlinear constraint
Definition at line 6188 of file cons_nonlinear.c. References consdataUpdateLinearActivity(), FALSE, infty2infty, INTERVALINFTY, MAX, NULL, propagateBoundsTightenVarLb(), propagateBoundsTightenVarUb(), SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPexprgraphGetNodeBounds(), SCIPfeastol(), SCIPinfinity(), SCIPintervalAdd(), SCIPintervalAreDisjoint(), SCIPintervalGetInf(), SCIPintervalGetRoundingMode(), SCIPintervalGetSup(), SCIPintervalIsEmpty(), SCIPintervalIsEntire(), SCIPintervalIsSubsetEQ(), SCIPintervalSet(), SCIPintervalSetBounds(), SCIPintervalSetRoundingMode(), SCIPintervalSetRoundingModeDownwards(), SCIPintervalSetRoundingModeUpwards(), SCIPintervalSub(), SCIPisEQ(), SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE. Referenced by propagateBounds().
propagate constraints sides minus linear activity into nonlinear variables
Definition at line 6449 of file cons_nonlinear.c. References BOUNDTIGHTENING_MINSTRENGTH, FALSE, SCIP_Interval::inf, INTERVALINFTY, NULL, propagateBoundsTightenVarLb(), propagateBoundsTightenVarUb(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsDeleted(), SCIPconsIsEnabled(), SCIPdebugMessage, SCIPexprgraphGetNodeBounds(), SCIPexprgraphGetNVars(), SCIPexprgraphGetVarNodes(), SCIPexprgraphGetVars(), SCIPexprgraphPrintDot(), SCIPexprgraphPropagateNodeBounds(), SCIPexprgraphTightenNodeBounds(), SCIPfeastol(), SCIPgetMessagehdlr(), SCIPinProbing(), SCIPintervalGetInf(), SCIPintervalGetRoundingMode(), SCIPintervalGetSup(), SCIPintervalNegateReal(), SCIPintervalSetRoundingMode(), SCIPintervalSetRoundingModeDownwards(), SCIPisInfinity(), and SCIP_Interval::sup. Referenced by propagateBounds().
calls domain propagation for a set of constraints
Definition at line 6581 of file cons_nonlinear.c. References FALSE, INTERVALINFTY, NULL, propagateBoundsCons(), propagateConstraintSides(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPconsIsEnabled(), SCIPdebugMessage, SCIPdelConsLocal(), SCIPexprgraphGetNodeBounds(), SCIPexprgraphPrintDot(), SCIPexprgraphPropagateVarBounds(), SCIPgetMessagehdlr(), SCIPintervalIsEmpty(), and TRUE. Referenced by SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSPRESOL(), and SCIP_DECL_CONSPROP().
Definition at line 6704 of file cons_nonlinear.c. References SCIPdebugMessage, SCIPisInfinity(), SCIPvarGetName(), SCIPvarGetNLocksDown(), and SCIPvarGetObj(). Referenced by SCIP_DECL_CONSCHECK(), and SCIP_DECL_CONSINITSOL().
Given a solution where every nonlinear constraint is either feasible or can be made feasible by moving a linear variable, construct the corresponding feasible solution and pass it to the trysol heuristic. The method assumes that this is always possible and that not all constraints are feasible already.
Definition at line 6769 of file cons_nonlinear.c. References computeViolation(), FALSE, MAX, MIN, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPceil(), SCIPconsGetData(), SCIPconshdlrGetData(), SCIPcreateLPSol(), SCIPcreateSolCopy(), SCIPdebugMessage, SCIPfeastol(), SCIPfloor(), SCIPfreeSol(), SCIPgetSolTransObj(), SCIPgetSolVal(), SCIPgetUpperbound(), SCIPheurPassSolTrySol(), SCIPincSolVal(), SCIPisGT(), SCIPisInfinity(), SCIPisNegative(), SCIPisPositive(), SCIPisSumLT(), SCIPisZero(), SCIPunlinkSol(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarIsIntegral(), and TRUE. Referenced by SCIP_DECL_CONSCHECK().
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 6916 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPincludeConshdlrNonlinear(), and TRUE.
destructor of constraint handler to free constraint handler data (called when SCIP is exiting) Definition at line 6932 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetData(), SCIPexprgraphFree(), SCIPexprgraphGetNVars(), SCIPexprintFree(), SCIPfreeMemory, and SCIPfreeMemoryArrayNull.
initialization method of constraint handler (called after problem was transformed) Definition at line 6967 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetData(), SCIPexprgraphPrintDot(), SCIPfindHeur(), and SCIPgetMessagehdlr().
deinitialization method of constraint handler (called before transformed problem is freed) Definition at line 7000 of file cons_nonlinear.c. References NULL, SCIP_OKAY, and SCIPconshdlrGetData().
presolving initialization method of constraint handler (called when presolving is about to begin) Definition at line 7019 of file cons_nonlinear.c. References consdataSetExprtrees(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), and SCIPconsIsActive().
presolving deinitialization method of constraint handler (called after presolving has been finished) Definition at line 7048 of file cons_nonlinear.c. References consdataSetExprtrees(), FALSE, mergeAndCleanLinearVars(), NULL, removeFixedLinearVariables(), removeFixedNonlinearVariables(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPconsIsAdded(), SCIPdebugMessage, SCIPenableNLP(), SCIPepsilon(), SCIPexprgraphGetSumTrees(), SCIPexprgraphGetSumTreesNSummands(), SCIPexprgraphSimplify(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfreeBufferArray, SCIPgetMessagehdlr(), SCIPvarIsActive(), splitOffLinearPart(), and TRUE.
solving process initialization method of constraint handler (called when branch and bound process is about to begin) Definition at line 7153 of file cons_nonlinear.c. References consdataFindUnlockedLinearVar(), CONSHDLR_NAME, createNlRow(), FALSE, MAX, MIN, NULL, REALABS, SCIP_CALL, SCIP_EVENTTYPE_SOLFOUND, SCIP_OKAY, SCIPaddNlRow(), SCIPcatchEvent(), SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconsIsEnabled(), SCIPfindEventhdlr(), SCIPinfinity(), and SCIPisNLPConstructed().
solving process deinitialization method of constraint handler (called before branch and bound process data is freed) Definition at line 7218 of file cons_nonlinear.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_SOLFOUND, SCIP_OKAY, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPdropEvent(), SCIPfindEventhdlr(), and SCIPreleaseNlRow().
frees specific constraint data Definition at line 7260 of file cons_nonlinear.c. References consdataFree(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), and SCIPdebugMessage.
transforms constraint data into data belonging to the transformed problem Definition at line 7283 of file cons_nonlinear.c. References BMScopyMemoryArray, consdataCreate(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcaptureVar(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateCons(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPgetExprtreeTransformedVars(), SCIPgetTransformedVar(), and TRUE.
LP initialization method of constraint handler (called before the initial LP relaxation at a node is solved) Definition at line 7332 of file cons_nonlinear.c. References checkCurvature(), FALSE, generateCut(), INITLPMAXVARVAL, MAX, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_OKAY, SCIP_Real, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIPaddCut(), SCIPaddVarsToRow(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsLocal(), SCIPcreateEmptyRowCons(), SCIPdebug, SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfreeBufferArray, SCIPisInfinity(), SCIPprintRow(), SCIPreleaseRow(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and TRUE.
separation method of constraint handler for LP solutions Definition at line 7462 of file cons_nonlinear.c. References addLinearizationCuts(), checkCurvature(), computeViolations(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_GLOBINFEASIBLE, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_OKAY, SCIP_SEPARATED, SCIPaddLinearConsToNlpHeurSubNlp(), SCIPconsGetData(), SCIPconshdlrGetData(), SCIPcreateNLPSol(), SCIPdebugMessage, SCIPfeastol(), SCIPfreeSol(), SCIPgetDepth(), SCIPgetLPSolstat(), SCIPgetNBinVars(), SCIPgetNContVars(), SCIPgetNIntVars(), SCIPgetNLPFracVars(), SCIPgetNLPSolstat(), SCIPgetNNlpis(), SCIPgetNVars(), SCIPheurPassSolTrySol(), SCIPisGT(), SCIPisNLPConstructed(), SCIPsetNLPInitialGuessSol(), SCIPsolveNLP(), separatePoint(), and TRUE.
separation method of constraint handler for arbitrary primal solutions Definition at line 7611 of file cons_nonlinear.c. References computeViolations(), FALSE, NULL, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_OKAY, SCIPconshdlrGetData(), and separatePoint().
constraint enforcing method of constraint handler for LP solutions Definition at line 7638 of file cons_nonlinear.c. References computeViolations(), FALSE, MAX, MIN, NULL, propagateBounds(), registerBranchingVariables(), registerLargeLPValueVariableForBranching(), replaceViolatedByLinearConstraints(), SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPcreateChild(), SCIPdebugMessage, SCIPepsilon(), SCIPfeastol(), SCIPgetCurrentNode(), SCIPgetRelaxFeastolFactor(), SCIPgetSolVal(), SCIPisGT(), SCIPisInfinity(), SCIPisStopped(), SCIPnodeGetEstimate(), SCIPvarGetName(), SCIPwarningMessage(), separatePoint(), and TRUE.
constraint enforcing method of constraint handler for pseudo solutions Definition at line 7810 of file cons_nonlinear.c. References computeViolations(), MAX, NULL, propagateBounds(), SCIP_CALL, SCIP_CUTOFF, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_INVALID, SCIP_OKAY, SCIP_REDUCEDDOM, SCIP_SOLVELP, SCIPaddExternBranchCand(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPdebugMessage, SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfeastol(), SCIPisGT(), SCIPisRelEQ(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE.
feasibility check method of constraint handler for integral solutions Definition at line 7897 of file cons_nonlinear.c. References computeViolation(), consdataFindUnlockedLinearVar(), FALSE, MAX, NULL, proposeFeasibleSolution(), REALABS, SCIP_Bool, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPallocBufferArray, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPexprgraphEval(), SCIPexprgraphGetNVars(), SCIPexprgraphGetVars(), SCIPfeastol(), SCIPfreeBufferArray, SCIPgetSolVals(), SCIPgetStage(), SCIPinfoMessage(), SCIPisGT(), SCIPisInfinity(), SCIPprintCons(), and SCIPupdateStartpointHeurSubNlp().
domain propagation method of constraint handler Definition at line 8024 of file cons_nonlinear.c. References NULL, propagateBounds(), SCIP_CALL, SCIP_OKAY, and TRUE.
presolving method of constraint handler Definition at line 8041 of file cons_nonlinear.c. References FALSE, INTERVALINFTY, NULL, presolveUpgrade(), propagateBounds(), reformulate(), removeFixedLinearVariables(), removeFixedNonlinearVariables(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_PRESOLTIMING_EXHAUSTIVE, SCIP_PRESOLTIMING_FAST, SCIP_REDUCEDDOM, SCIP_SUCCESS, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPepsilon(), SCIPexprgraphPropagateVarBounds(), SCIPexprgraphSimplify(), SCIPgetMessagehdlr(), SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPisInfinity(), SCIPisPresolveFinished(), splitOffLinearPart(), and TRUE.
variable rounding lock method of constraint handler Definition at line 8242 of file cons_nonlinear.c. References NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddVarLocks(), SCIPconsGetData(), SCIPconsIsActive(), SCIPconsIsDeleted(), and SCIPisInfinity().
constraint activation notification method of constraint handler Definition at line 8294 of file cons_nonlinear.c. References consdataSetExprtrees(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsTransformed(), SCIPdebugMessage, SCIPexprgraphAddExprtreeSum(), SCIPgetStage(), and TRUE.
constraint deactivation notification method of constraint handler Definition at line 8354 of file cons_nonlinear.c. References consdataSetExprtrees(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_PRESOLVING, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsTransformed(), SCIPdebugMessage, SCIPexprgraphGetTree(), SCIPexprgraphReleaseNode(), and SCIPgetStage().
constraint enabling notification method of constraint handler Definition at line 8397 of file cons_nonlinear.c. References catchLinearVarEvents(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPconsIsTransformed(), SCIPdebugMessage, SCIPexprgraphEnableNode(), SCIPvarIsActive(), and TRUE.
constraint disabling notification method of constraint handler Definition at line 8438 of file cons_nonlinear.c. References dropLinearVarEvents(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsTransformed(), SCIPdebugMessage, and SCIPexprgraphDisableNode().
constraint display method of constraint handler Definition at line 8476 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPexprgraphGetTree(), SCIPexprtreeFree(), SCIPexprtreePrintWithNames(), SCIPgetMessagehdlr(), SCIPinfoMessage(), SCIPisEQ(), SCIPisInfinity(), SCIPvarGetName(), and SCIPvarGetType().
constraint copying method of constraint handler Definition at line 8555 of file cons_nonlinear.c. References BMSclearMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPblkmem(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPcreateConsNonlinear(), SCIPexprgraphGetTree(), SCIPexprtreeCopy(), SCIPexprtreeFree(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPexprtreeSetVars(), SCIPfreeBufferArray, SCIPfreeBufferArrayNull, SCIPgetVarCopy(), SCIPreallocBufferArray, and TRUE.
constraint method of constraint handler which returns the variables (if possible) Definition at line 8679 of file cons_nonlinear.c. References BMScopyMemoryArray, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPexprgraphGetNVars(), SCIPexprgraphGetSubtreeVarsUsage(), SCIPexprgraphGetVars(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfreeBufferArray, and TRUE.
constraint method of constraint handler which returns the number of variables (if possible) Definition at line 8758 of file cons_nonlinear.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPexprgraphGetNVars(), SCIPexprgraphGetSubtreeVarsUsage(), SCIPexprtreeGetNVars(), SCIPfreeBufferArray, and TRUE.
constraint parsing method of constraint handler Definition at line 8801 of file cons_nonlinear.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIPallocBufferArray, SCIPblkmem(), SCIPcreateConsNonlinear(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPerrorMessage, SCIPexprParse(), SCIPexprtreeCreate(), SCIPexprtreeFree(), SCIPexprtreeSetVars(), SCIPfindVar(), SCIPfreeBufferArray, SCIPgetMessagehdlr(), SCIPinfinity(), SCIPisInfinity(), SCIPstrToRealValue(), and TRUE.
creates the handler for nonlinear constraints and includes it in SCIP
Definition at line 9000 of file cons_nonlinear.c. References BMSclearMemory, CONSHDLR_CHECKPRIORITY, CONSHDLR_DELAYPROP, CONSHDLR_DELAYSEPA, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_MAXPREROUNDS, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PRESOLTIMING, CONSHDLR_PROP_TIMING, CONSHDLR_PROPFREQ, CONSHDLR_SEPAFREQ, CONSHDLR_SEPAPRIORITY, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddCharParam(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPallocMemory, SCIPblkmem(), SCIPexprgraphCreate(), SCIPexprintCreate(), SCIPincludeConshdlrBasic(), SCIPincludeEventhdlrBasic(), SCIPinfinity(), SCIPsetConshdlrActive(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDeactive(), SCIPsetConshdlrDelete(), SCIPsetConshdlrDisable(), SCIPsetConshdlrEnable(), SCIPsetConshdlrExit(), SCIPsetConshdlrExitpre(), SCIPsetConshdlrExitsol(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInit(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrInitsol(), SCIPsetConshdlrParse(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrSepa(), SCIPsetConshdlrTrans(), and TRUE. Referenced by SCIP_DECL_CONSHDLRCOPY(), and SCIPincludeDefaultPlugins().
includes a nonlinear constraint upgrade method into the nonlinear constraint handler
Definition at line 9123 of file cons_nonlinear.c. References SCIP_NlConsUpgrade::active, CONSHDLR_NAME, FALSE, NULL, paramname, SCIP_NlConsUpgrade::priority, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPaddBoolParam(), SCIPallocMemory, SCIPcalcMemGrowSize(), SCIPconshdlrGetData(), SCIPerrorMessage, SCIPfindConshdlr(), SCIPreallocMemoryArray, SCIPsnprintf(), and SCIPwarningMessage(). Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), and SCIPincludeConshdlrQuadratic().
creates and captures a nonlinear constraint this variant takes expression trees as input
Definition at line 9208 of file cons_nonlinear.c. References addLinearCoef(), consdataCreateEmpty(), consdataEnsureLinearVarsSize(), consdataSetExprtrees(), CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPcreateCons(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPerrorMessage, SCIPfindConshdlr(), SCIPisZero(), and TRUE. Referenced by readConstraints(), readNonlinearExprs(), readObjective(), removeFixedVariables(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSPARSE(), and SCIPcreateConsBasicNonlinear().
creates and captures a nonlinear constraint in its most basic version, i. e., all constraint flags are set to their basic value as explained for the method SCIPcreateConsNonlinear(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h this variant takes expression trees as input
Definition at line 9301 of file cons_nonlinear.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsNonlinear(), and TRUE.
creates and captures a nonlinear constraint this variant takes a node of the expression graph as input and can only be used during presolving it is assumed that the nonlinear constraint will be added to the transformed problem short after creation the given exprgraphnode is captured in this method
Definition at line 9331 of file cons_nonlinear.c. References addLinearCoef(), consdataCreateEmpty(), consdataEnsureLinearVarsSize(), CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_EXPRCURV_UNKNOWN, SCIP_INVALID, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_STAGE_PRESOLVING, SCIPcreateCons(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPerrorMessage, SCIPexprgraphCaptureNode(), SCIPfindConshdlr(), SCIPgetStage(), and SCIPisZero(). Referenced by reformMonomial(), reformNode2Var(), reformulate(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_NONLINCONSUPGD(), and SCIPcreateConsBasicNonlinear2().
creates and captures a nonlinear constraint in its most basic version, i. e., all constraint flags are set to their basic value as explained for the method SCIPcreateConsNonlinear(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h this variant takes a node of the expression graph as input and can only be used during presolving it is assumed that the nonlinear constraint will be added to the transformed problem short after creation the given exprgraphnode is captured in this method
Definition at line 9429 of file cons_nonlinear.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsNonlinear2(), and TRUE.
adds a linear variable with coefficient to a nonlinear constraint
Definition at line 9450 of file cons_nonlinear.c. References addLinearCoef(), NULL, REALABS, SCIP_CALL, SCIP_OKAY, and SCIPisInfinity().
sets the expression trees in a nonlinear constraint constraint must not be active yet
Definition at line 9470 of file cons_nonlinear.c. References consdataSetExprtrees(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsActive(), and TRUE.
adds expression trees to a nonlinear constraint constraint must not be active yet
Definition at line 9492 of file cons_nonlinear.c. References consdataAddExprtrees(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsActive(), and TRUE. Referenced by readNonlinearExprs().
gets the nonlinear constraint as a nonlinear row representation
Definition at line 9512 of file cons_nonlinear.c. References createNlRow(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPconsGetData(). gets the number of variables in the linear term of a nonlinear constraint
Definition at line 9537 of file cons_nonlinear.c. References NULL, and SCIPconsGetData(). Referenced by readNonlinearExprs(), SCIP_DECL_NONLINCONSUPGD(), SCIPwriteGms(), and SCIPwritePip(). gets the variables in the linear part of a nonlinear constraint
Definition at line 9549 of file cons_nonlinear.c. References NULL, and SCIPconsGetData(). Referenced by readNonlinearExprs(), SCIP_DECL_NONLINCONSUPGD(), SCIPwriteGms(), and SCIPwritePip(). gets the coefficients in the linear part of a nonlinear constraint
Definition at line 9561 of file cons_nonlinear.c. References NULL, and SCIPconsGetData(). Referenced by readNonlinearExprs(), SCIP_DECL_NONLINCONSUPGD(), SCIPwriteGms(), and SCIPwritePip(). gets the number of expression trees of a nonlinear constraint
Definition at line 9573 of file cons_nonlinear.c. References NULL, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIPconsGetData(), and SCIPgetStage(). Referenced by SCIPwriteGms(), and SCIPwritePip().
gets the expression trees of a nonlinear constraint
Definition at line 9586 of file cons_nonlinear.c. References NULL, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIPconsGetData(), and SCIPgetStage(). Referenced by SCIPwriteGms(), and SCIPwritePip(). gets the coefficients of the expression trees of a nonlinear constraint
Definition at line 9599 of file cons_nonlinear.c. References NULL, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIPconsGetData(), and SCIPgetStage(). Referenced by SCIPwriteGms(), and SCIPwritePip().
gets the expression graph node of a nonlinear constraint
Definition at line 9612 of file cons_nonlinear.c. References NULL, and SCIPconsGetData(). Referenced by SCIP_DECL_NONLINCONSUPGD(), and SCIPwriteGms(). gets the left hand side of a nonlinear constraint
Definition at line 9624 of file cons_nonlinear.c. References NULL, and SCIPconsGetData(). Referenced by readNonlinearExprs(), SCIP_DECL_NONLINCONSUPGD(), SCIPwriteGms(), and SCIPwritePip(). gets the right hand side of a nonlinear constraint
Definition at line 9636 of file cons_nonlinear.c. References NULL, and SCIPconsGetData(). Referenced by readNonlinearExprs(), SCIP_DECL_NONLINCONSUPGD(), SCIPwriteGms(), and SCIPwritePip().
check the function of a nonlinear constraint for convexity/concavity, if not done yet
Definition at line 9648 of file cons_nonlinear.c. References checkCurvature(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetHdlr(), and SCIPconshdlrGetData().
gets the curvature of the nonlinear function of a nonlinear constraint
Definition at line 9670 of file cons_nonlinear.c. References checkCurvature(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetHdlr(), and SCIPconshdlrGetData().
gets the curvature of the expression trees (multiplied by their coefficient) of a nonlinear constraint
Definition at line 9704 of file cons_nonlinear.c. References checkCurvature(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetData(), and SCIPgetStage().
computes the violation of a nonlinear constraint by a solution
Definition at line 9741 of file cons_nonlinear.c. References computeViolation(), MAX, NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsIsActive(), SCIPgetStage(), and SCIPwarningMessage().
gets expression graph of nonlinear constraint handler
Definition at line 9777 of file cons_nonlinear.c. References NULL, and SCIPconshdlrGetData(). Referenced by SCIP_DECL_NONLINCONSUPGD(), and SCIPwriteGms(). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||