GRBConstr#

GRBConstr#

Gurobi constraint object. Constraints are always associated with a particular model. You create a constraint object by adding a constraint to a model (using GRBModel.AddConstr), rather than by using a GRBConstr constructor.

The methods on constraint objects are used to get and set constraint attributes. For example, constraint right-hand sides can be queried by calling Get (GRB.DoubleAttr.RHS). Note, however, that it is generally more efficient to query attributes for a set of constraints at once. This is done using the attribute query method on the GRBModel object (GRBModel.Get).

Example:
// Create variables
GRBVar x = model.AddVar(0.0, GRB.INFINITY, 0.0, GRB.CONTINUOUS, "x");
GRBVar y = model.AddVar(0.0, GRB.INFINITY, 0.0, GRB.CONTINUOUS, "y");
// Add linear constraint x + y = 0 with name c1
GRBConstr constr = model.AddConstr(x + y == 0, "c1");
char Get(GRB.CharAttr attr)#

Query the value of a char-valued attribute.

Parameters:

attr – The attribute being queried.

Returns:

The current value of the requested attribute.

Example:
// Get constraint sense
char sense = constr.Get(GRB.CharAttr.Sense);
double Get(GRB.DoubleAttr attr)#

Query the value of a double-valued attribute.

Parameters:

attr – The attribute being queried.

Returns:

The current value of the requested attribute.

Example:
// Get RHS
double rhs = constr.Get(GRB.DoubleAttr.RHS);
int Get(GRB.IntAttr attr)#

Query the value of an int-valued attribute.

Parameters:

attr – The attribute being queried.

Returns:

The current value of the requested attribute.

Example:
// Get CBasis value
int cbasis = constr.Get(GRB.IntAttr.CBasis);
string Get(GRB.StringAttr attr)#

Query the value of a string-valued attribute.

Parameters:

attr – The attribute being queried.

Returns:

The current value of the requested attribute.

Example:
// Get constraint name
string name = constr.Get(GRB.StringAttr.ConstrName);
int Index#

This property returns the current index, or order, of the constraint in the underlying constraint matrix.

Note that the index of a constraint may change after subsequent model modifications.

Returns:

-2: removed, -1: not in model, otherwise: index of the constraint in the model

Example:
int index = constr.Index;
bool SameAs(GRBConstr constr2)#

Check whether two constraint objects refer to the same constraint.

Parameters:

constr2 – The other constraint.

Returns:

Boolean result indicates whether the two constraint objects refer to the same model constraint.

Example:
// Compare to a second constraint
bool isSame = constr.SameAs(constr2);
void Set(GRB.CharAttr attr, char newvalue)#

Set the value of a char-valued attribute.

Parameters:
  • attr – The attribute being modified.

  • newvalue – The desired new value of the attribute.

Example:
// Set constraint sense
constr.Set(GRB.CharAttr.Sense, '>');
void Set(GRB.DoubleAttr attr, double newvalue)#

Set the value of a double-valued attribute.

Parameters:
  • attr – The attribute being modified.

  • newvalue – The desired new value of the attribute.

Example:
// Set RHS
constr.Set(GRB.DoubleAttr.RHS, 2.0);
void Set(GRB.IntAttr attr, int newvalue)#

Set the value of an int-valued attribute.

Parameters:
  • attr – The attribute being modified.

  • newvalue – The desired new value of the attribute.

Example:
// Set CBasis value
constr.Set(GRB.IntAttr.CBasis, 0);
void Set(GRB.StringAttr attr, string newvalue)#

Set the value of a string-valued attribute.

Parameters:
  • attr – The attribute being modified.

  • newvalue – The desired new value of the attribute.

Example:
// Set constraint name
constr.Set(GRB.StringAttr.ConstrName, "newName");