Once the optimization is complete, we can query the values of the
attributes. In particular, we can query the VarName and
X attributes to obtain the name and solution value of each
variable:
cout << x.get(GRB_StringAttr_VarName) << " "
<< x.get(GRB_DoubleAttr_X) << endl;
cout << y.get(GRB_StringAttr_VarName) << " "
<< y.get(GRB_DoubleAttr_X) << endl;
cout << z.get(GRB_StringAttr_VarName) << " "
<< z.get(GRB_DoubleAttr_X) << endl;
We can also query the ObjVal attribute on the model to
obtain the objective value for the current solution:
cout << "Obj: " << model.get(GRB_DoubleAttr_ObjVal) << endl;
The names and types of all model, variable, and constraint attributes
can be found in the Attributes section of the
Gurobi Reference Manual.