Detailed Description
power and signed power expression handlers
Definition in file expr_pow.h.
Go to the source code of this file.
Functions | |
SCIP_RETCODE | SCIPincludeExprhdlrPow (SCIP *scip) |
SCIP_RETCODE | SCIPincludeExprhdlrSignpower (SCIP *scip) |
void | SCIPaddSquareLinearization (SCIP *scip, SCIP_Real sqrcoef, SCIP_Real refpoint, SCIP_Bool isint, SCIP_Real *lincoef, SCIP_Real *linconstant, SCIP_Bool *success) |
void | SCIPaddSquareSecant (SCIP *scip, SCIP_Real sqrcoef, SCIP_Real lb, SCIP_Real ub, SCIP_Real *lincoef, SCIP_Real *linconstant, SCIP_Bool *success) |
Power and signed power expression | |
These expression handler provide the power function, that is, \[ x \mapsto \begin{cases} x^e & \textrm{if}\; x \geq 0\; \textrm{or}\; e\in\mathbb{Z}, \\ \textrm{undefined}, & \textrm{otherwise}. \end{cases} \] and the signed power function, that is, \[ x \mapsto \textrm{sign}(e) |x|^e \] for some exponent \(e\). | |
SCIP_RETCODE | SCIPcreateExprPow (SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_Real exponent, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata) |
SCIP_RETCODE | SCIPcreateExprSignpower (SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_Real exponent, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata) |
SCIP_Bool | SCIPisExprSignpower (SCIP *scip, SCIP_EXPR *expr) |
Function Documentation
◆ SCIPaddSquareLinearization()
void SCIPaddSquareLinearization | ( | SCIP * | scip, |
SCIP_Real | sqrcoef, | ||
SCIP_Real | refpoint, | ||
SCIP_Bool | isint, | ||
SCIP_Real * | lincoef, | ||
SCIP_Real * | linconstant, | ||
SCIP_Bool * | success | ||
) |
computes coefficients of linearization of a square term in a reference point
- Parameters
-
scip SCIP data structure sqrcoef coefficient of square term refpoint point where to linearize isint whether corresponding variable is a discrete variable, and thus linearization could be moved lincoef buffer to add coefficient of linearization linconstant buffer to add constant of linearization success buffer to set to FALSE if linearization has failed due to large numbers
Definition at line 3235 of file expr_pow.c.
References FALSE, NULL, REALABS, SCIP_Real, SCIPaddSquareSecant(), SCIPfloor(), SCIPisInfinity(), and SCIPisIntegral().
Referenced by addBilinearTermToCut(), addRltTerm(), buildPowEstimator(), and SCIPisExprSignpower().
◆ SCIPaddSquareSecant()
void SCIPaddSquareSecant | ( | SCIP * | scip, |
SCIP_Real | sqrcoef, | ||
SCIP_Real | lb, | ||
SCIP_Real | ub, | ||
SCIP_Real * | lincoef, | ||
SCIP_Real * | linconstant, | ||
SCIP_Bool * | success | ||
) |
computes coefficients of secant of a square term
- Parameters
-
scip SCIP data structure sqrcoef coefficient of square term lb lower bound on variable ub upper bound on variable lincoef buffer to add coefficient of secant linconstant buffer to add constant of secant success buffer to set to FALSE if secant has failed due to large numbers or unboundedness
Definition at line 3303 of file expr_pow.c.
References FALSE, NULL, REALABS, SCIP_Real, SCIPgetExponentExprPow(), SCIPisInfinity(), and SCIPisLE().
Referenced by addBilinearTermToCut(), addRltTerm(), buildPowEstimator(), and SCIPaddSquareLinearization().