•All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
cons_indicator.h File Reference
Detailed Description
constraint handler for indicator constraints
Definition in file cons_indicator.h.
#include "scip/def.h"
#include "scip/type_cons.h"
#include "scip/type_lp.h"
#include "scip/type_retcode.h"
#include "scip/type_scip.h"
#include "scip/type_sol.h"
#include "scip/type_var.h"
Go to the source code of this file.
Functions | |
SCIP_EXPORT SCIP_RETCODE | SCIPincludeConshdlrIndicator (SCIP *scip) |
Indicator Constraints | |
An indicator constraint is given by a binary variable z and an inequality ax \leq b. It states that if z = 1 then ax \leq b holds. This constraint is handled by adding a slack variable s:\; ax - s \leq b with s \geq 0. The constraint is enforced by fixing s to 0 if z = 1.
This constraint is equivalent to a linear constraint ax - s \leq b and an SOS1 constraint on z and s (at most one should be nonzero). In the indicator context we can, however, separate more inequalities. | |
SCIP_EXPORT SCIP_RETCODE | SCIPcreateConsIndicator (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *binvar, int nvars, SCIP_VAR **vars, SCIP_Real *vals, SCIP_Real rhs, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode) |
SCIP_EXPORT SCIP_RETCODE | SCIPcreateConsBasicIndicator (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *binvar, int nvars, SCIP_VAR **vars, SCIP_Real *vals, SCIP_Real rhs) |
SCIP_EXPORT SCIP_RETCODE | SCIPcreateConsIndicatorLinCons (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *binvar, SCIP_CONS *lincons, SCIP_VAR *slackvar, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode) |
SCIP_EXPORT SCIP_RETCODE | SCIPcreateConsBasicIndicatorLinCons (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *binvar, SCIP_CONS *lincons, SCIP_VAR *slackvar) |
SCIP_EXPORT SCIP_RETCODE | SCIPaddVarIndicator (SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_Real val) |
SCIP_EXPORT SCIP_CONS * | SCIPgetLinearConsIndicator (SCIP_CONS *cons) |
SCIP_EXPORT SCIP_RETCODE | SCIPsetLinearConsIndicator (SCIP *scip, SCIP_CONS *cons, SCIP_CONS *lincons) |
SCIP_EXPORT SCIP_RETCODE | SCIPsetBinaryVarIndicator (SCIP *scip, SCIP_CONS *cons, SCIP_VAR *binvar) |
SCIP_EXPORT SCIP_VAR * | SCIPgetBinaryVarIndicator (SCIP_CONS *cons) |
SCIP_EXPORT SCIP_VAR * | SCIPgetSlackVarIndicator (SCIP_CONS *cons) |
SCIP_EXPORT SCIP_RETCODE | SCIPsetSlackVarUb (SCIP *scip, SCIP_CONS *cons, SCIP_Real ub) |
SCIP_EXPORT SCIP_Bool | SCIPisViolatedIndicator (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol) |
SCIP_EXPORT SCIP_RETCODE | SCIPmakeIndicatorFeasible (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_Bool *changed) |
SCIP_EXPORT SCIP_RETCODE | SCIPmakeIndicatorsFeasible (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_SOL *sol, SCIP_Bool *changed) |
SCIP_EXPORT SCIP_RETCODE | SCIPaddLinearConsIndicator (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_CONS *lincons) |
SCIP_EXPORT SCIP_RETCODE | SCIPaddRowIndicator (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_ROW *row) |