int GRBaddvar ( GRBmodel *model,
    int numnz,
    int *vind,
    double *vval,
    double obj,
    double lb,
    double ub,
    char vtype,
    const char *varname )

Add a new variable to an existing model. Note that the new variable won't actually be added until the next call to GRBoptimize or GRBupdatemodel.

Return value:

A non-zero return value indicates that a problem occurred while adding the variable. Refer to the Error Code table for a list of possible return values. Details on the error can be obtained by calling GRBgeterrormsg.


model: The model to which the new variable should be added.

numnz: The number of non-zero coefficients in the new column.

vind: Constraint indices associated with non-zero values for the new variable.

vval: Numerical values associated with non-zero values for the new variable.

obj: Objective coefficient for the new variable.

lb: Lower bound for the new variable.

ub: Upper bound for the new variable.

vtype: Type for the new variable. Options are GRB_CONTINUOUS, GRB_BINARY, GRB_INTEGER, GRB_SEMICONT, or GRB_SEMIINT.

varname: Name for the new variable. This argument can be NULL, in which case the variable is given a default name.

Example usage:

  int    ind[] = {1, 3, 4};
  double val[] = {1.0, 1.0, 1.0};
  error = GRBaddvar(model, 3, ind, val, 1.0, 0.0, GRB_INFINITY,
                    GRB_CONTINUOUS, "New");