cons_exactlinear.h
Go to the documentation of this file.
27 * @brief Constraint handler for linear constraints in their most general form, \f$lhs <= a^T x <= rhs\f$.
31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
78 * in a numerically exact way, where \f$a_i \in Q, i = 1,\dots,n\f$, \f$lhs\in Q \cup \{-\infty\}\f$, \f$rhs\in Q \cup \{\infty\}\f$,
86 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
118 SCIP_Bool stickingatnode /**< should the constraint always be kept at the node where it was added, even
124 * in its most basic version, i. e., all constraint flags are set to their basic value as explained for the
129 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
143/** creates a linear constraint from an exact linear constraint by rounding values to floating-point and captures it */
152 SCIP_INTERVAL* sourcecoefs, /**< coefficient array of the linear constraint, or NULL if all coefficients are one */
157 SCIP_HASHMAP* consmap, /**< a hashmap to store the mapping of source constraints to the corresponding
167 SCIP_Bool removable, /**< should the relaxation be removed from the LP due to aging or cleanup? */
168 SCIP_Bool stickingatnode, /**< should the constraint always be kept at the node where it was added, even
183/** changes coefficient of variable in linear constraint; deletes the variable if coefficient is zero; adds variable if
186 * @note This method may only be called during problem creation stage for an original constraint and variable.
188 * @note This method requires linear time to search for occurences of the variable in the constraint data.
200 * @note This method may only be called during problem creation stage for an original constraint and variable.
202 * @note This method requires linear time to search for occurences of the variable in the constraint data.
248/** gets the array of variables in the linear constraint; the user must not modify this array! */
255/** gets the array of coefficient values in the linear constraint; the user must not modify this array! */
262/** gets the array of coefficient values in the linear constraint; the user must not modify this array! */
271 * @note if the activity comprises positive and negative infinity contributions, the result is currently undefined
312/** returns the linear relaxation of the given linear constraint; may return NULL if no LP row was yet created;
321/** returns the exact linear relaxation of the given linear constraint; may return NULL if no LP row was yet created;
common defines and data types used in all packages of SCIP
SCIP_RETCODE SCIPchgLhsExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_RATIONAL *lhs)
Definition: cons_exactlinear.c:7180
SCIP_RATIONAL * SCIPgetLhsExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7132
void SCIPgetFpDualsolExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_RATIONAL *ret)
Definition: cons_exactlinear.c:7384
SCIP_RATIONAL * SCIPgetRhsExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7156
SCIP_RETCODE SCIPchgRhsExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_RATIONAL *rhs)
Definition: cons_exactlinear.c:7201
SCIP_RETCODE SCIPcreateConsExactLinear(SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_RATIONAL **vals, SCIP_RATIONAL *lhs, SCIP_RATIONAL *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_exactlinear.c:6627
SCIP_VAR ** SCIPgetVarsExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7243
void SCIPgetFpDualfarkasExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_RATIONAL *ret)
Definition: cons_exactlinear.c:7415
SCIP_RETCODE SCIPcopyConsExactLinear(SCIP *scip, SCIP_CONS **cons, SCIP *sourcescip, const char *name, int nvars, SCIP_VAR **sourcevars, SCIP_INTERVAL *sourcecoefs, SCIP_Real lhs, SCIP_Real rhs, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, 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_Bool global, SCIP_Bool *valid)
Definition: cons_exactlinear.c:6785
int SCIPgetNVarsExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7219
SCIP_RETCODE SCIPaddCoefExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_RATIONAL *val)
Definition: cons_exactlinear.c:6922
SCIP_RETCODE SCIPcertifyConsOrigExactLinear(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
Definition: cons_exactlinear.c:2981
SCIP_RETCODE SCIPgetActivityExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_RATIONAL *ret)
Definition: cons_exactlinear.c:7318
SCIP_RETCODE SCIPcreateConsBasicExactLinear(SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_RATIONAL **vals, SCIP_RATIONAL *lhs, SCIP_RATIONAL *rhs)
Definition: cons_exactlinear.c:6765
SCIP_ROWEXACT * SCIPgetRowExactExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7471
SCIP_INTERVAL * SCIPgetValsRealExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7267
SCIP_RATIONAL ** SCIPgetValsExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7291
SCIP_RETCODE SCIPdelCoefExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var)
Definition: cons_exactlinear.c:7110
SCIP_ROW * SCIPgetRowExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7445
SCIP_RETCODE SCIPgetFeasibilityExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_RATIONAL *ret)
Definition: cons_exactlinear.c:7351
SCIP_RETCODE SCIPchgCoefExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_RATIONAL *val)
Definition: cons_exactlinear.c:7042
SCIP_RETCODE SCIPincludeConshdlrExactLinear(SCIP *scip)
Definition: cons_exactlinear.c:6533
interval arithmetics for provable bounds
Definition: multiprecision.hpp:66
static SCIP_RETCODE separate(SCIP *scip, SCIP_SEPA *sepa, SCIP_SOL *sol, SCIP_RESULT *result)
Main separation function.
Definition: sepa_flower.c:1221
Definition: struct_cons.h:47
Definition: struct_cons.h:128
Definition: struct_misc.h:139
Definition: intervalarith.h:55
Definition: struct_rational.h:47
Definition: struct_lpexact.h:187
Definition: struct_lp.h:205
Definition: struct_sol.h:74
Definition: struct_var.h:262
Definition: struct_scip.h:72
type definitions for certificate output
type definitions for constraints and constraint handlers
type definitions for LP management
type definitions for exact LP management
type definitions for miscellaneous datastructures
type definitions for rational numbers
type definitions for return codes for SCIP methods
type definitions for SCIP's main datastructure
type definitions for storing primal CIP solutions
type definitions for problem variables