cols = m.get(GRB_IntAttr_NumVars);
If you've performed optimization on the model, the optimal objective value can be obtained by querying the ObjVal model attribute:
obj = m.get(GRB_DoubleAttr_ObjVal);
If you'd like to query the value that a variable takes in the computed solution, you can query the X attribute for the corresponding variable object:
vars = m.getVars() for (int j = 0; j < cols; j++) xj = vars[j].get(GRB_DoubleAttr_X)You can also query the value of for multiple variables in a single get call on the model :
double xvals = m.get(GRB_DoubleAttr_X, m.GetVars()))
For each attribute query method, there's an analogous routine. To set the upper bound of a variable, for example:
v = m.getVars() v.set(GRB_DoubleAttr_UB, 0)(In this example, we've set the upper bound for the first variable in the model to 0).