Affected versions: Gurobi v10.0.0
Resolved in version: Gurobi v10.0.1
Gurobi 10.0.0 includes a bug that can result in Gurobi printing an incorrect optimal objective value for multi-objective optimization problems in the log file. This issue is fixed with the Gurobi release 10.0.1. Note that this bug only affects the objective values printed in the log, as well as attributes in the log relying on the objective value (e.g., the reported MIPGap). The correct objective values are reported via the ObjNVal attribute, and the optimal solution returned by Gurobi is correct.
The correct MIPGap can be computed: The false results are caused by a wrong constant that is added during presolve. By comparing the reported (wrong) objective value from the log with the (correct) objective value reported via the ObjNVal attribute, this constant can be identified. Adding/subtracting this constant to/from the lower bound should give you the correct value for the lower bound and the MIPgap can be computed, compare with the formula given in the description of MIPGap.
Disabling multi-objective presolve by setting the MultiObjPre parameter to 0 will ensure the correct objective values are reported in the log file. However, this may negatively affect performance.