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$
23 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
61 * 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.
66 * 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.
69 * Further, domain propagation is implemented to propagate bound changes on \f$x\f$ onto \f$z\f$, and vice versa, and
71 * During presolve, a pairwise comparison of absolute power constraints may allow to fix or aggregate some variables.
76 * Decomposition of Multistage Stochastic Programs and a Constraint Integer Programming Approach to Mixed-Integer Nonlinear Programming@n
83 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
117 SCIP_Bool stickingatnode /**< should the constraint always be kept at the node where it was added, even
123 * in its most basic version, i. e., all constraint flags are set to their basic value as explained for the
124 * method SCIPcreateConsAbspower(); all flags can be set via SCIPconsSetFLAGNAME-methods in scip.h
128 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
211 * @note in difference to SCIPisConvexQuadratic, we put convexity/concavity of the constraint function in relation to the constraint sides here
SCIP_EXPORT SCIP_VAR * SCIPgetNonlinearVarAbspower(SCIP *scip, SCIP_CONS *cons)
Definition: cons_abspower.c:7421
SCIP_EXPORT SCIP_RETCODE SCIPgetNlRowAbspower(SCIP *scip, SCIP_CONS *cons, SCIP_NLROW **nlrow)
Definition: cons_abspower.c:7395
Definition: struct_scip.h:59
type definitions for NLP management
SCIP_EXPORT SCIP_Real SCIPgetRhsAbspower(SCIP *scip, SCIP_CONS *cons)
Definition: cons_abspower.c:7523
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrAbspower(SCIP *scip)
Definition: cons_abspower.c:7162
SCIP_EXPORT SCIP_Real SCIPgetCoefLinearAbspower(SCIP *scip, SCIP_CONS *cons)
Definition: cons_abspower.c:7489
Definition: struct_var.h:198
SCIP_EXPORT 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)
Definition: cons_abspower.c:7272
type definitions for return codes for SCIP methods
Definition: struct_sol.h:64
Definition: struct_cons.h:37
SCIP_EXPORT SCIP_VAR * SCIPgetLinearVarAbspower(SCIP *scip, SCIP_CONS *cons)
Definition: cons_abspower.c:7438
type definitions for SCIP's main datastructure
type definitions for problem variables
SCIP_EXPORT SCIP_Real SCIPgetViolationAbspower(SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol)
Definition: cons_abspower.c:7540
SCIP_EXPORT SCIP_Bool SCIPisConvexAbspower(SCIP *scip, SCIP_CONS *cons)
Definition: cons_abspower.c:7575
SCIP_EXPORT SCIP_Real SCIPgetOffsetAbspower(SCIP *scip, SCIP_CONS *cons)
Definition: cons_abspower.c:7472
type definitions for storing primal CIP solutions
SCIP_EXPORT SCIP_Real SCIPgetExponentAbspower(SCIP *scip, SCIP_CONS *cons)
Definition: cons_abspower.c:7455
Definition: struct_nlp.h:63
SCIP_EXPORT SCIP_Real SCIPgetLhsAbspower(SCIP *scip, SCIP_CONS *cons)
Definition: cons_abspower.c:7506
common defines and data types used in all packages of SCIP
Definition: objbenders.h:33
SCIP_EXPORT 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)
Definition: cons_abspower.c:7373
type definitions for constraints and constraint handlers