MIP solvers like Gurobi Optimizer solve integer programs via a series of linear programming relaxations. A solution is deemed integer if all integer variables are within a tolerance value (IntFeasTol) of an integer solution. The default value of `IntFeasTol` is 1e-5, so a value like 1.000000465 would be considered an integer solution. Note that in some cases, tightening this tolerance too much can have a significant impact on the solve time.

Gurobi Optimizer does not provide a rounding feature because, in many models, rounding to an exact integer value can create problems, such as making the solution infeasible. Our recommendation is that once the optimization run is complete, that you do any necessary rounding in post-processing.