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:7175
SCIP_RATIONAL * SCIPgetLhsExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7137
void SCIPgetFpDualsolExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_RATIONAL *ret)
Definition: cons_exactlinear.c:7347
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:7193
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:6640
SCIP_VAR ** SCIPgetVarsExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7230
void SCIPgetFpDualfarkasExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_RATIONAL *ret)
Definition: cons_exactlinear.c:7374
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:6798
int SCIPgetNVarsExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7211
SCIP_RETCODE SCIPaddCoefExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_RATIONAL *val)
Definition: cons_exactlinear.c:6935
SCIP_RETCODE SCIPcertifyConsOrigExactLinear(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
Definition: cons_exactlinear.c:2980
SCIP_RETCODE SCIPgetActivityExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_RATIONAL *ret)
Definition: cons_exactlinear.c:7290
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:6778
SCIP_ROWEXACT * SCIPgetRowExactExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7421
SCIP_INTERVAL * SCIPgetValsRealExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7249
SCIP_RATIONAL ** SCIPgetValsExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7268
SCIP_RETCODE SCIPdelCoefExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var)
Definition: cons_exactlinear.c:7115
SCIP_ROW * SCIPgetRowExactLinear(SCIP *scip, SCIP_CONS *cons)
Definition: cons_exactlinear.c:7400
SCIP_RETCODE SCIPgetFeasibilityExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_RATIONAL *ret)
Definition: cons_exactlinear.c:7318
SCIP_RETCODE SCIPchgCoefExactLinear(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_RATIONAL *val)
Definition: cons_exactlinear.c:7051
SCIP_RETCODE SCIPincludeConshdlrExactLinear(SCIP *scip)
Definition: cons_exactlinear.c:6546
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:1219
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