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).