C++ API - GRBSOS#

class GRBSOS#

Gurobi SOS constraint object. SOS constraints are always associated with a particular model. You create an SOS object by adding an SOS constraint to a model (using GRBModel::addSOS), rather than by using a GRBSOS constructor. Similarly, SOS constraints are removed using the GRBModel::remove method.

An SOS constraint can be of type 1 or 2 (GRB_SOS_TYPE1 or GRB_SOS_TYPE2). A type 1 SOS constraint is a set of variables for which at most one variable in the set may take a value other than zero. A type 2 SOS constraint is an ordered set of variables where at most two variables in the set may take non-zero values. If two take non-zero values, they must be contiguous in the ordered set.

SOS constraint objects have one attribute, IISSOS, which can be queried with the GRBSOS::get method.

int get(GRB_IntAttr attr)#

Query the value of an SOS attribute.

Parameters:

attr – The attribute being queried.

Returns:

The current value of the requested attribute.

void set(GRB_IntAttr attr, int newvalue)#

Set the value of an SOS attribute.

Parameters:
  • attr – The attribute being modified.

  • newvalue – The desired new value of the attribute.