Detailed Descriptionconstraint handler for bivariate nonlinear constraints Definition in file cons_bivariate.c. #include <assert.h> #include <math.h> #include "scip/cons_bivariate.h" #include "scip/cons_linear.h" #include "scip/cons_quadratic.h" #include "scip/cons_nonlinear.h" #include "scip/heur_subnlp.h" #include "scip/heur_trysol.h" #include "scip/debug.h" #include "nlpi/nlpi.h" #include "nlpi/exprinterpret.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 39 of file cons_bivariate.c. Referenced by SCIP_DECL_CONSEXITSOL(), SCIP_DECL_CONSINITSOL(), SCIPcreateConsBivariate(), and SCIPincludeConshdlrBivariate().
Definition at line 40 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
priority of the constraint handler for separation Definition at line 41 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
priority of the constraint handler for constraint enforcing Definition at line 42 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
priority of the constraint handler for checking feasibility Definition at line 43 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
frequency for separating cuts; zero means to separate only in the root node Definition at line 44 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
frequency for propagating domains; zero means only preprocessing propagation Definition at line 45 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
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 46 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
maximal number of presolving rounds the constraint handler participates in (-1: no limit) Definition at line 49 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
should separation method be delayed, if other separators found cuts? Definition at line 50 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
should propagation method be delayed, if other propagators found reductions? Definition at line 51 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
should the constraint handler be skipped, if no constraints are available? Definition at line 52 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
Definition at line 54 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
Definition at line 55 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
value for infinity in interval operations Definition at line 57 of file cons_bivariate.c. Referenced by propagateBounds(), propagateBoundsCons(), SCIP_DECL_EVENTEXEC(), and SCIP_DECL_EXPRGRAPHVARADDED().
maximal number of iterations in newton method Definition at line 58 of file cons_bivariate.c. Referenced by solveDerivativeEquation().
maximal absolute value of variable for still generating a linearization cut at that point in initlp Definition at line 59 of file cons_bivariate.c. Referenced by SCIP_DECL_CONSINITLP().
priority of the constraint handler for upgrading of quadratic constraints Definition at line 61 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
priority of the constraint handler for upgrading of nonlinear constraints Definition at line 62 of file cons_bivariate.c. Referenced by SCIPincludeConshdlrBivariate().
translate from one value of infinity to another if val is >= infty1, then give infty2, else give val Definition at line 147 of file cons_bivariate.c. Referenced by propagateBoundsCons(), SCIP_DECL_EVENTEXEC(), and SCIP_DECL_EXPRGRAPHVARADDED(). Typedef Documentation
data structure to cache data used for separation of convex-concave constraints Definition at line 83 of file cons_bivariate.c. Function Documentation
processes bound tightening event Definition at line 151 of file cons_bivariate.c. References catchLinearVarEvents(), FALSE, NULL, SCIP_Bool, SCIP_EVENTTYPE_BOUNDTIGHTENED, SCIP_OKAY, and SCIPeventGetType(). Referenced by dropLinearVarEvents(), and separatePoint().
catches variable bound change events on the linear variable in a bivariate constraint
Definition at line 166 of file cons_bivariate.c. References dropLinearVarEvents(), FALSE, NULL, SCIP_CALL, SCIP_EVENTTYPE_DISABLED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPcatchVarEvent(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetData(), SCIPconsIsEnabled(), SCIPconsIsTransformed(), and SCIPisInfinity(). Referenced by removeFixedVariables(), SCIP_DECL_CONSENABLE(), and SCIP_DECL_EVENTEXEC().
drops variable bound change events on the linear variable in a bivariate constraint
Definition at line 219 of file cons_bivariate.c. References NULL, SCIP_CALL, SCIP_DECL_EVENTEXEC(), SCIP_EVENTTYPE_DISABLED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetData(), SCIPconsIsTransformed(), SCIPdropVarEvent(), and SCIPisInfinity(). Referenced by catchLinearVarEvents(), removeFixedVariables(), and SCIP_DECL_CONSDISABLE().
processes bound change events for variables in expression graph Definition at line 271 of file cons_bivariate.c. References FALSE, infty2infty, INTERVALINFTY, NULL, SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_BOUNDTIGHTENED, SCIP_EVENTTYPE_LBCHANGED, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIPdebugMessage, SCIPeventGetNewbound(), SCIPeventGetOldbound(), SCIPeventGetType(), SCIPeventGetVar(), SCIPeventhdlrGetData(), SCIPexprgraphSetVarNodeLb(), SCIPexprgraphSetVarNodeUb(), SCIPinfinity(), and SCIPvarGetName().
callback method for variable addition in expression graph Definition at line 318 of file cons_bivariate.c. References FALSE, infty2infty, INTERVALINFTY, MAX, MIN, NULL, SCIP_CALL, SCIP_DECL_EXPRGRAPHVARREMOVE(), SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIPaddVarLocks(), SCIPcatchVarEvent(), SCIPdebugMessage, SCIPexprgraphSetVarNodeBounds(), SCIPinfinity(), SCIPintervalSetBounds(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and SCIPvarIsActive(). Referenced by SCIP_DECL_EVENTEXEC().
callback method for variable removal in expression graph Definition at line 356 of file cons_bivariate.c. References lockLinearVariable(), NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIPaddVarLocks(), SCIPdebugMessage, SCIPdropVarEvent(), and SCIPvarGetName(). Referenced by SCIP_DECL_EXPRGRAPHVARADDED().
locks linear variable in a constraint
Definition at line 382 of file cons_bivariate.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPisInfinity(), SCIPlockVarCons(), and unlockLinearVariable(). Referenced by removeFixedVariables(), and SCIP_DECL_EXPRGRAPHVARREMOVE().
unlocks linear variable in a constraint
Definition at line 413 of file cons_bivariate.c. References NULL, removeFixedVariables(), SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPisInfinity(), and SCIPunlockVarCons(). Referenced by lockLinearVariable(), and removeFixedVariables().
resolves variable fixations and aggregations in a constraint
Definition at line 444 of file cons_bivariate.c. References catchLinearVarEvents(), dropLinearVarEvents(), FALSE, lockLinearVariable(), NULL, removeFixedNonlinearVariables(), SCIP_CALL, SCIP_EXPR_CONST, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIP_STAGE_EXITPRESOLVE, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIPaddCons(), SCIPblkmem(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsNonlinear(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPexprCreate(), SCIPexprCreateLinear(), SCIPexprFreeDeep(), SCIPexprReindexVars(), SCIPexprtreeCopy(), SCIPexprtreeFree(), SCIPexprtreeGetNVars(), SCIPexprtreeGetRoot(), SCIPexprtreeGetVars(), SCIPexprtreeSetVars(), SCIPexprtreeSubstituteVars(), SCIPgetProbvarSum(), SCIPgetStage(), SCIPisInfinity(), SCIPmarkDoNotMultaggrVar(), SCIPreleaseCons(), SCIPvarGetProbvar(), SCIPvarGetStatus(), SCIPvarIsActive(), TRUE, and unlockLinearVariable(). Referenced by SCIP_DECL_CONSEXITPRE(), SCIP_DECL_CONSPRESOL(), and unlockLinearVariable().
removes fixed variables from expression graph
Definition at line 670 of file cons_bivariate.c. References computeViolation(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPconshdlrGetData(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPexprgraphGetNVars(), SCIPexprgraphGetVars(), SCIPexprgraphReplaceVarByLinearSum(), SCIPfreeBufferArray, SCIPgetProbvarLinearSum(), SCIPreallocBufferArray, SCIPvarGetName(), SCIPvarIsActive(), and TRUE. Referenced by removeFixedVariables(), SCIP_DECL_CONSEXITPRE(), and SCIP_DECL_CONSPRESOL().
computes violation of a constraint
Definition at line 746 of file cons_bivariate.c. References computeViolations(), MAX, MIN, NULL, REALABS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPABORT, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPerrorMessage, SCIPexprintCompile(), SCIPexprintEval(), SCIPexprintGrad(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetVars(), SCIPgetSolVal(), SCIPinfinity(), SCIPisEQ(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisFinite, SCIPisInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and TRUE. Referenced by computeViolations(), proposeFeasibleSolution(), removeFixedNonlinearVariables(), and SCIP_DECL_CONSCHECK().
computes violation of a set of constraints
Definition at line 907 of file cons_bivariate.c. References computeViolation(), initSepaDataCreateVred(), MAX, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPfeastol(), and SCIPisGT(). Referenced by computeViolation(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSSEPALP(), and SCIP_DECL_CONSSEPASOL().
setup vred(s;x0,y0,ylb,yub) for a given f(x,y) for computing a convex-concave underestimator vred(s;x0,y0,ylb,yub) = (yub-y0)/(yub-ylb) f((yub-ylb)/(yub-y0)x0 - (y0-ylb)/(yub-y0)*s, ylb) + (y0-ylb)/(yub-ylb) f(s,yub)
Definition at line 955 of file cons_bivariate.c. References initSepaData(), NULL, SCIP_CALL, SCIP_EXPR_DIV, SCIP_EXPR_MINUS, SCIP_EXPR_MUL, SCIP_EXPR_PARAM, SCIP_EXPR_PLUS, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPexprCopyDeep(), SCIPexprCreate(), SCIPexprCreateLinear(), SCIPexprFreeDeep(), SCIPexprGetOperator(), SCIPexprSubstituteVars(), SCIPexprtreeCreate(), and SCIPexprtreeGetRoot(). Referenced by computeViolations(), and initSepaData().
initializes separation data
Definition at line 1055 of file cons_bivariate.c. References freeSepaData(), initSepaDataCreateVred(), MAX, MIN, NULL, SCIP_BIVAR_CONVEX_CONCAVE, SCIP_Bool, SCIP_CALL, SCIP_EXPR_PARAM, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPconsGetData(), SCIPexprCopyDeep(), SCIPexprCreate(), SCIPexprCreateLinear(), SCIPexprFreeDeep(), SCIPexprintCompile(), SCIPexprintHessianSparsityDense(), SCIPexprReindexVars(), SCIPexprtreeCopy(), SCIPexprtreeCreate(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetRoot(), SCIPexprtreeGetVars(), SCIPexprtreeSetParams(), SCIPexprtreeSetVars(), SCIPexprtreeSubstituteVars(), SCIPisInfinity(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by initSepaDataCreateVred(), and SCIP_DECL_CONSINITSOL().
frees separation data
Definition at line 1211 of file cons_bivariate.c. References NULL, perturb(), SCIP_BIVAR_CONVEX_CONCAVE, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), and SCIPexprtreeFree(). Referenced by initSepaData(), and SCIP_DECL_CONSEXITSOL(). perturbs a value w.r.t. bounds
Definition at line 1260 of file cons_bivariate.c. References MIN, NULL, SCIP_Real, and solveDerivativeEquation(). Referenced by freeSepaData(), generate1ConvexIndefiniteUnderestimator(), generateConvexConcaveUnderestimator(), generateLinearizationCut(), and solveDerivativeEquation().
solves an equation f'(s) = constant for a univariate convex or concave function f with respect to bounds on s if there is no s between the bounds such that f'(s) = constant, then it returns the closest bound (and still claims success)
Definition at line 1285 of file cons_bivariate.c. References FALSE, generateLinearizationCut(), MAX, MIN, NEWTONMAXITER, NULL, perturb(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPexprintGrad(), SCIPexprintHessianDense(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisFinite, SCIPisRelEQ(), SCIPisZero(), and TRUE. Referenced by generateConvexConcaveUnderestimator(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateUnderestimatorParallelYFacets(), and perturb().
generates a cut for f(x,y) + c*z <= rhs with f(x,y) being convex or 1-convex with x or y fixed or convex-concave with y fixed f(x0, y0) + <grad, (x,y)-(x0,y0)> + c*z <= rhs, where grad is gradient of f in (x0, y0)
Definition at line 1445 of file cons_bivariate.c. References FALSE, generateEstimatingHyperplane(), NULL, perturb(), SCIP_BIVAR_1CONVEX_INDEFINITE, SCIP_BIVAR_ALLCONVEX, SCIP_BIVAR_CONVEX_CONCAVE, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddVarsToRow(), SCIPaddVarToRow(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPcreateEmptyRowCons(), SCIPdebugMessage, SCIPexprintCompile(), SCIPexprintGrad(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetVars(), SCIPgetNLPs(), SCIPinfinity(), SCIPisEQ(), SCIPisFinite, SCIPisInfinity(), SCIPsnprintf(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE. Referenced by generateCut(), SCIP_DECL_CONSINITLP(), SCIP_DECL_EVENTEXEC(), and solveDerivativeEquation().
given a convex (concave, resp.) bivariate function, computes an over- (under-, resp.) estimating hyperplane does not succeed if some variable is unbounded or both variables are fixed
Definition at line 1521 of file cons_bivariate.c. References FALSE, generateOverestimatingHyperplaneCut(), NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcomputeHyperplaneThreePoints(), SCIPdebugMessage, SCIPexprintEval(), SCIPexprtreeGetVars(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisFeasLE(), SCIPisFinite, SCIPisGE(), SCIPisInfinity(), SCIPisLE(), SCIPisNegative(), SCIPisZero(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE. Referenced by generateConvexConcaveEstimator(), generateLinearizationCut(), and generateOverestimatingHyperplaneCut().
generates a cut for lhs <= f(x,y) + c*z with f(x,y) being convex
Definition at line 1767 of file cons_bivariate.c. References FALSE, generateEstimatingHyperplane(), generateUnderestimatorParallelYFacets(), NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPaddVarsToRow(), SCIPaddVarToRow(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPcreateRowCons(), SCIPdebugMessage, SCIPexprtreeGetVars(), SCIPinfinity(), SCIPisFinite, SCIPisInfinity(), and TRUE. Referenced by generateCut(), generateEstimatingHyperplane(), and SCIP_DECL_CONSINITLP().
generates a linear underestimator for f(x,y) when the generators of the underestimating segment are contained in y=ylb and y=yub. Generate coefficients cutcoeff = (alpha, beta, gamma, delta), such that alpha * x + beta * y - delta <= gamma * f(x,y)
Definition at line 1819 of file cons_bivariate.c. References FALSE, generateOrthogonal_lx_ly_Underestimator(), MAX, MIN, NULL, REALABS, SCIP_CALL, SCIP_EXPR_CONST, SCIP_EXPR_MUL, SCIP_EXPR_PLUS, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPexprCopyDeep(), SCIPexprCreate(), SCIPexprFreeDeep(), SCIPexprGetOperator(), SCIPexprintCompile(), SCIPexprintGrad(), SCIPexprSubstituteVars(), SCIPexprtreeCreate(), SCIPexprtreeEval(), SCIPexprtreeFree(), SCIPexprtreeGetRoot(), SCIPexprtreeGetVars(), SCIPexprtreePrintWithNames(), SCIPgetMessagehdlr(), SCIPisEQ(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisFinite, SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), solveDerivativeEquation(), and TRUE. Referenced by generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), and generateOverestimatingHyperplaneCut().
generates a linear underestimator for f(x,y) with f(x,y) being convex in x and convex in y. The segmenent connects orthogonal facets: Either (x=l_x,y=l_y) or (x=u_x,y=u_y). generate coefficients cutcoeff = (alpha, beta, gamma, delta), such that alpha * x + beta * y - delta <= gamma * f(x,y)
Definition at line 2050 of file cons_bivariate.c. References FALSE, generateOrthogonal_lx_uy_Underestimator(), MAX, MIN, NULL, REALABS, SCIP_CALL, SCIP_EXPR_CONST, SCIP_EXPR_DIV, SCIP_EXPR_MINUS, SCIP_EXPR_MUL, SCIP_EXPR_PLUS, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPexprCopyDeep(), SCIPexprCreate(), SCIPexprFreeDeep(), SCIPexprGetOperator(), SCIPexprintCompile(), SCIPexprintGrad(), SCIPexprSubstituteVars(), SCIPexprtreeCreate(), SCIPexprtreeEval(), SCIPexprtreeFree(), SCIPexprtreeGetRoot(), SCIPexprtreeGetVars(), SCIPexprtreePrintWithNames(), SCIPgetMessagehdlr(), SCIPisEQ(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisFinite, SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), solveDerivativeEquation(), and TRUE. Referenced by generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), and generateUnderestimatorParallelYFacets().
generates a linear underestimator for f(x,y) with f(x,y) being convex in x and convex in y generate coefficients cutcoeff = (alpha, beta, gamma, delta), such that alpha * x + beta * y - delta <= gamma * f(x,y)
Definition at line 2444 of file cons_bivariate.c. References FALSE, generateConvexConcaveUnderestimator(), MAX, MIN, NULL, REALABS, SCIP_CALL, SCIP_EXPR_CONST, SCIP_EXPR_DIV, SCIP_EXPR_MINUS, SCIP_EXPR_MUL, SCIP_EXPR_PLUS, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPexprCopyDeep(), SCIPexprCreate(), SCIPexprFreeDeep(), SCIPexprGetOperator(), SCIPexprintCompile(), SCIPexprintGrad(), SCIPexprSubstituteVars(), SCIPexprtreeCreate(), SCIPexprtreeEval(), SCIPexprtreeFree(), SCIPexprtreeGetRoot(), SCIPexprtreeGetVars(), SCIPexprtreePrintWithNames(), SCIPgetMessagehdlr(), SCIPisEQ(), SCIPisFinite, SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), solveDerivativeEquation(), and TRUE. Referenced by generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), and generateOrthogonal_lx_ly_Underestimator().
generates a linear underestimator for f(x,y) with f(x,y) being STRICTLY convex in x and concave in y generate coefficients cutcoeff = (alpha, beta, gamma, delta), such that alpha * x + beta * y - delta <= gamma * f(x,y)
Definition at line 2834 of file cons_bivariate.c. References FALSE, generateConvexConcaveEstimator(), MAX, MIN, NULL, perturb(), REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPexprintEval(), SCIPexprintGrad(), SCIPexprintNewParametrization(), SCIPexprtreeEval(), SCIPexprtreeGetVars(), SCIPexprtreePrint(), SCIPexprtreePrintWithNames(), SCIPexprtreeSetParams(), SCIPexprtreeSetParamVal(), SCIPgetMessagehdlr(), SCIPinfinity(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisFinite, SCIPisGE(), SCIPisInfinity(), SCIPisLE(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), solveDerivativeEquation(), and TRUE. Referenced by generateConvexConcaveEstimator(), and generateOrthogonal_lx_uy_Underestimator().
generates a cut for one side of lhs <= f(x,y) + c*z <= rhs with f(x,y) being convex in x and concave in y
Definition at line 3337 of file cons_bivariate.c. References FALSE, generateConvexConcaveUnderestimator(), generateEstimatingHyperplane(), lifting(), NULL, SCIP_BIVAR_CONVEX_CONCAVE, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIP_STAGE_SOLVING, SCIPaddVarsToRow(), SCIPaddVarToRow(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPcreateEmptyRowCons(), SCIPcreateRowCons(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPexprtreeGetVars(), SCIPgetNLPs(), SCIPgetStage(), SCIPinfinity(), SCIPisFinite, SCIPisInfinity(), SCIPisPositive(), SCIPsnprintf(), and TRUE. Referenced by generateConvexConcaveUnderestimator(), generateCut(), and SCIP_DECL_CONSINITLP().
computes an underestimating hyperplane for functions that are convex in x and y if the point to cut off lies on the boundary
Definition at line 3504 of file cons_bivariate.c. References FALSE, generate1ConvexIndefiniteUnderestimatorAtBoundary(), NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPexprintGrad(), SCIPisEQ(), SCIPisFinite, SCIPisInfinity(), and TRUE. Referenced by generate1ConvexIndefiniteUnderestimatorAtBoundary(), and generateConvexConcaveEstimator().
generate a linear underestimator for f(x,y) with f(x,y) being convex in x and convex in y and the point to cut off lies on the boundary generate coefficients cutcoeff = (alpha, beta, gamma, delta), such that alpha * x + beta * y - delta <= gamma * f(x,y)
Definition at line 3594 of file cons_bivariate.c. References FALSE, generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), lifting(), NULL, REALABS, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIP_Real, SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPerrorMessage, SCIPexprintGrad(), SCIPexprtreeGetVars(), SCIPexprtreePrintWithNames(), SCIPgetMessagehdlr(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisFinite, SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE. Referenced by generate1ConvexIndefiniteUnderestimator(), and lifting().
generates a linear underestimator for f(x,y) with f(x,y) being convex in x and convex in y but indefinite This is for the case where the cone of the concave directions is (R_+ x R_-) union (R_- x R_+). We consider two cases: a) the underestimating segmenent connects parallel facets b) the underestimating segmenent connects orthogonal facets where x=l_x, y=l_y and x=u_x, y=u_y We ensure that the parallel facets are the horizontal with y=l_y and y=u_y We compute the objective value of the two problems. The smaller objective value corresponds to the convex envelope. The supporting hyperplane is then constructed at the this point.
Definition at line 3788 of file cons_bivariate.c. References FALSE, generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateOrthogonal_lx_ly_Underestimator(), generateUnderestimatorParallelYFacets(), NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPexprCreate(), SCIPexprFreeDeep(), SCIPexprintCompile(), SCIPexprintGrad(), SCIPexprtreeCopy(), SCIPexprtreeFree(), SCIPexprtreeGetVars(), SCIPexprtreePrintWithNames(), SCIPexprtreeSetVars(), SCIPexprtreeSubstituteVars(), SCIPgetMessagehdlr(), SCIPinfinity(), SCIPisFinite, SCIPisInfinity(), SCIPisPositive(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE. Referenced by generate1ConvexIndefiniteUnderestimator(), and generate1ConvexIndefiniteUnderestimatorAtBoundary().
generates a linear underestimator for f(x,y) with f(x,y) being convex in x and convex in y but indefinite This is for the case where the cone of the concave directions is (R_+ x R_+) union (R_- x R_-). We consider two cases: a) the underestimating segmenent connects parallel facets b) the underestimating segmenent connects orthogonal facets where x=l_x, y=u_y and x=u_x, y=l_y We ensure that the parallel facets are the horizontal with y=l_y and y=u_y We compute the objective value of the two problems. The smaller objective value corresponds to the convex envelope. The supporting hyperplane is then constructed at the this point. Generates coefficients cutcoeff = (alpha, beta, gamma, delta), such that alpha * x + beta * y - delta <= gamma * f(x,y)
Definition at line 3988 of file cons_bivariate.c. References FALSE, generate1ConvexIndefiniteUnderestimator(), generateOrthogonal_lx_uy_Underestimator(), generateUnderestimatorParallelYFacets(), NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPexprCreate(), SCIPexprFreeDeep(), SCIPexprintCompile(), SCIPexprintGrad(), SCIPexprtreeCopy(), SCIPexprtreeFree(), SCIPexprtreeGetVars(), SCIPexprtreePrintWithNames(), SCIPexprtreeSetVars(), SCIPexprtreeSubstituteVars(), SCIPgetMessagehdlr(), SCIPinfinity(), SCIPisFinite, SCIPisGE(), SCIPisInfinity(), SCIPisPositive(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE. Referenced by generate1ConvexIndefiniteUnderestimator(), and generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA().
generates a linear underestimator for f(x,y) with f(x,y) being convex in x and convex in y but indefinite generate coefficients cutcoeff = (alpha, beta, gamma, delta), such that alpha * x + beta * y - delta <= gamma * f(x,y)
Definition at line 4180 of file cons_bivariate.c. References FALSE, generate1ConvexIndefiniteUnderestimatorAtBoundary(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateCut(), NULL, perturb(), REALABS, SCIP_BIVAR_1CONVEX_INDEFINITE, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPaddVarToRow(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPcreateEmptyRowCons(), SCIPdebugMessage, SCIPexprintHessianDense(), SCIPexprtreeGetVars(), SCIPinfinity(), SCIPisFeasEQ(), SCIPisFinite, SCIPisInfinity(), SCIPisPositive(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE. Referenced by generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateCut(), and SCIP_DECL_CONSINITLP().
generates a cut
Definition at line 4326 of file cons_bivariate.c. References FALSE, generate1ConvexIndefiniteUnderestimator(), generateConvexConcaveEstimator(), generateLinearizationCut(), generateOverestimatingHyperplaneCut(), isConvexLocal(), MAX, MIN, NULL, REALABS, SCIP_BIVAR_1CONVEX_INDEFINITE, SCIP_BIVAR_ALLCONVEX, SCIP_BIVAR_CONVEX_CONCAVE, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIPaddVarToRow(), SCIPchgRowLhs(), SCIPchgRowRhs(), SCIPcolGetVar(), SCIPconsGetData(), SCIPconsGetName(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintCons, SCIPdebugPrintf, SCIPexprtreeGetVars(), SCIPgetRowMaxCoef(), SCIPgetRowMinCoef(), SCIPgetSolVal(), SCIPisEQ(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisInfinity(), SCIPprintRow(), SCIPreleaseRow(), SCIProwGetCols(), SCIProwGetLhs(), SCIProwGetNNonz(), SCIProwGetRhs(), SCIProwGetVals(), SCIProwIsLocal(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), and SCIPvarGetUbLocal(). Referenced by generate1ConvexIndefiniteUnderestimator(), and separatePoint().
returns whether one side of a constraint function is convex w.r.t. local bounds i.e., if side == RIGHT, then returns whether constraint function is convex w.r.t. local bounds and if side == LEFT, then returns whether constraint function is concave w.r.t. local bounds
Definition at line 4528 of file cons_bivariate.c. References FALSE, NULL, SCIP_BIVAR_1CONVEX_INDEFINITE, SCIP_BIVAR_ALLCONVEX, SCIP_BIVAR_CONVEX_CONCAVE, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIPcolGetVar(), SCIPconsGetData(), SCIPexprtreeGetVars(), SCIPexprtreePrint(), SCIPgetMessagehdlr(), SCIPgetSolVal(), SCIPinfoMessage(), SCIPisEQ(), SCIPisInfinity(), SCIProwGetCols(), SCIProwGetLhs(), SCIProwGetNNonz(), SCIProwGetRhs(), SCIProwGetVals(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and separatePoint(). Referenced by generateCut(), and separatePoint().
tries to separate solution or LP solution by a linear cut assumes that constraint violations have been computed
Definition at line 4629 of file cons_bivariate.c. References FALSE, generateCut(), isConvexLocal(), MAX, MIN, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_EVENTEXEC(), SCIP_DIDNOTFIND, SCIP_FEASIBLE, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_SEPARATED, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIPABORT, SCIPaddCut(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPdebug, SCIPdebugMessage, SCIPepsilon(), SCIPerrorMessage, SCIPfeastol(), SCIPgetRelaxFeastolFactor(), SCIPgetRowLPFeasibility(), SCIPgetRowMaxCoef(), SCIPgetRowSolFeasibility(), SCIPisCutApplicable(), SCIPisGT(), SCIPmarkRowNotRemovableLocal(), SCIPreleaseRow(), SCIProwGetLhs(), and SCIProwGetRhs(). Referenced by isConvexLocal(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSSEPALP(), and SCIP_DECL_CONSSEPASOL().
processes the event that a new primal solution has been found adds linearizations of all-convex constraints to the cutpool Definition at line 4771 of file cons_bivariate.c. References generateLinearizationCut(), NULL, registerBranchingVariables(), SCIP_BIVAR_ALLCONVEX, SCIP_CALL, SCIP_EVENTTYPE_SOLFOUND, SCIP_OKAY, SCIP_Real, SCIPaddPoolCut(), SCIPconsGetData(), SCIPconshdlrGetConss(), SCIPconshdlrGetData(), SCIPconshdlrGetNConss(), SCIPconsIsLocal(), SCIPdebugMessage, SCIPeventGetSol(), SCIPeventGetType(), SCIPexprtreeGetVars(), SCIPgetSolVals(), SCIPheurGetName(), SCIPisInfinity(), SCIPreleaseRow(), SCIProwIsLocal(), SCIPsolGetHeur(), and TRUE.
registers unfixed variables in nonlinear terms of violated constraints as external branching candidates We score the variables by their gap between the convex envelope and the bivariate function in the current (x,y). This value is given by the constraint violation, since we assume that cuts have been generated which support the convex envelope in the LP.
Definition at line 4851 of file cons_bivariate.c. References NULL, registerLargeLPValueVariableForBranching(), SCIP_BIVAR_1CONVEX_INDEFINITE, SCIP_BIVAR_ALLCONVEX, SCIP_BIVAR_CONVEX_CONCAVE, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPaddExternBranchCand(), SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPexprtreeGetVars(), SCIPisEQ(), SCIPisFeasZero(), SCIPvarGetLbLocal(), SCIPvarGetName(), and SCIPvarGetUbLocal(). Referenced by SCIP_DECL_CONSENFOLP(), and SCIP_DECL_EVENTEXEC().
registers a nonlinear variable from a violated constraint as branching candidate that has a large absolute value in the LP relaxation
Definition at line 4962 of file cons_bivariate.c. References enforceViolatedFixedNonlinear(), NULL, REALABS, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPaddExternBranchCand(), SCIPconsGetData(), SCIPexprtreeGetVars(), SCIPfeastol(), SCIPgetSolVal(), SCIPisEQ(), SCIPisGT(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by registerBranchingVariables(), and SCIP_DECL_CONSENFOLP().
enforces violated bivariate constraints where both nonlinear variables can be assumed to be fixed apply a bound change to the remaining linear variable, or recognizing infeasibility
Definition at line 5019 of file cons_bivariate.c. References FALSE, NULL, propagateBoundsTightenVar(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPdebugMessage, SCIPevalExprtreeLocalBounds(), SCIPfeastol(), SCIPinfinity(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPintervalIsEmpty(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPisGT(), SCIPisInfinity(), SCIPisZero(), SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPvarGetName(), and TRUE. Referenced by registerLargeLPValueVariableForBranching(), and SCIP_DECL_CONSENFOLP().
tightens bounds on a variable to given interval
Definition at line 5146 of file cons_bivariate.c. References FALSE, NULL, propagateBoundsCons(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_VARSTATUS_MULTAGGR, SCIPadjustedVarLb(), SCIPconsGetName(), SCIPdebugMessage, SCIPinfinity(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPintervalIsEmpty(), SCIPintervalIsNegativeInfinity(), SCIPintervalIsPositiveInfinity(), SCIPisInfinity(), SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), and SCIPvarGetUbLocal(). Referenced by enforceViolatedFixedNonlinear(), propagateBounds(), and propagateBoundsCons().
tightens bounds of z in a single bivariate constraint checks for redundancy and infeasibility
Definition at line 5218 of file cons_bivariate.c. References FALSE, infty2infty, INTERVALINFTY, MAX, MIN, NULL, propagateBounds(), propagateBoundsTightenVar(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_SUCCESS, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPdebugMessage, SCIPepsilon(), SCIPexprgraphGetNodeBounds(), SCIPexprgraphTightenNodeBounds(), SCIPinfinity(), SCIPinProbing(), SCIPintervalAdd(), SCIPintervalAreDisjoint(), SCIPintervalDivScalar(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPintervalIsEmpty(), SCIPintervalIsSubsetEQ(), SCIPintervalMulScalar(), SCIPintervalSet(), SCIPintervalSetBounds(), SCIPintervalSub(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE. Referenced by propagateBounds(), and propagateBoundsTightenVar().
calls domain propagation for a set of constraints
Definition at line 5334 of file cons_bivariate.c. References FALSE, INTERVALINFTY, NULL, propagateBoundsCons(), propagateBoundsTightenVar(), proposeFeasibleSolution(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsDeleted(), SCIPconsIsEnabled(), SCIPdebugMessage, SCIPdelConsLocal(), SCIPexprgraphGetNodeBounds(), SCIPexprgraphGetNVars(), SCIPexprgraphGetVarNodes(), SCIPexprgraphGetVars(), SCIPexprgraphPropagateNodeBounds(), SCIPexprgraphPropagateVarBounds(), SCIPinProbing(), and TRUE. Referenced by propagateBoundsCons(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSPRESOL(), and SCIP_DECL_CONSPROP().
Given a solution where every bivariate constraint is either feasible or can be made feasible by moving the 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 5485 of file cons_bivariate.c. References computeViolation(), createConsFromQuadTerm(), FALSE, MAX, MIN, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_SOLVED, SCIPceil(), SCIPconsGetData(), SCIPconshdlrGetData(), SCIPcreateLPSol(), SCIPcreateSolCopy(), SCIPdebugMessage, SCIPfeastol(), SCIPfloor(), SCIPfreeSol(), SCIPgetSolTransObj(), SCIPgetSolVal(), SCIPgetStage(), SCIPgetUpperbound(), SCIPheurPassSolTrySol(), SCIPincSolVal(), SCIPisGT(), SCIPisInfinity(), SCIPisNegative(), SCIPisPositive(), SCIPisSumLT(), SCIPisZero(), SCIPunlinkSol(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarIsIntegral(), and TRUE. Referenced by propagateBounds(), and SCIP_DECL_CONSCHECK().
creates bivariate constraint from quadratic constraint data of the form lhs <= xsqrcoef * x^2 + xlincoef * x + ysqrcoef * y^2 + ylincoef * y + bilincoef * x*y + zcoef * z <= rhs
Definition at line 5640 of file cons_bivariate.c. References SCIP_QuadElement::coef, createExprtreeFromMonomial(), SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, NULL, SCIP_BIVAR_1CONVEX_INDEFINITE, SCIP_BIVAR_ALLCONVEX, SCIP_BIVAR_CONVEX_CONCAVE, SCIP_CALL, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsBivariate(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPexprCreate(), SCIPexprCreateQuadratic(), SCIPexprtreeCreate(), SCIPexprtreeFree(), SCIPexprtreeSetVars(), and SCIPisLE(). Referenced by proposeFeasibleSolution(), and SCIP_DECL_QUADCONSUPGD().
creates expression tree for monomial of the form coef * x^p * y^q with x >= 0 and y >= 0 and checks its convexity type
Definition at line 5806 of file cons_bivariate.c. References createConsFromMonomial(), FALSE, NULL, SCIP_BIVAR_1CONVEX_INDEFINITE, SCIP_BIVAR_ALLCONVEX, SCIP_BIVAR_CONVEX_CONCAVE, SCIP_BIVAR_UNKNOWN, SCIP_Bool, SCIP_CALL, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPexprCreate(), SCIPexprCreateMonomial(), SCIPexprCreatePolynomial(), SCIPexprtreeCreate(), SCIPexprtreeSetVars(), SCIPisZero(), and TRUE. Referenced by createConsFromMonomial(), and createConsFromQuadTerm().
creates bivariate constraint from monomial of the form coef * x^p * y^q with x >= 0 and y >= 0 lhs <= coef * x^p * y^q + zcoef * z <= rhs
Definition at line 5923 of file cons_bivariate.c. References createExprtreeFromMonomial(), FALSE, NULL, SCIP_CALL, SCIP_DECL_CONSHDLRCOPY(), SCIP_OKAY, SCIP_Real, SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsBivariate(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPexprtreeFree(), SCIPisLE(), SCIPisZero(), SCIPvarGetName(), and TRUE. Referenced by createExprtreeFromMonomial(), and SCIP_DECL_EXPRGRAPHNODEREFORM().
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 6000 of file cons_bivariate.c. References NULL, SCIP_CALL, SCIP_DECL_CONSFREE(), SCIP_OKAY, SCIPincludeConshdlrBivariate(), and TRUE. Referenced by createConsFromMonomial().
destructor of constraint handler to free constraint handler data (called when SCIP is exiting) Definition at line 6016 of file cons_bivariate.c. References NULL, SCIP_CALL, SCIP_DECL_CONSINIT(), SCIP_OKAY, SCIPconshdlrGetData(), SCIPexprgraphFree(), SCIPexprgraphGetNVars(), SCIPexprintFree(), and SCIPfreeMemory. Referenced by SCIP_DECL_CONSHDLRCOPY().
initialization method of constraint handler (called after problem was transformed) Definition at line 6044 of file cons_bivariate.c. References NULL, SCIP_DECL_CONSEXIT(), SCIP_OKAY, SCIPconshdlrGetData(), and SCIPfindHeur(). Referenced by SCIP_DECL_CONSFREE().
deinitialization method of constraint handler (called before transformed problem is freed) Definition at line 6062 of file cons_bivariate.c. References NULL, SCIP_DECL_CONSINITPRE(), SCIP_OKAY, and SCIPconshdlrGetData(). Referenced by SCIP_DECL_CONSINIT().
presolving initialization method of constraint handler (called when presolving is about to begin) Definition at line 6080 of file cons_bivariate.c. References FALSE, NULL, SCIP_DECL_CONSEXITPRE(), SCIP_OKAY, and SCIPconsGetData(). Referenced by SCIP_DECL_CONSEXIT().
presolving deinitialization method of constraint handler (called after presolving has been finished) Definition at line 6103 of file cons_bivariate.c. References NULL, removeFixedNonlinearVariables(), removeFixedVariables(), SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSINITSOL(), SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconsIsAdded(), SCIPenableNLP(), SCIPexprtreeGetNVars(), SCIPvarGetStatus(), and SCIPvarIsActive(). Referenced by SCIP_DECL_CONSINITPRE().
solving process initialization method of constraint handler (called when branch and bound process is about to begin) Definition at line 6154 of file cons_bivariate.c. References BMSclearMemoryArray, CONSHDLR_NAME, initSepaData(), NULL, SCIP_BIVAR_1CONVEX_INDEFINITE, SCIP_BIVAR_ALLCONVEX, SCIP_BIVAR_CONVEX_CONCAVE, SCIP_BIVAR_UNKNOWN, SCIP_CALL, SCIP_DECL_CONSEXITSOL(), SCIP_EVENTTYPE_SOLFOUND, SCIP_OKAY, SCIP_VERBLEVEL_HIGH, SCIPaddNlRow(), SCIPcatchEvent(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsEnabled(), SCIPcreateNlRow(), SCIPdebugMessage, SCIPfindEventhdlr(), SCIPisInfinity(), SCIPisNLPConstructed(), SCIPreleaseNlRow(), SCIPvarGetName(), SCIPvarGetNLocksDown(), SCIPverbMessage(), and TRUE. Referenced by SCIP_DECL_CONSEXITPRE().
solving process deinitialization method of constraint handler (called before branch and bound process data is freed) Definition at line 6283 of file cons_bivariate.c. References CONSHDLR_NAME, freeSepaData(), NULL, SCIP_CALL, SCIP_DECL_CONSDELETE(), SCIP_EVENTTYPE_SOLFOUND, SCIP_OKAY, SCIPconshdlrGetData(), SCIPdropEvent(), and SCIPfindEventhdlr(). Referenced by SCIP_DECL_CONSINITSOL().
frees specific constraint data Definition at line 6318 of file cons_bivariate.c. References NULL, SCIP_CALL, SCIP_DECL_CONSTRANS(), SCIP_OKAY, SCIPconshdlrGetData(), SCIPexprtreeFree(), and SCIPfreeMemory. Referenced by SCIP_DECL_CONSEXITSOL().
transforms constraint data into data belonging to the transformed problem Definition at line 6349 of file cons_bivariate.c. References NULL, SCIP_CALL, SCIP_DECL_CONSINITLP(), SCIP_OKAY, SCIPblkmem(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateCons(), SCIPduplicateMemory, SCIPexprtreeCopy(), SCIPexprtreeGetVars(), SCIPexprtreeSetVars(), SCIPgetTransformedVar(), and SCIPgetTransformedVars(). Referenced by SCIP_DECL_CONSDELETE().
LP initialization method of constraint handler (called before the initial LP relaxation at a node is solved) Definition at line 6383 of file cons_bivariate.c. References FALSE, generate1ConvexIndefiniteUnderestimator(), generateConvexConcaveEstimator(), generateLinearizationCut(), generateOverestimatingHyperplaneCut(), INITLPMAXVARVAL, MAX, MIN, NULL, SCIP_BIVAR_1CONVEX_INDEFINITE, SCIP_BIVAR_ALLCONVEX, SCIP_BIVAR_CONVEX_CONCAVE, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSSEPALP(), SCIP_OKAY, SCIP_Real, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIPaddCut(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPdebug, SCIPdebugMessage, SCIPexprintCompile(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetVars(), SCIPgetRowMaxCoef(), SCIPgetRowMinCoef(), SCIPisInfinity(), SCIPisNegative(), SCIPisPositive(), SCIPisZero(), SCIPprintRow(), SCIPreleaseRow(), SCIProwGetLhs(), SCIProwGetRhs(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPwarningMessage(), and TRUE. Referenced by SCIP_DECL_CONSTRANS().
separation method of constraint handler for LP solutions Definition at line 6607 of file cons_bivariate.c. References computeViolations(), FALSE, NULL, SCIP_CALL, SCIP_DECL_CONSSEPASOL(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIPconshdlrGetData(), and separatePoint(). Referenced by SCIP_DECL_CONSINITLP().
separation method of constraint handler for arbitrary primal solutions Definition at line 6635 of file cons_bivariate.c. References computeViolations(), FALSE, NULL, SCIP_CALL, SCIP_DECL_CONSENFOLP(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIPconshdlrGetData(), and separatePoint(). Referenced by SCIP_DECL_CONSSEPALP().
constraint enforcing method of constraint handler for LP solutions Definition at line 6662 of file cons_bivariate.c. References computeViolations(), enforceViolatedFixedNonlinear(), MAX, MIN, NULL, propagateBounds(), registerBranchingVariables(), registerLargeLPValueVariableForBranching(), SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSENFOPS(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPcreateChild(), SCIPdebugMessage, SCIPepsilon(), SCIPfeastol(), SCIPgetCurrentNode(), SCIPgetRelaxFeastolFactor(), SCIPgetSolVal(), SCIPisGT(), SCIPisStopped(), SCIPnodeGetEstimate(), SCIPvarGetName(), SCIPwarningMessage(), separatePoint(), and TRUE. Referenced by SCIP_DECL_CONSSEPASOL().
constraint enforcing method of constraint handler for pseudo solutions Definition at line 6818 of file cons_bivariate.c. References computeViolations(), MAX, NULL, propagateBounds(), SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSCHECK(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_INVALID, SCIP_OKAY, SCIP_REDUCEDDOM, SCIP_SOLVELP, SCIPaddExternBranchCand(), SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPexprtreeGetVars(), SCIPfeastol(), SCIPisGT(), SCIPisRelEQ(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by SCIP_DECL_CONSENFOLP().
feasibility check method of constraint handler for integral solutions Definition at line 6899 of file cons_bivariate.c. References computeViolation(), FALSE, NULL, proposeFeasibleSolution(), REALABS, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSPROP(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPfeastol(), SCIPinfoMessage(), SCIPisGT(), SCIPisInfinity(), SCIPprintCons(), and SCIPupdateStartpointHeurSubNlp(). Referenced by SCIP_DECL_CONSENFOPS().
domain propagation method of constraint handler Definition at line 6995 of file cons_bivariate.c. References NULL, propagateBounds(), SCIP_CALL, SCIP_DECL_CONSPRESOL(), and SCIP_OKAY. Referenced by SCIP_DECL_CONSCHECK().
presolving method of constraint handler Definition at line 7012 of file cons_bivariate.c. References FALSE, NULL, propagateBounds(), removeFixedNonlinearVariables(), removeFixedVariables(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSLOCK(), SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_REDUCEDDOM, SCIP_SUCCESS, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPdebugMessage, SCIPdebugPrintCons, and SCIPdelCons(). Referenced by SCIP_DECL_CONSPROP().
variable rounding lock method of constraint handler Definition at line 7089 of file cons_bivariate.c. References NULL, SCIP_CALL, SCIP_DECL_CONSACTIVE(), SCIP_OKAY, SCIPaddVarLocks(), SCIPconsGetData(), and SCIPisInfinity(). Referenced by SCIP_DECL_CONSPRESOL().
constraint activation notification method of constraint handler Definition at line 7131 of file cons_bivariate.c. References NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSDEACTIVE(), SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsTransformed(), SCIPdebugMessage, SCIPexprgraphAddExprtreeSum(), SCIPexprtreeGetVars(), SCIPmarkDoNotMultaggrVar(), and SCIPvarIsActive(). Referenced by SCIP_DECL_CONSLOCK().
constraint deactivation notification method of constraint handler Definition at line 7175 of file cons_bivariate.c. References NULL, SCIP_CALL, SCIP_DECL_CONSENABLE(), SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsTransformed(), SCIPdebugMessage, and SCIPexprgraphReleaseNode(). Referenced by SCIP_DECL_CONSACTIVE().
constraint enabling notification method of constraint handler Definition at line 7202 of file cons_bivariate.c. References catchLinearVarEvents(), NULL, SCIP_CALL, SCIP_DECL_CONSDISABLE(), SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPconsIsTransformed(), SCIPdebugMessage, and SCIPexprgraphEnableNode(). Referenced by SCIP_DECL_CONSDEACTIVE().
constraint disabling notification method of constraint handler Definition at line 7234 of file cons_bivariate.c. References dropLinearVarEvents(), NULL, SCIP_CALL, SCIP_DECL_CONSPRINT(), SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsTransformed(), SCIPdebugMessage, and SCIPexprgraphDisableNode(). Referenced by SCIP_DECL_CONSENABLE().
constraint display method of constraint handler Definition at line 7264 of file cons_bivariate.c. References NULL, SCIP_BIVAR_1CONVEX_INDEFINITE, SCIP_BIVAR_ALLCONVEX, SCIP_BIVAR_CONVEX_CONCAVE, SCIP_CALL, SCIP_DECL_CONSCOPY(), SCIP_OKAY, SCIPconsGetData(), SCIPexprtreePrintWithNames(), SCIPgetMessagehdlr(), SCIPinfoMessage(), SCIPisEQ(), SCIPisInfinity(), SCIPwriteVarName(), and TRUE. Referenced by SCIP_DECL_CONSDISABLE().
constraint copying method of constraint handler Definition at line 7327 of file cons_bivariate.c. References NULL, SCIP_CALL, SCIP_DECL_CONSGETVARS(), SCIP_OKAY, SCIPblkmem(), SCIPconsGetData(), SCIPconsGetName(), SCIPcreateConsBivariate(), SCIPexprtreeCopy(), SCIPexprtreeFree(), SCIPexprtreeGetVars(), SCIPexprtreeSetVars(), SCIPgetVarCopy(), and TRUE. Referenced by SCIP_DECL_CONSPRINT().
constraint method of constraint handler which returns the variables (if possible) Definition at line 7393 of file cons_bivariate.c. References FALSE, NULL, SCIP_DECL_CONSGETNVARS(), SCIP_OKAY, SCIPconsGetData(), SCIPexprtreeGetVars(), and TRUE. Referenced by SCIP_DECL_CONSCOPY().
constraint method of constraint handler which returns the number of variables (if possible) Definition at line 7419 of file cons_bivariate.c. References SCIP_DECL_QUADCONSUPGD(), SCIP_OKAY, and TRUE. Referenced by SCIP_DECL_CONSGETVARS().
tries to upgrade a quadratic constraint into a bivariate constraint Definition at line 7434 of file cons_bivariate.c. References BMSclearMemoryArray, SCIP_BilinTerm::coef, createConsFromQuadTerm(), FALSE, SCIP_QuadVarTerm::lincoef, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_PRESOLTIMING_FAST, SCIP_PRESOLTIMING_MEDIUM, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPaddBilinTermQuadratic(), SCIPaddLinearVarQuadratic(), SCIPaddQuadVarLinearCoefQuadratic(), SCIPaddQuadVarQuadratic(), SCIPaddSquareCoefQuadratic(), SCIPaddVar(), SCIPallocBufferArray, SCIPcheckCurvatureQuadratic(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPcreateConsQuadratic(), SCIPcreateConsQuadratic2(), SCIPcreateVar(), SCIPdebugAddSolVal, SCIPdebugGetSolVal, SCIPdebugPrintCons, SCIPfindQuadVarTermQuadratic(), SCIPfreeBufferArray, SCIPgetBilinTermsQuadratic(), SCIPgetCoefsLinearVarsQuadratic(), SCIPgetLhsQuadratic(), SCIPgetLinearVarsQuadratic(), SCIPgetNBilinTermsQuadratic(), SCIPgetNLinearVarsQuadratic(), SCIPgetNQuadVarTermsQuadratic(), SCIPgetQuadVarTermsQuadratic(), SCIPgetRhsQuadratic(), SCIPinfinity(), SCIPisConcaveQuadratic(), SCIPisConvexQuadratic(), SCIPisInfinity(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPsetConsChecked(), SCIPsetConsEnforced(), SCIPsnprintf(), SCIP_QuadVarTerm::sqrcoef, TRUE, SCIP_QuadVarTerm::var, SCIP_BilinTerm::var1, and SCIP_BilinTerm::var2. Referenced by SCIP_DECL_CONSGETNVARS().
tries to reformulate a expression graph node that is a monomial in two variables Definition at line 7762 of file cons_bivariate.c. References createConsFromMonomial(), NULL, SCIP_CALL, SCIP_EXPR_POLYNOMIAL, SCIP_EXPR_VARIDX, SCIP_EXPRCURV_UNKNOWN, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPaddCons(), SCIPaddVar(), SCIPcreateVar(), SCIPdebugAddSolVal, SCIPdebugMessage, SCIPdebugPrintCons, SCIPexprGetMonomialCoef(), SCIPexprGetMonomialExponents(), SCIPexprGetMonomialNFactors(), SCIPexprgraphAddVars(), SCIPexprgraphGetNodeBounds(), SCIPexprgraphGetNodeChildren(), SCIPexprgraphGetNodeCurvature(), SCIPexprgraphGetNodeNChildren(), SCIPexprgraphGetNodeOperator(), SCIPexprgraphGetNodePolynomialConstant(), SCIPexprgraphGetNodePolynomialMonomials(), SCIPexprgraphGetNodePolynomialNMonomials(), SCIPexprgraphGetNodeVal(), SCIPexprgraphGetNodeVar(), SCIPexprgraphSetVarNodeValue(), SCIPincludeConshdlrBivariate(), SCIPisEQ(), SCIPisNegative(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPsnprintf(), SCIPvarGetLbGlobal(), and TRUE. Referenced by SCIP_DECL_QUADCONSUPGD().
creates the handler for bivariate constraints and includes it in SCIP
Definition at line 7860 of file cons_bivariate.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, NONLINCONSUPGD_PRIORITY, NULL, QUADCONSUPGD_PRIORITY, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddCharParam(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPallocMemory, SCIPblkmem(), SCIPcreateConsBivariate(), SCIPexprgraphCreate(), SCIPexprintCreate(), SCIPfeastol(), SCIPincludeConshdlrBasic(), SCIPincludeEventhdlrBasic(), SCIPincludeNonlinconsUpgrade(), SCIPincludeQuadconsUpgrade(), SCIPinfinity(), SCIPsetConshdlrActive(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDeactive(), SCIPsetConshdlrDelete(), SCIPsetConshdlrDisable(), SCIPsetConshdlrEnable(), SCIPsetConshdlrExit(), SCIPsetConshdlrExitpre(), SCIPsetConshdlrExitsol(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInit(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrInitsol(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrSepa(), SCIPsetConshdlrTrans(), and TRUE. Referenced by SCIP_DECL_CONSHDLRCOPY(), SCIP_DECL_EXPRGRAPHNODEREFORM(), and SCIPincludeDefaultPlugins().
creates and captures a bivariate constraint
Definition at line 7974 of file cons_bivariate.c. References BMSclearMemory, CONSHDLR_NAME, FALSE, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPallocMemory, SCIPblkmem(), SCIPcreateCons(), SCIPcreateConsBasicBivariate(), SCIPerrorMessage, SCIPexprtreeCopy(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfindConshdlr(), and SCIPisInfinity(). Referenced by createConsFromMonomial(), createConsFromQuadTerm(), SCIP_DECL_CONSCOPY(), SCIPcreateConsBasicBivariate(), and SCIPincludeConshdlrBivariate().
creates and captures an absolute power constraint in its most basic version, i. e., all constraint flags are set to their basic value as explained for the method SCIPcreateConsBivariate(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h
Definition at line 8058 of file cons_bivariate.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsBivariate(), SCIPgetLinearVarBivariate(), and TRUE. Referenced by SCIPcreateConsBivariate(). gets the linear variable of a bivariate constraint, or NULL if no such variable
Definition at line 8079 of file cons_bivariate.c. References NULL, SCIP_Real, SCIPconsGetData(), and SCIPgetLinearCoefBivariate(). Referenced by SCIPcreateConsBasicBivariate(), SCIPwriteGms(), and SCIPwritePip(). gets the coefficients of the linear variable of a bivariate constraint
Definition at line 8091 of file cons_bivariate.c. References NULL, SCIPconsGetData(), and SCIPgetExprtreeBivariate(). Referenced by SCIPgetLinearVarBivariate(), SCIPwriteGms(), and SCIPwritePip().
gets the expression tree of a bivariate constraint
Definition at line 8103 of file cons_bivariate.c. References NULL, SCIP_Real, SCIPconsGetData(), and SCIPgetLhsBivariate(). Referenced by SCIPgetLinearCoefBivariate(), SCIPwriteGms(), and SCIPwritePip(). gets the left hand side of a bivariate constraint
Definition at line 8115 of file cons_bivariate.c. References NULL, SCIP_Real, SCIPconsGetData(), and SCIPgetRhsBivariate(). Referenced by SCIPgetExprtreeBivariate(), SCIPwriteGms(), and SCIPwritePip(). gets the right hand side of a bivariate constraint
Definition at line 8127 of file cons_bivariate.c. References NULL, and SCIPconsGetData(). Referenced by SCIPgetLhsBivariate(), SCIPwriteGms(), and SCIPwritePip(). |