Default value: 1e-6
Minimum value: 0
Maximum value: 1
rosepy parameter name: tol_integer
See the linked article for information on How to change and view the solver parameters.
Recommendations
A larger integral tolerance value will typically provide faster convergence to the solution as there is less chance of floating point precision issues arising. However, setting a smaller integral tolerance can provide more accurate solutions, to better optimality, that are more likely to be feasible.
That said, for most applications, the default settings provided by Rose strike a good balance between these factors, so there is generally no need to adjust this parameter.
Note that this parameters only applied to integer and binary decision variables. If your model does not have either of these types of decision variables, this parameter will not apply.
Technical details
Integral tolerance refers to a tolerance level applied to decision variables that are supposed to take integer values. Due to numerical precision limits, computers may return solutions where variables intended to be integers are very close to but not exactly integers (e.g., 2.000001).
The integral tolerance specifies how close a value must be to an integer for it to be considered effectively as an integer by the solver. Mathematically, if a variable \(x\) is intended to be integer-valued, and the integral tolerance is set to \(e\), then \(x\) is considered an integer if:
$$|x - round(x)| \le \epsilon$$
where \(round(x)\) is the nearest integer of \(x\). The solver treats \(x\) as an integer if the deviation from the nearest integer is within the specified integral tolerance \(\epsilon\).
For example, if the integral tolerance \(\epsilon\) is set to 1e-6, a solution value of 2.0000003 would be counted as an integer. This concept is crucial for ensuring that solutions adhere to the integrality constraints in practical applications where exact precision may not be feasible due to floating-point arithmetic limitations.
Comments
0 comments
Please sign in to leave a comment.