GRBSOS#
- 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 aGRBSOS
constructor. Similarly, SOS constraints are removed using theGRBModel.Remove
method.An SOS constraint can be of type 1 or 2 (
GRB.SOS_TYPE1
orGRB.SOS_TYPE2
). A type 1 SOS constraint is a set of variables where 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.- 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"); // Create helper arrays GRBVar[] vars = {x, y}; double[] weights = {1.0, 2.0}; // Add SOS1 constraint over x and y GRBSOS constr = model.AddSOS(vars, weights, GRB.SOS_TYPE1);
' Create variables Dim x As GRBVar = model.AddVar(0.0, GRB.INFINITY, 0.0, GRB.CONTINUOUS, "x") Dim y As GRBVar = model.AddVar(0.0, GRB.INFINITY, 0.0, GRB.CONTINUOUS, "y") ' Create helper arrays Dim vars As GRBVar() = New GRBVar() {x, y} Dim weights As Double() = New Double() {1.0, 2.0} ' Add SOS1 constraint over x and y Dim constr As GRBSOS = model.AddSOS(vars, weights, GRB.SOS_TYPE1)
- 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.
- Example:
// Get information whether constraint participates in a // previously computed IIS int iissos = constr.Get(GRB.IntAttr.IISSOS);
' Get information whether constraint participates in a ' previously computed IIS Dim iissos As Integer = constr.Get(GRB.IntAttr.IISSOS)
- 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.
- Example:
// Force constraint into IIS constr.Set(GRB.IntAttr.IISSOSForce, 1);
' Force constraint into IIS constr.Set(GRB.IntAttr.IISSOSForce, 1)