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

# GRBVar

GRBVar

  Gurobi variable object. Variables are always associated with a particular model. You create a variable object by adding a variable to a model (using `GRBModel.AddVar`), rather than by using a `GRBVar` constructor.

  Example:

        // Add continuous variable in [0,1] called "var" to model
        GRBVar var = model.AddVar(0.0, 1.0, 0.0, GRB.CONTINUOUS, "var");

        ' Add continuous variable in [0,1] called "var" to model
        Dim var As GRBVar = model.AddVar(0.0, 1.0, 0.0, GRB.CONTINUOUS, "var")

  The methods on variable objects are used to get and set variable attributes. For example, solution information can be queried by calling `Get` (`GRB.DoubleAttr.X`). It can also be queried more directly using `var.RHS` where `var` is a GRBVar object. Note, however, that it is generally more efficient to query attributes for a set of variables at once. This is done using the attribute query method on the `GRBModel` object (`GRBModel.Get`).

  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.

  char Get(GRB.CharAttr attr)
  double Get(GRB.DoubleAttr attr)
  int Get(GRB.IntAttr attr)
  string Get(GRB.StringAttr attr)

    Query the value of an attribute.

    Parameters:

      attr – The attribute being queried.

    Returns:

      The current value of the requested attribute.

    Example:

          // Get VType value
          char vtype = var.Get(GRB.CharAttr.VType);
          // Get lower bound value
          double lb = var.Get(GRB.DoubleAttr.LB);
          // Get VBasis value
          int vbasis = var.Get(GRB.IntAttr.VBasis);
          // Get variable name
          string name = var.Get(GRB.StringAttr.VarName);

          ' Get VType value
          Dim vtype As Char = var.Get(GRB.CharAttr.VType)
          ' Get lower bound value
          Dim lb As Double = var.Get(GRB.DoubleAttr.LB)
          ' Get VBasis value
          Dim vbasis As Integer = var.Get(GRB.IntAttr.VBasis)
          ' Get variable name
          Dim name As String = var.Get(GRB.StringAttr.VarName)

  int Index

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

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

    Returns:

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

    Example:

          int index = var.Index;

          Dim index As Integer = var.Index

  bool SameAs(GRBVar var2)

    Check whether two variable objects refer to the same variable.

    Parameters:

      var2 – The other variable.

    Returns:

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

    Example:

          // Compare to a second variable
          bool issame = var.SameAs(var2);

          ' Compare to a second variable
          Dim issame As Boolean = var.SameAs(var2)

  void Set(GRB.CharAttr attr, char newvalue)
  void Set(GRB.DoubleAttr attr, double newvalue)
  void Set(GRB.IntAttr attr, int newvalue)
  void Set(GRB.StringAttr attr, string newvalue)

    Set the value of an attribute.

    Parameters:

      - attr – The attribute being modified.

      - newvalue – The desired new value of the attribute.

    Example:

          // Set VType value
          var.Set(GRB.CharAttr.VType, GRB.BINARY);
          // Set lower bound value
          var.Set(GRB.DoubleAttr.LB, 0.1);
          // Set VBasis value
          var.Set(GRB.IntAttr.VBasis, -1);
          // Set variable name
          var.Set(GRB.StringAttr.VarName, "newName");

          ' Set VType value
          var.Set(GRB.CharAttr.VType, GRB.BINARY)
          ' Set lower bound value
          var.Set(GRB.DoubleAttr.LB, 0.1)
          ' Set VBasis value
          var.Set(GRB.IntAttr.VBasis, -1)
          ' Set variable name
          var.Set(GRB.StringAttr.VarName, "newName")

Help and Feedback

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