All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cons_abspower.h
Go to the documentation of this file.
18 * @brief Constraint handler for absolute power constraints \f$\textrm{lhs} \leq \textrm{sign}(x+a) |x+a|^n + c z \leq \textrm{rhs}\f$
25 * for \f$n > 1.0\f$ a rational number, \f$a\f$ and \f$c\f$ arbitrary, and \f$x\f$ and \f$z\f$ variables.
30 * Cuts that separate on the convex hull of the graph of \f$\textrm{sign}(x+a) |x+a|^n\f$ are generated as long as they separate the relaxation solution.
33 * Further, domain propagation is implemented to propagate bound changes on \f$x\f$ onto \f$z\f$, and vice versa, and
35 * During presolve, a pairwise comparison of absolute power constraints may allow to fix or aggregate some variables.
40 * Decomposition of Multistage Stochastic Programs and a Constraint Integer Programming Approach to Mixed-Integer Nonlinear Programming@n
44 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
63 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
97 SCIP_Bool stickingatnode /**< should the constraint always be kept at the node where it was added, even
103 * in its most basic version, i. e., all constraint flags are set to their basic value as explained for the
104 * method SCIPcreateConsAbspower(); all flags can be set via SCIPconsSetFLAGNAME-methods in scip.h
108 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
SCIP_Real SCIPgetExponentAbspower(SCIP *scip, SCIP_CONS *cons) SCIP_RETCODE SCIPcreateConsAbspower(SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *x, SCIP_VAR *z, SCIP_Real exponent, SCIP_Real xoffset, SCIP_Real zcoef, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode) SCIP_VAR * SCIPgetLinearVarAbspower(SCIP *scip, SCIP_CONS *cons) SCIP_Real SCIPgetViolationAbspower(SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol) SCIP_RETCODE SCIPcreateConsBasicAbspower(SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *x, SCIP_VAR *z, SCIP_Real exponent, SCIP_Real xoffset, SCIP_Real zcoef, SCIP_Real lhs, SCIP_Real rhs) SCIP_RETCODE SCIPincludeConshdlrAbspower(SCIP *scip) SCIP_Real SCIPgetLhsAbspower(SCIP *scip, SCIP_CONS *cons) SCIP_Real SCIPgetOffsetAbspower(SCIP *scip, SCIP_CONS *cons) SCIP_VAR * SCIPgetNonlinearVarAbspower(SCIP *scip, SCIP_CONS *cons) SCIP_Real SCIPgetCoefLinearAbspower(SCIP *scip, SCIP_CONS *cons) SCIP_Real SCIPgetRhsAbspower(SCIP *scip, SCIP_CONS *cons) SCIP_RETCODE SCIPgetNlRowAbspower(SCIP *scip, SCIP_CONS *cons, SCIP_NLROW **nlrow) SCIP callable library. |