Reporting results - attributes

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.