All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cons_abspower.c File Reference Detailed DescriptionConstraint handler for absolute power constraints . Definition in file cons_abspower.c. #include <assert.h> #include <string.h> #include <ctype.h> #include "scip/cons_abspower.h" #include "scip/cons_nonlinear.h" #include "scip/cons_indicator.h" #include "scip/cons_quadratic.h" #include "scip/cons_linear.h" #include "scip/cons_varbound.h" #include "scip/intervalarith.h" #include "scip/heur_subnlp.h" #include "scip/heur_trysol.h" #include "scip/debug.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 39 of file cons_abspower.c. Referenced by SCIP_DECL_CONSEXITSOL(), SCIP_DECL_CONSHDLRCOPY(), SCIP_DECL_CONSINITSOL(), SCIPcreateConsAbspower(), SCIPgetCoefLinearAbspower(), SCIPgetExponentAbspower(), SCIPgetLhsAbspower(), SCIPgetLinearVarAbspower(), SCIPgetNlRowAbspower(), SCIPgetNonlinearVarAbspower(), SCIPgetOffsetAbspower(), SCIPgetRhsAbspower(), SCIPgetViolationAbspower(), and SCIPincludeConshdlrAbspower().
Definition at line 40 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
priority of the constraint handler for separation Definition at line 41 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
priority of the constraint handler for constraint enforcing Definition at line 42 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
priority of the constraint handler for checking feasibility Definition at line 43 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
frequency for separating cuts; zero means to separate only in the root node Definition at line 44 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
frequency for propagating domains; zero means only preprocessing propagation Definition at line 45 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
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_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
maximal number of presolving rounds the constraint handler participates in (-1: no limit) Definition at line 48 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
should separation method be delayed, if other separators found cuts? Definition at line 49 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
should propagation method be delayed, if other propagators found reductions? Definition at line 50 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
should presolving method be delayed, if other presolvers found reductions? Definition at line 51 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
should the constraint handler be skipped, if no constraints are available? Definition at line 52 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
when should the constraint handlers propagation routines be called? Definition at line 53 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
priority of the constraint handler for upgrading of quadratic constraints Definition at line 55 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
priority of the constraint handler for upgrading of nonlinear constraints and reformulating expression graph nodes Definition at line 56 of file cons_abspower.c. Referenced by SCIPincludeConshdlrAbspower().
tolerance to add to variable bounds in domain propagation Definition at line 62 of file cons_abspower.c. Referenced by computeBoundsX(), computeBoundsZ(), and propagateCons().
tolerance to add to constraint sides in domain propagation Definition at line 63 of file cons_abspower.c. Referenced by computeBoundsX(), computeBoundsZ(), and propagateCons().
maximal absolute value of variable for still generating a linearization cut at that point in initlp Definition at line 64 of file cons_abspower.c. Referenced by SCIP_DECL_CONSINITLP(). power function type to be used by a constraint instead of the general pow Definition at line 67 of file cons_abspower.c.
sign of a value (-1 or +1) 0.0 has sign +1 Definition at line 73 of file cons_abspower.c. Referenced by checkFixedVariables(), computeBoundsX(), computeBoundsZ(), computeViolation(), generateSecantCut(), generateSecantCutNoCheck(), presolveDual(), presolveFindDuplicates(), propagateCons(), propagateVarbounds(), proposeFeasibleSolution(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_EXPRGRAPHNODEREFORM(), and SCIPgetViolationAbspower().
up to which (integer) exponents precomputed roots have been stored Definition at line 80 of file cons_abspower.c. Referenced by SCIP_DECL_CONSINITSOL(). Typedef DocumentationDefinition at line 168 of file cons_abspower.c. Enumeration Type Documentation
Definition at line 160 of file cons_abspower.c. Function Documentation
power function for square, that should be faster than using pow(x, 2.0) Definition at line 176 of file cons_abspower.c.
process variable event Definition at line 184 of file cons_abspower.c. References FALSE, NULL, SCIP_Bool, SCIP_EVENTTYPE_BOUNDTIGHTENED, SCIP_OKAY, and SCIPeventGetType().
catch variable bound tightening events
Definition at line 202 of file cons_abspower.c. References FALSE, NULL, SCIP_CALL, SCIP_EVENTTYPE_DISABLED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIPcatchVarEvent(), SCIPconsGetData(), SCIPisInfinity(), SCIPvarGetStatus(), and TRUE. Referenced by checkFixedVariables(), presolveFindDuplicates(), and SCIP_DECL_CONSENABLE().
drop variable bound tightening events
Definition at line 264 of file cons_abspower.c. References NULL, SCIP_CALL, SCIP_EVENTTYPE_DISABLED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIPconsGetData(), SCIPdropVarEvent(), SCIPisInfinity(), and SCIPvarGetStatus(). Referenced by checkFixedVariables(), presolveFindDuplicates(), and SCIP_DECL_CONSDISABLE().
get key of hash element Definition at line 322 of file cons_abspower.c.
checks if two constraints have the same x variable, the same exponent, and either the same offset or the same linear variable and are both equality constraint Definition at line 329 of file cons_abspower.c. References FALSE, NULL, SCIPconsGetData(), and TRUE.
get value of hash element when comparing on x Definition at line 353 of file cons_abspower.c. References NULL, and SCIPconsGetData().
checks if two constraints have the same z variable and the same exponent Definition at line 365 of file cons_abspower.c. References FALSE, NULL, SCIPconsGetData(), and TRUE.
get value of hash element when comparing on z Definition at line 386 of file cons_abspower.c. References NULL, and SCIPconsGetData().
upgrades a signpower constraint to a linear constraint if a second signpower constraint with same nonlinear term is available
Definition at line 398 of file cons_abspower.c. References NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPaggregateVars(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPdelCons(), SCIPisEQ(), SCIPisInfinity(), and SCIPreleaseCons(). Referenced by presolveFindDuplicates().
solves a system of two absolute power equations Given: (x+xoffset1)|x+xoffset1|^{exponent-1} + zcoef1 * z == rhs1 and (x+xoffset2)|x+xoffset2|^{exponent-1} + zcoef2 * z == rhs2 with xoffset1 != xoffset2 and zcoef1 * rhs2 == zcoef2 * rhs1 and exponent == 2, finds values for x and z that satisfy these equations, or reports infeasibility if no solution exists. Multiplying the second equation by -zcoef1/zcoef2 and adding it to the first one gives (x+xoffset1)|x+xoffset1| - zcoef1/zcoef2 (x+offset2)|x+offset2| == 0 If zcoef1 == zcoef2, then there exists, due to monotonicity of x|x|, no x such that (x+xoffset1)|x+xoffset1| == (x+xoffset2)|x+xoffset2|. In general, for zcoef1 / zcoef2 > 0.0, we get x = (xoffset2 - xoffset1) / (sqrt(zcoef2 / zcoef1) - 1.0) - xoffset1, and for zcoef1 / zcoef2 < 0.0, we get x = (xoffset2 - xoffset1) / (-sqrt(-zcoef2 / zcoef1) - 1.0) - xoffset1. This then yields z = (rhs1 - (x+xoffset1)|x+xoffset1|) / zcoef1.
Definition at line 515 of file cons_abspower.c. References FALSE, NULL, REALABS, SCIPisEQ(), SCIPisFeasEQ(), sqrt(), and TRUE. Referenced by presolveFindDuplicates().
finds and removes duplicates in a set of absolute power constraints
Definition at line 576 of file cons_abspower.c. References catchVarEvents(), dropVarEvents(), FALSE, MAX, MIN, NULL, pow(), presolveFindDuplicatesSolveEquations(), presolveFindDuplicatesUpgradeCons(), REALABS, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIP_VARTYPE_CONTINUOUS, SCIPaddCons(), SCIPaddVar(), SCIPaggregateVars(), SCIPblkmem(), SCIPcalcHashtableSize(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsDeleted(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsAbspower(), SCIPcreateConsLinear(), SCIPcreateVar(), SCIPdebugAddSolVal, SCIPdebugGetSolVal, SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPfixVar(), SCIPhashtableCreate(), SCIPhashtableFree(), SCIPhashtableInsert(), SCIPhashtableRemove(), SCIPhashtableRetrieveNext(), SCIPinfinity(), SCIPisEQ(), SCIPisGT(), SCIPisInfinity(), SCIPisZero(), SCIPlockVarCons(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPsnprintf(), SCIPunlockVarCons(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetProbvar(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SIGN, sqrt(), and TRUE. Referenced by SCIP_DECL_CONSPRESOL().
fix variables not appearing in any other constraint
Definition at line 1090 of file cons_abspower.c. References MAX, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIP_VARTYPE_INTEGER, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPfixVar(), SCIPinfinity(), SCIPisEQ(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisGE(), SCIPisGT(), SCIPisInfinity(), SCIPisLE(), SCIPisLT(), SCIPisZero(), SCIPvarGetBestBoundGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetObj(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), and SIGN. Referenced by SCIP_DECL_CONSPRESOL().
given a variable and an interval, tightens the local bounds of this variable to the given interval
Definition at line 1379 of file cons_abspower.c. References FALSE, SCIP_Interval::inf, NULL, SCIP_Bool, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_STAGE_SOLVING, SCIPaddCons(), SCIPaddConsLocal(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsPropagated(), SCIPconsIsSeparated(), SCIPcreateConsLinear(), SCIPdebugMessage, SCIPfixVar(), SCIPgetCurrentNode(), SCIPgetStage(), SCIPinProbing(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPisEQ(), SCIPisGT(), SCIPisInfinity(), SCIPisLT(), SCIPnodeGetDepth(), SCIPreleaseCons(), SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetProbvar(), SCIPvarGetUbLocal(), SCIPvarIsActive(), SCIP_Interval::sup, and TRUE. Referenced by checkFixedVariables(), and propagateCons().
computes bounds on z in a absolute power constraints for given bounds on x
Definition at line 1533 of file cons_abspower.c. References SCIP_Interval::inf, NULL, PROPSIDETOL, PROPVARTOL, REALABS, SCIP_Real, SCIPconsGetData(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPinfinity(), SCIPintervalIsEmpty(), SCIPintervalSetEntire(), SCIPisInfinity(), SIGN, and SCIP_Interval::sup. Referenced by checkFixedVariables(), and propagateCons().
computes bounds on x in a absolute power constraints for given bounds on z
Definition at line 1586 of file cons_abspower.c. References SCIP_Interval::inf, NULL, pow(), PROPSIDETOL, PROPVARTOL, REALABS, SCIP_Real, SCIPconsGetData(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPinfinity(), SCIPintervalIsEmpty(), SCIPintervalSetEntire(), SCIPisInfinity(), SIGN, sqrt(), and SCIP_Interval::sup. Referenced by checkFixedVariables(), and propagateCons().
checks if x or z is fixed and replaces them or deletes constraint
Definition at line 1639 of file cons_abspower.c. References catchVarEvents(), computeBoundsX(), computeBoundsZ(), dropVarEvents(), FALSE, SCIP_Interval::inf, MAX, MIN, NULL, pow(), REALABS, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPgetProbvarSum(), SCIPinfinity(), SCIPintervalSet(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPisGE(), SCIPisInfinity(), SCIPisLE(), SCIPisZero(), SCIPlockVarCons(), SCIPmarkDoNotMultaggrVar(), SCIPunlockVarCons(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPwarningMessage(), SIGN, sqrt(), SCIP_Interval::sup, tightenBounds(), and TRUE. Referenced by SCIP_DECL_CONSPRESOL(). gets maximal absolute value in gradient of quadratic function thus, gives .
Definition at line 1934 of file cons_abspower.c. References MAX, NULL, pow(), REALABS, SCIP_Real, SCIPconsGetData(), SCIPgetSolVal(), and SCIPisInfinity(). Referenced by computeViolation().
computes violation of a constraint
Definition at line 1963 of file cons_abspower.c. References getGradientMaxElement(), MAX, MIN, NULL, REALABS, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPABORT, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPerrorMessage, SCIPgetSolVal(), SCIPinfinity(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and SIGN. Referenced by computeViolations(), proposeFeasibleSolution(), and SCIP_DECL_CONSCHECK().
computes violation of a set of constraints
Definition at line 2092 of file cons_abspower.c. References computeViolation(), MAX, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPfeastol(), and SCIPisGT(). Referenced by SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSSEPALP(), and SCIP_DECL_CONSSEPASOL().
proposes branching point for constraint
Definition at line 2137 of file cons_abspower.c. References MAX, MIN, NULL, pow(), SCIP_INVALID, SCIP_Real, SCIPconsGetData(), SCIPfeastol(), SCIPgetVarSol(), SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPisGE(), SCIPisGT(), SCIPisInfinity(), SCIPisLE(), SCIPisLT(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by registerBranchingCandidates(), and SCIP_DECL_CONSENFOPS().
registers branching variable candidates registers x for all violated absolute power constraints where x is not in convex region
Definition at line 2245 of file cons_abspower.c. References FALSE, MAX, NULL, proposeBranchingPoint(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddExternBranchCand(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPdebugMessage, SCIPfeastol(), SCIPgetSolVal(), SCIPisGT(), SCIPisInfinity(), SCIPisLT(), SCIPisRelEQ(), SCIPvarGetLbLocal(), SCIPvarGetName(), and SCIPvarGetUbLocal(). Referenced by SCIP_DECL_CONSENFOLP().
registers a variable from a violated constraint as branching candidate that has a large absolute value in the LP relaxation
Definition at line 2313 of file cons_abspower.c. References NULL, REALABS, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPaddExternBranchCand(), SCIPconsGetData(), SCIPfeastol(), SCIPgetSolVal(), and SCIPisGT(). Referenced by SCIP_DECL_CONSENFOLP().
resolves a propagation on the given variable by supplying the variables needed for applying the corresponding propagation rule (see propagateCons()): see cons_varbound
Definition at line 2361 of file cons_abspower.c. References NULL, PROPRULE_1, PROPRULE_2, PROPRULE_3, PROPRULE_4, PROPRULE_INVALID, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPconsGetData(), SCIPconsGetName(), SCIPerrorMessage, and SCIPisInfinity(). Referenced by analyzeConflict(), and SCIP_DECL_CONSRESPROP().
analyze infeasibility
Definition at line 2437 of file cons_abspower.c. References NULL, resolvePropagation(), SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPanalyzeConflictCons(), SCIPgetStage(), SCIPinitConflictAnalysis(), SCIPinProbing(), and SCIPisConflictAnalysisApplicable(). Referenced by propagateCons().
propagation method for absolute power constraint SCIPinferVarXbCons to allow for repropagation
Definition at line 2476 of file cons_abspower.c. References analyzeConflict(), computeBoundsX(), computeBoundsZ(), FALSE, MAX, MIN, NULL, pow(), PROPRULE_1, PROPRULE_2, PROPRULE_3, PROPRULE_4, PROPSIDETOL, PROPVARTOL, REALABS, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_CUTOFF, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPdelConsLocal(), SCIPinferVarLbCons(), SCIPinferVarUbCons(), SCIPinfinity(), SCIPintervalSetBounds(), SCIPisFeasEQ(), SCIPisFeasGE(), SCIPisFeasGT(), SCIPisFeasLE(), SCIPisFeasLT(), SCIPisGT(), SCIPisInfinity(), SCIPisLbBetter(), SCIPisLT(), SCIPisRelEQ(), SCIPisUbBetter(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetProbvar(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsActive(), SIGN, sqrt(), tightenBounds(), and TRUE. Referenced by SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSPRESOL(), and SCIP_DECL_CONSPROP().
notifies SCIP about a variable bound lhs <= x + c*y <= rhs
Definition at line 3005 of file cons_abspower.c. References FALSE, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPaddCons(), SCIPaddVarVlb(), SCIPaddVarVub(), SCIPconsGetName(), SCIPcreateConsVarbound(), SCIPdebugMessage, SCIPgetProbvarSum(), SCIPisEQ(), SCIPisInfinity(), SCIPisZero(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsIntegral(), and TRUE. Referenced by propagateVarbounds().
propagates varbounds of variables Let f(x) = sign(x+offset)|x+offset|^n, f^{-1}(y) = sign(y)|y|^(1/n) - offset. Thus, constraint is lhs <= f(x) + c*z <= rhs. Given a variable bound constraint x <= a*y + b with y a binary variable, one obtains y = 0 -> f(x) <= f(b) -> lhs <= f(b) + c*z y = 1 -> f(x) <= f(a+b) -> lhs <= f(a+b) + c*z => lhs <= f(b) + y * (f(a+b)-f(b)) + c*z Given a variable bound constraint x >= a*y + b with y a binary variable, one obtains analogously f(b) + y * (f(a+b)-f(b)) + c*z <= rhs Given a variable bound constraint c*z <= a*y + b with y a binary variable, one obtains y = 0 -> lhs <= f(x) + b -> x >= f^{-1}(lhs - b) y = 1 -> lhs <= f(x) + a+b -> x >= f^{-1}(lhs - (a+b)) => x >= f^{-1}(lhs - b) + y * (f^{-1}(lhs - (a+b)) - f^{-1}(lhs - b)) Given a variable bound constraint c*z >= a*y + b with y a binary variable, one obtains analogously x <= f^{-1}(rhs - b) + y * (f^{-1}(rhs - (a+b)) - f^{-1}(rhs - b))
Definition at line 3112 of file cons_abspower.c. References addVarbound(), FALSE, NULL, pow(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPdebugMessage, SCIPinfinity(), SCIPisFeasZero(), SCIPisInfinity(), SCIPisZero(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetNVlbs(), SCIPvarGetNVubs(), SCIPvarGetUbGlobal(), SCIPvarGetVlbCoefs(), SCIPvarGetVlbConstants(), SCIPvarGetVlbVars(), SCIPvarGetVubCoefs(), SCIPvarGetVubConstants(), SCIPvarGetVubVars(), SCIPvarIsBinary(), and SIGN. Referenced by SCIP_DECL_CONSPRESOL().
computes linear underestimator for (x+offset)^n + c*z <= rhs by linearization in x the generated cut is xmul * n * (refpoint+offset)^(n-1) * x + c*z <= rhs + ((n-1)*refpoint-offset) * (refpoint+offset)^(n-1)
Definition at line 3330 of file cons_abspower.c. References FALSE, NULL, pow(), SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddVarToRow(), SCIPchgRowRhs(), SCIPconshdlrGetData(), SCIPcreateEmptyRowCons(), SCIPdebugMessage, SCIPinfinity(), SCIPisFeasNegative(), SCIPisInfinity(), SCIPsnprintf(), and TRUE. Referenced by generateCut(), generateLinearizationCutProject(), and SCIP_DECL_CONSINITLP().
computes linear underestimator for (x+xoffset)^n + c*z <= rhs by linearization in x the generated cut is xmul * n * (refpoint+offset)^(n-1) * x + c*z <= rhs + ((n-1)*refpoint-offset) * (refpoint+offset)^(n-1) where refpoint is computed by projecting (xref, zref) onto the graph of (x+offset)^n w.r.t. euclidean norm Thus, the projection is computed by minimizing 1/2(x-xref)^2 + 1/2(((x+offset)^n-rhs)/(-c) - zref)^2. I.e., we aim to find a root of g(x) = x - xref + n/c (x+offset)^(n-1) (zref - rhs/c) + n/c^2 (x+offset)^(2n-1) We do this numerically by executing up to five newton iterations. It is g'(x) = 1 + n(n-1)/c (x+offset)^(n-2) (zref - rhs/c) + n(2n-1)/c^2 (x+offset)^(2n-2)
Definition at line 3391 of file cons_abspower.c. References generateLinearizationCut(), NULL, pow(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPisFeasNegative(), SCIPisFeasPositive(), and SCIPisInfinity(). Referenced by generateCut().
computes secant underestimator for sign(x+offset)abs(x+offset)^n + c*z <= rhs the generated cut is slope*xmult*x + c*z <= rhs + (-xlb-offset)^n + slope*xlb, where slope = (sign(xub+offset)*abs(xub+offset)^n + (-xlb-offset)^n) / (xub - xlb). the cut is not generated if the given solution (or the LP solution) would not be cutoff
Definition at line 3466 of file cons_abspower.c. References FALSE, NULL, REALABS, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddVarToRow(), SCIPchgRowRhs(), SCIPconshdlrGetData(), SCIPcreateEmptyRowCons(), SCIPgetCurrentNode(), SCIPgetSolVal(), SCIPinfinity(), SCIPisFeasPositive(), SCIPisInfinity(), SCIPisLE(), SCIPisPositive(), SCIPisRelEQ(), SCIPnodeGetDepth(), SCIPsnprintf(), SIGN, and TRUE. Referenced by generateCut().
computes secant underestimator for sign(x+xoffset)abs(x+xoffset)^n + c*z <= rhs The generated cut is slope*xmult*x + c*z <= rhs + (-xlb-xoffset)^n + slope*xlb, where slope = (sign(xub+xoffset)*abs(xub+xoffset)^n + (-xlb-xoffset)^n) / (xub - xlb).
Definition at line 3530 of file cons_abspower.c. References FALSE, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddVarToRow(), SCIPchgRowRhs(), SCIPcreateEmptyRowCons(), SCIPgetCurrentNode(), SCIPinfinity(), SCIPisInfinity(), SCIPisLE(), SCIPisPositive(), SCIPisRelEQ(), SCIPnodeGetDepth(), SIGN, and TRUE. Referenced by SCIP_DECL_CONSINITLP().
generates a cut based on Liberti and Pantelides, Convex Envelopes of Monomials of Odd Degree, J. Global Optimization 25, 157-168, 2003, and previous publications
Definition at line 3579 of file cons_abspower.c. References generateLinearizationCut(), generateLinearizationCutProject(), generateSecantCut(), NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsGlobal(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintCons, SCIPfeastol(), SCIPgetCurrentNode(), SCIPgetRowMaxCoef(), SCIPgetRowMinCoef(), SCIPgetSolVal(), SCIPisGT(), SCIPisInfinity(), SCIPisNegative(), SCIPisPositive(), SCIPnodeGetDepth(), SCIPprintRow(), SCIPreleaseRow(), SCIProwGetRhs(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), and SCIPvarGetUbLocal(). Referenced by addLinearizationCuts(), and separatePoint().
tries to separate solution or LP solution by a linear cut assumes that constraint violations have been computed
Definition at line 3738 of file cons_abspower.c. References FALSE, generateCut(), MAX, MIN, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPABORT, SCIPaddCut(), SCIPaddRowIndicator(), SCIPconsGetData(), SCIPconshdlrGetData(), SCIPerrorMessage, SCIPfeastol(), SCIPgetRelaxFeastolFactor(), SCIPgetRowMaxCoef(), SCIPgetRowSolFeasibility(), SCIPgetSolVal(), SCIPisCutApplicable(), SCIPisFeasPositive(), SCIPisGT(), SCIPisInfinity(), SCIPisNegative(), SCIPisPositive(), SCIPmarkRowNotRemovableLocal(), SCIPreleaseRow(), SCIProwGetLhs(), SCIProwGetRhs(), SCIProwIsLocal(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE. 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 3884 of file cons_abspower.c. References FALSE, generateCut(), MAX, MIN, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPABORT, SCIPaddCut(), SCIPaddPoolCut(), SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconsIsLocal(), SCIPerrorMessage, SCIPgetRowLPFeasibility(), SCIPgetRowMaxCoef(), SCIPisGT(), SCIPisInfinity(), SCIPisLT(), SCIPreleaseRow(), SCIProwGetLhs(), SCIProwGetRhs(), SCIProwIsLocal(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), 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 4008 of file cons_abspower.c. References addLinearizationCuts(), NULL, SCIP_CALL, SCIP_EVENTTYPE_SOLFOUND, SCIP_OKAY, SCIPconshdlrGetConss(), SCIPconshdlrGetData(), SCIPconshdlrGetNConss(), SCIPdebugMessage, SCIPeventGetSol(), SCIPeventGetType(), SCIPheurGetName(), and SCIPsolGetHeur().
given a solution, try to make absolute power constraints feasible by shifting the linear variable z and pass this solution to the trysol heuristic
Definition at line 4055 of file cons_abspower.c. References computeViolation(), MAX, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPcreateLPSol(), SCIPcreateSolCopy(), SCIPdebugMessage, SCIPfeastol(), SCIPfreeSol(), SCIPgetSolTransObj(), SCIPgetSolVal(), SCIPheurPassSolTrySol(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPisGT(), SCIPisInfinity(), SCIPsetSolVal(), SCIPunlinkSol(), SCIPvarGetLbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), and SIGN. Referenced by SCIP_DECL_CONSCHECK().
create a nonlinear row representation of the constraint and stores them in consdata
Definition at line 4157 of file cons_abspower.c. References SCIP_QuadElement::coef, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, NULL, SCIP_Bool, SCIP_CALL, SCIP_EXPR_CONST, SCIP_EXPR_INTPOWER, SCIP_EXPR_MUL, SCIP_EXPR_PLUS, SCIP_EXPR_REALPOWER, SCIP_EXPR_SIGNPOWER, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPconsGetData(), SCIPconsGetName(), SCIPcreateNlRow(), SCIPexprCreate(), SCIPexprtreeCreate(), SCIPexprtreeFree(), SCIPexprtreeSetVars(), SCIPisIntegral(), SCIPisNegative(), SCIPisPositive(), SCIPreleaseNlRow(), SCIPround(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and sign(). Referenced by SCIP_DECL_CONSINITSOL(), and SCIPgetNlRowAbspower().
upgrades a quadratic constraint where the quadratic part is only a single square term and the quadratic variable sign is fixed to a signpower constraint Definition at line 4311 of file cons_abspower.c. References SCIP_QuadVarTerm::lincoef, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPaddCoefLinear(), SCIPaddVar(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsAbspower(), SCIPcreateConsLinear(), SCIPcreateVar(), SCIPdebugAddSolVal, SCIPdebugGetSolVal, SCIPdebugMessage, SCIPdebugPrintCons, SCIPgetCoefsLinearVarsQuadratic(), SCIPgetLhsQuadratic(), SCIPgetLinearVarsQuadratic(), SCIPgetNBilinTermsQuadratic(), SCIPgetNLinearVarsQuadratic(), SCIPgetNQuadVarTermsQuadratic(), SCIPgetQuadVarTermsQuadratic(), SCIPgetRhsQuadratic(), SCIPinfinity(), SCIPisInfinity(), SCIPisNegative(), SCIPisPositive(), SCIPisZero(), SCIPreleaseVar(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), SCIP_QuadVarTerm::sqrcoef, and SCIP_QuadVarTerm::var.
tries to upgrade a nonlinear constraint into a absolute power constraint Definition at line 4465 of file cons_abspower.c. References FALSE, SCIP_Interval::inf, NULL, pow(), REALABS, SCIP_CALL, SCIP_EXPR_INTPOWER, SCIP_EXPR_LINEAR, SCIP_EXPR_POLYNOMIAL, SCIP_EXPR_REALPOWER, SCIP_EXPR_SIGNPOWER, SCIP_EXPR_SQUARE, SCIP_EXPR_VARIDX, SCIP_EXPRCURV_UNKNOWN, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPaddCoefLinear(), SCIPaddVar(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsAbspower(), SCIPcreateConsLinear(), SCIPcreateConsNonlinear2(), SCIPcreateVar(), SCIPdebugAddSolVal, SCIPdebugGetSolVal, SCIPdebugMessage, SCIPexprGetMonomialCoef(), SCIPexprGetMonomialExponents(), SCIPexprGetMonomialNFactors(), SCIPexprgraphGetNodeBounds(), SCIPexprgraphGetNodeChildren(), SCIPexprgraphGetNodeCurvature(), SCIPexprgraphGetNodeDepth(), SCIPexprgraphGetNodeIntPowerExponent(), SCIPexprgraphGetNodeLinearCoefs(), SCIPexprgraphGetNodeLinearConstant(), SCIPexprgraphGetNodeNChildren(), SCIPexprgraphGetNodeOperator(), SCIPexprgraphGetNodePolynomialConstant(), SCIPexprgraphGetNodePolynomialMonomials(), SCIPexprgraphGetNodePolynomialNMonomials(), SCIPexprgraphGetNodePosition(), SCIPexprgraphGetNodeRealPowerExponent(), SCIPexprgraphGetNodeSignPowerExponent(), SCIPexprgraphGetNodeVal(), SCIPexprgraphGetNodeVar(), SCIPgetExprgraphNodeNonlinear(), SCIPgetExprgraphNonlinear(), SCIPgetLhsNonlinear(), SCIPgetLinearCoefsNonlinear(), SCIPgetLinearVarsNonlinear(), SCIPgetNLinearVarsNonlinear(), SCIPgetRhsNonlinear(), SCIPinfinity(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPisInfinity(), SCIPisIntegral(), SCIPisZero(), SCIPreleaseVar(), SCIPround(), SCIPsnprintf(), SCIP_Interval::sup, and TRUE.
tries to reformulate a expression graph node via introducing a absolute power constraint if node fits to absolute power and has indefinte curvature and has no nonlinear parents and has siblings, then replace by auxvar and absolute power constraint if it still has nonlinear parents, then we wait to see if reformulation code move node into auxiliary constraint, so we do not add unnessary auxiliary variables for something like an x^2 in an exp(x^2) if it has no siblings, then we let the upgrading for nonlinear constraints take care of it, since it may be able to upgrade the constraint as a whole and can take the constraint sides into account too (may need only <=/>= auxcons) Definition at line 4818 of file cons_abspower.c. References FALSE, SCIP_Interval::inf, NULL, pow(), REALABS, SCIP_CALL, SCIP_EXPR_INTPOWER, SCIP_EXPR_LINEAR, SCIP_EXPR_POLYNOMIAL, SCIP_EXPR_REALPOWER, SCIP_EXPR_SIGNPOWER, SCIP_EXPR_SQUARE, SCIP_EXPR_VARIDX, SCIP_EXPRCURV_UNKNOWN, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPaddCons(), SCIPaddVar(), SCIPblkmem(), SCIPcreateConsAbspower(), SCIPcreateConsNonlinear2(), SCIPcreateVar(), SCIPdebugAddSolVal, SCIPdebugGetSolVal, SCIPdebugMessage, SCIPdebugPrintCons, SCIPexprGetMonomialCoef(), SCIPexprGetMonomialExponents(), SCIPexprGetMonomialNFactors(), SCIPexprgraphAddNode(), SCIPexprgraphAddVars(), SCIPexprgraphCreateNodeLinear(), SCIPexprgraphGetNodeBounds(), SCIPexprgraphGetNodeChildren(), SCIPexprgraphGetNodeCurvature(), SCIPexprgraphGetNodeDepth(), SCIPexprgraphGetNodeIntPowerExponent(), SCIPexprgraphGetNodeLinearCoefs(), SCIPexprgraphGetNodeLinearConstant(), SCIPexprgraphGetNodeNChildren(), SCIPexprgraphGetNodeOperator(), SCIPexprgraphGetNodePolynomialConstant(), SCIPexprgraphGetNodePolynomialMonomials(), SCIPexprgraphGetNodePolynomialNMonomials(), SCIPexprgraphGetNodePosition(), SCIPexprgraphGetNodeRealPowerExponent(), SCIPexprgraphGetNodeSignPowerExponent(), SCIPexprgraphGetNodeVal(), SCIPexprgraphGetNodeVar(), SCIPexprgraphHasNodeNonlinearAncestor(), SCIPexprgraphHasNodeSibling(), SCIPexprgraphSetVarNodeValue(), SCIPfeastol(), SCIPinfinity(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPisIntegral(), SCIPisZero(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPround(), SCIPsnprintf(), SIGN, SCIP_Interval::sup, and TRUE.
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 5081 of file cons_abspower.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrAbspower(), and TRUE.
destructor of constraint handler to free constraint handler data (called when SCIP is exiting) Definition at line 5097 of file cons_abspower.c. References NULL, SCIP_OKAY, SCIPconshdlrGetData(), and SCIPfreeMemory.
initialization method of constraint handler (called after problem was transformed) Definition at line 5114 of file cons_abspower.c. References NULL, SCIP_OKAY, SCIPconshdlrGetData(), SCIPfindConshdlr(), and SCIPfindHeur().
deinitialization method of constraint handler (called before transformed problem is freed) Definition at line 5135 of file cons_abspower.c. References NULL, SCIP_OKAY, and SCIPconshdlrGetData().
presolving initialization method of constraint handler (called when presolving is about to begin) Definition at line 5154 of file cons_abspower.c. References NULL, SCIP_OKAY, and SCIPconshdlrGetData().
presolving deinitialization method of constraint handler (called after presolving has been finished) Definition at line 5171 of file cons_abspower.c. References NULL, SCIP_OKAY, SCIPconsIsAdded(), and SCIPenableNLP().
solving process initialization method of constraint handler (called when branch and bound process is about to begin) Definition at line 5195 of file cons_abspower.c. References CONSHDLR_NAME, createNlRow(), FALSE, NULL, pow(), roots, ROOTS_KNOWN, SCIP_CALL, SCIP_ERROR, SCIP_EVENTTYPE_SOLFOUND, SCIP_OKAY, SCIP_Real, SCIPaddNlRow(), SCIPcatchEvent(), SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconsIsEnabled(), SCIPdebugMessage, SCIPerrorMessage, SCIPfindEventhdlr(), SCIPfloor(), SCIPisEQ(), SCIPisIntegral(), SCIPisNLPConstructed(), and SCIPisZero().
solving process deinitialization method of constraint handler (called before branch and bound process data is freed) Definition at line 5303 of file cons_abspower.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 5345 of file cons_abspower.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeMemory, and SCIPreleaseNlRow().
transforms constraint data into data belonging to the transformed problem Definition at line 5368 of file cons_abspower.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateCons(), SCIPduplicateMemory, SCIPgetTransformedVar(), SCIPmarkDoNotMultaggrVar(), and SCIPvarIsActive().
LP initialization method of constraint handler (called before the initial LP relaxation at a node is solved) we add secant underestimators Definition at line 5406 of file cons_abspower.c. References FALSE, generateLinearizationCut(), generateSecantCutNoCheck(), INITLPMAXVARVAL, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddCut(), SCIPaddRowIndicator(), SCIPconsGetData(), SCIPconshdlrGetData(), SCIPgetRowMaxCoef(), SCIPgetRowMinCoef(), SCIPisInfinity(), SCIPisNegative(), SCIPisPositive(), SCIPisRelEQ(), SCIPreleaseRow(), SCIProwGetRhs(), SCIProwIsLocal(), SCIPvarGetLbGlobal(), and SCIPvarGetUbGlobal().
separation method of constraint handler for LP solutions Definition at line 5576 of file cons_abspower.c. References addLinearizationCuts(), computeViolations(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, 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(), SCIPisInfinity(), SCIPisLT(), SCIPisNLPConstructed(), SCIPsetNLPInitialGuessSol(), SCIPsolveNLP(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), separatePoint(), and TRUE.
separation method of constraint handler for arbitrary primal solutions Definition at line 5724 of file cons_abspower.c. References computeViolations(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SEPARATED, SCIPconshdlrGetData(), and separatePoint().
constraint enforcing method of constraint handler for LP solutions Definition at line 5757 of file cons_abspower.c. References computeViolations(), FALSE, MAX, MIN, NULL, propagateCons(), registerBranchingCandidates(), registerLargeLPValueVariableForBranching(), 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(), SCIPcreateChild(), SCIPdebugMessage, SCIPepsilon(), SCIPfeastol(), SCIPgetCurrentNode(), SCIPgetRelaxFeastolFactor(), SCIPgetSolVal(), SCIPisGT(), SCIPisStopped(), SCIPnodeGetEstimate(), SCIPvarGetName(), SCIPwarningMessage(), separatePoint(), and TRUE.
constraint enforcing method of constraint handler for pseudo solutions Definition at line 5926 of file cons_abspower.c. References computeViolations(), NULL, propagateCons(), proposeBranchingPoint(), SCIP_Bool, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_REDUCEDDOM, SCIP_SOLVELP, SCIPaddExternBranchCand(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPdebugMessage, SCIPfeastol(), SCIPisGT(), SCIPisRelEQ(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE.
domain propagation method of constraint handler Definition at line 6017 of file cons_abspower.c. References FALSE, NULL, propagateCons(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, and SCIP_REDUCEDDOM.
presolving method of constraint handler Definition at line 6059 of file cons_abspower.c. References checkFixedVariables(), NULL, presolveDual(), presolveFindDuplicates(), propagateCons(), propagateVarbounds(), REALABS, SCIP_Bool, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DELAYED, SCIP_DIDNOTFIND, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SUCCESS, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIPABORT, SCIPaddCoefLinear(), SCIPaddCons(), SCIPchgVarType(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrWasPresolvingDelayed(), SCIPconsIsChecked(), SCIPconsIsDeleted(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPcreateConsVarbound(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPerrorMessage, SCIPinfinity(), SCIPisEQ(), SCIPisInfinity(), SCIPisIntegral(), SCIPisPresolveFinished(), SCIPreleaseCons(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarIsBinary(), SIGN, and TRUE.
resolves a propagation on the given variable by supplying the variables needed for applying the corresponding propagation rule (see propagateCons()): (1) left hand side and bounds on z -> lower bound on x (2) left hand side and upper bound on x -> bound on z (3) right hand side and bounds on z -> upper bound on x (4) right hand side and lower bound on x -> bound on z Definition at line 6344 of file cons_abspower.c. References NULL, resolvePropagation(), SCIP_CALL, SCIP_OKAY, and SCIP_SUCCESS.
variable rounding lock method of constraint handler Definition at line 6357 of file cons_abspower.c. References NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddVarLocks(), SCIPconsGetData(), and SCIPisInfinity().
constraint activation notification method of constraint handler Definition at line 6415 of file cons_abspower.c. References FALSE, NULL, SCIP_OKAY, and SCIPconshdlrGetData().
constraint enabling notification method of constraint handler Definition at line 6432 of file cons_abspower.c. References catchVarEvents(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPconshdlrGetData().
constraint disabling notification method of constraint handler Definition at line 6451 of file cons_abspower.c. References dropVarEvents(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPconshdlrGetData().
constraint display method of constraint handler Definition at line 6470 of file cons_abspower.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPinfoMessage(), SCIPisEQ(), SCIPisInfinity(), SCIPwriteVarName(), and TRUE.
feasibility check method of constraint handler for integral solutions Definition at line 6517 of file cons_abspower.c. References computeViolation(), MAX, NULL, proposeFeasibleSolution(), SCIP_Bool, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPfeastol(), SCIPgetStage(), SCIPinfoMessage(), SCIPisGT(), and SCIPupdateStartpointHeurSubNlp().
constraint copying method of constraint handler Definition at line 6581 of file cons_abspower.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPcreateConsAbspower(), SCIPgetVarCopy(), and TRUE.
constraint parsing method of constraint handler Definition at line 6619 of file cons_abspower.c. References FALSE, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_MINIMAL, SCIPABORT, SCIPcreateConsAbspower(), SCIPdebugMessage, SCIPinfinity(), SCIPparseVarName(), SCIPstrToRealValue(), SCIPverbMessage(), and TRUE.
constraint method of constraint handler which returns the variables (if possible) Definition at line 6782 of file cons_abspower.c. References FALSE, NULL, SCIP_OKAY, SCIPconsGetData(), and TRUE.
constraint method of constraint handler which returns the number of variables (if possible) Definition at line 6806 of file cons_abspower.c.
creates the handler for absolute power constraints and includes it in SCIP
Definition at line 6819 of file cons_abspower.c. References BMSclearMemory, CONSHDLR_CHECKPRIORITY, CONSHDLR_DELAYPRESOL, CONSHDLR_DELAYPROP, CONSHDLR_DELAYSEPA, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_MAXPREROUNDS, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PROP_TIMING, CONSHDLR_PROPFREQ, CONSHDLR_SEPAFREQ, CONSHDLR_SEPAPRIORITY, FALSE, NONLINCONSUPGD_PRIORITY, NULL, QUADCONSUPGD_PRIORITY, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddCharParam(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPallocMemory, SCIPincludeConshdlrBasic(), SCIPincludeEventhdlrBasic(), SCIPincludeNonlinconsUpgrade(), SCIPincludeQuadconsUpgrade(), SCIPinfinity(), SCIPsetConshdlrActive(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDelete(), SCIPsetConshdlrDisable(), SCIPsetConshdlrEnable(), SCIPsetConshdlrExit(), SCIPsetConshdlrExitpre(), SCIPsetConshdlrExitsol(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInit(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrInitsol(), SCIPsetConshdlrParse(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrResprop(), SCIPsetConshdlrSepa(), SCIPsetConshdlrTrans(), and TRUE. Referenced by SCIP_DECL_CONSHDLRCOPY(), and SCIPincludeDefaultPlugins().
creates and captures a absolute power constraint
Definition at line 6941 of file cons_abspower.c. References BMSclearMemory, CONSHDLR_NAME, NULL, pow(), REALABS, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPallocMemory, SCIPcreateCons(), SCIPerrorMessage, SCIPfindConshdlr(), SCIPisEQ(), SCIPisInfinity(), SCIPisZero(), SCIPmarkDoNotMultaggrVar(), SCIPvarIsActive(), and square(). Referenced by presolveFindDuplicates(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSPARSE(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_NONLINCONSUPGD(), SCIP_DECL_QUADCONSUPGD(), and SCIPcreateConsBasicAbspower().
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 SCIPcreateConsAbspower(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h
Definition at line 7042 of file cons_abspower.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsAbspower(), and TRUE.
gets the absolute power constraint as a nonlinear row representation
Definition at line 7064 of file cons_abspower.c. References CONSHDLR_NAME, createNlRow(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetHdlr(), and SCIPconshdlrGetName(). gets nonlinear variable x in absolute power constraint
Definition at line 7090 of file cons_abspower.c. References CONSHDLR_NAME, NULL, SCIPconsGetData(), SCIPconsGetHdlr(), and SCIPconshdlrGetName(). Referenced by SCIPwriteGms(), and SCIPwritePip(). gets linear variable z in absolute power constraint
Definition at line 7107 of file cons_abspower.c. References CONSHDLR_NAME, NULL, SCIPconsGetData(), SCIPconsGetHdlr(), and SCIPconshdlrGetName(). Referenced by SCIPwriteGms(), and SCIPwritePip(). gets exponent in power term in absolute power constraint
Definition at line 7124 of file cons_abspower.c. References CONSHDLR_NAME, NULL, SCIPconsGetData(), SCIPconsGetHdlr(), and SCIPconshdlrGetName(). Referenced by SCIPwriteGms(), and SCIPwritePip(). gets offset in power term in absolute power constraint
Definition at line 7141 of file cons_abspower.c. References CONSHDLR_NAME, NULL, SCIPconsGetData(), SCIPconsGetHdlr(), and SCIPconshdlrGetName(). Referenced by SCIPwriteGms(), and SCIPwritePip(). gets coefficient of linear variable in absolute power constraint
Definition at line 7158 of file cons_abspower.c. References CONSHDLR_NAME, NULL, SCIPconsGetData(), SCIPconsGetHdlr(), and SCIPconshdlrGetName(). Referenced by SCIPwriteGms(), and SCIPwritePip(). gets left hand side in absolute power constraint
Definition at line 7175 of file cons_abspower.c. References CONSHDLR_NAME, NULL, SCIPconsGetData(), SCIPconsGetHdlr(), and SCIPconshdlrGetName(). Referenced by SCIPwriteGms(), and SCIPwritePip(). gets right hand side in absolute power constraint
Definition at line 7192 of file cons_abspower.c. References CONSHDLR_NAME, NULL, SCIPconsGetData(), SCIPconsGetHdlr(), and SCIPconshdlrGetName(). Referenced by SCIPwriteGms(), and SCIPwritePip(). gets the absolute violation of a absolute power constraint by a solution
Definition at line 7209 of file cons_abspower.c. References CONSHDLR_NAME, NULL, pow(), REALABS, SCIP_Real, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPdebugMessage, SCIPgetSolVal(), and SIGN. Variable Documentation
Initial value:
= {
-1.0,
-1.0,
0.41421356237309504880,
0.5,
0.56042566045031785945,
0.60582958618826802099,
0.64146546982884663257,
0.67033204760309682774,
0.69428385661425826738,
0.71453772716733489700,
0.73192937842370733350
}
The positive root of the polynomial (n-1) y^n + n y^(n-1) - 1 is needed in separation. Here we store these roots for small integer values of n. Definition at line 86 of file cons_abspower.c. Referenced by SCIP_DECL_CONSINITSOL(). |