Hide navigation sidebar
Hide table of contents sidebar
Back to top
Toggle table of contents sidebar

# 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 a number of attributes, e.g., IISSOS, which can be queried with the `GRBSOS::get` method.

  The full list of attributes can be found in the Attributes section of this document. Examples of how to query and set attributes can also be found in this section.

  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.

Help and Feedback

Press `/` or click to search this documentation | Gurobi website | Gurobi community forum
Go to other Gurobi documentation | Gurobi download | Contact support