By default, Solver will consider both integers and non-integers (fractions) as possibilities for the decision variables.  As we will see in this module, for some problems it makes sense to add integer constraints – i.e. constraints that the decision variables can only have integer values.

When you solve a problem with integer constraints, the solution process in almost all Solver engines is governed by the Integer Tolerance option on the Task Pane Engine tab.  When this option value is non-zero – say 0.05, which is the default in the standard Excel Solver – the Solver engine stops when it has found a solution satisfying the integer constraints whose objective is within 5% of the true integer optimal solution. Therefore, if the Integer Tolerance option is set to any value other than 0, there may be an integer solution that is better than the one found by the Solver.

To avoid this common problem, the safest approach is to change the Integer Tolerance value in Analytic Solver Platform (Engine tab) to a value of 0 – this will ensure that the solution presented by the Solver is truly optimal.  However, this has an important consequence for solution time: the solution process for integer problems often finds a near-optimal solution (sometimes the optimal solution) relatively quickly, and then spends far more time exhaustively checking other possibilities to find (or verify that it has found) the very best integer solution.  Thus, for larger problems with integer constraints, setting the Integer Tolerance to a non-zero value – say 0.025 or 0.05 – might be necessary to avoid very long solution times.