|
Constraint handler for variable bound constraints .
- Author
- Tobias Achterberg
-
Timo Berthold
-
Michael Winkler
-
Gerald Gamrath
-
Stefan Heinz
This constraint handler handles a special type of linear constraints, namely variable bound constraints. A variable bound constraint has the form
with coefficient , , , and decision variables (non-binary) and (binary or integer).
Definition in file cons_varbound.h.
Go to the source code of this file.
|
SCIP_RETCODE | SCIPincludeConshdlrVarbound (SCIP *scip) |
|
SCIP_RETCODE | SCIPcreateConsVarbound (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *var, SCIP_VAR *vbdvar, SCIP_Real vbdcoef, 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_RETCODE | SCIPcreateConsBasicVarbound (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *var, SCIP_VAR *vbdvar, SCIP_Real vbdcoef, SCIP_Real lhs, SCIP_Real rhs) |
|
SCIP_Real | SCIPgetLhsVarbound (SCIP *scip, SCIP_CONS *cons) |
|
SCIP_Real | SCIPgetRhsVarbound (SCIP *scip, SCIP_CONS *cons) |
|
SCIP_VAR * | SCIPgetVarVarbound (SCIP *scip, SCIP_CONS *cons) |
|
SCIP_VAR * | SCIPgetVbdvarVarbound (SCIP *scip, SCIP_CONS *cons) |
|
SCIP_Real | SCIPgetVbdcoefVarbound (SCIP *scip, SCIP_CONS *cons) |
|
SCIP_Real | SCIPgetDualsolVarbound (SCIP *scip, SCIP_CONS *cons) |
|
SCIP_Real | SCIPgetDualfarkasVarbound (SCIP *scip, SCIP_CONS *cons) |
|
SCIP_ROW * | SCIPgetRowVarbound (SCIP *scip, SCIP_CONS *cons) |
|
creates the handler for variable bound constraints and includes it in SCIP
- Parameters
-
SCIP_RETCODE SCIPcreateConsVarbound |
( |
SCIP * |
scip, |
|
|
SCIP_CONS ** |
cons, |
|
|
const char * |
name, |
|
|
SCIP_VAR * |
var, |
|
|
SCIP_VAR * |
vbdvar, |
|
|
SCIP_Real |
vbdcoef, |
|
|
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 |
|
) |
| |
creates and captures a variable bound constraint: lhs <= x + c*y <= rhs
- Note
- the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
- Parameters
-
scip | SCIP data structure |
cons | pointer to hold the created constraint |
name | name of constraint |
var | variable x that has variable bound |
vbdvar | binary, integer or implicit integer bounding variable y |
vbdcoef | coefficient c of bounding variable y |
lhs | left hand side of variable bound inequality |
rhs | right hand side of variable bound inequality |
initial | should the LP relaxation of constraint be in the initial LP? Usually set to TRUE. Set to FALSE for 'lazy constraints'. |
separate | should the constraint be separated during LP processing? Usually set to TRUE. |
enforce | should the constraint be enforced during node processing? TRUE for model constraints, FALSE for additional, redundant constraints. |
check | should the constraint be checked for feasibility? TRUE for model constraints, FALSE for additional, redundant constraints. |
propagate | should the constraint be propagated during node processing? Usually set to TRUE. |
local | is constraint only valid locally? Usually set to FALSE. Has to be set to TRUE, e.g., for branching constraints. |
modifiable | is constraint modifiable (subject to column generation)? Usually set to FALSE. In column generation applications, set to TRUE if pricing adds coefficients to this constraint. |
dynamic | is constraint subject to aging? Usually set to FALSE. Set to TRUE for own cuts which are separated as constraints. |
removable | should the relaxation be removed from the LP due to aging or cleanup? Usually set to FALSE. Set to TRUE for 'lazy constraints' and 'user cuts'. |
stickingatnode | should the constraint always be kept at the node where it was added, even if it may be moved to a more global node? Usually set to FALSE. Set to TRUE to for constraints that represent node data. |
creates and captures a varbound constraint in its most basic version, i. e., all constraint flags are set to their basic value as explained for the method SCIPcreateConsVarbound(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h
- See Also
- SCIPcreateConsVarbound() for information about the basic constraint flag configuration
- Note
- the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
- Parameters
-
scip | SCIP data structure |
cons | pointer to hold the created constraint |
name | name of constraint |
var | variable x that has variable bound |
vbdvar | binary, integer or implicit integer bounding variable y |
vbdcoef | coefficient c of bounding variable y |
lhs | left hand side of variable bound inequality |
rhs | right hand side of variable bound inequality |
gets left hand side of variable bound constraint lhs <= x + c*y <= rhs
- Parameters
-
scip | SCIP data structure |
cons | constraint data |
gets right hand side of variable bound constraint lhs <= x + c*y <= rhs
- Parameters
-
scip | SCIP data structure |
cons | constraint data |
gets bounded variable x of variable bound constraint lhs <= x + c*y <= rhs
- Parameters
-
scip | SCIP data structure |
cons | constraint data |
gets bounding variable y of variable bound constraint lhs <= x + c*y <= rhs
- Parameters
-
scip | SCIP data structure |
cons | constraint data |
gets bound coefficient c of variable bound constraint lhs <= x + c*y <= rhs
- Parameters
-
scip | SCIP data structure |
cons | constraint data |
gets the dual solution of the variable bound constraint in the current LP
- Parameters
-
scip | SCIP data structure |
cons | constraint data |
gets the dual Farkas value of the variable bound constraint in the current infeasible LP
- Parameters
-
scip | SCIP data structure |
cons | constraint data |
returns the linear relaxation of the given variable bound constraint; may return NULL if no LP row was yet created; the user must not modify the row!
- Parameters
-
scip | SCIP data structure |
cons | constraint data |
|