Feasibility Tolerance Boxes



The Initial Linear Feasibility Tol and the Final Linear Feasibility Tol boxes on the Linear Solver tab:

page143xp

are used to control the feasibility tolerances for the linear solver. These tolerances are related to how closely constraints must be satisfied in linear models. In general, if your models are well formulated, you should not have to modify these tolerances. However, access to these tolerances is provided for the expert user.

Due to the finite precision available for floating point operations on digital computers, LINGO can't always satisfy each constraint exactly. Given this, LINGO uses these two tolerances as limits on the amount of violation allowed on a constraint while still considering it "satisfied". These two tolerances are referred to as the Initial Linear Feasibility Tolerance (ILFT) and the Final Linear Feasibility Tolerance (FLFT.) The default values for these tolerances are, respectively, .000003 and .0000001.

The ILFT is used when the solver begins iterating. In the early stages of the solution process, having the solver less concerned with accuracy issues can boost performance. When LINGO thinks it has an optimal solution, it switches to the more restrictive FLFT. At this stage in the solution process, you want a relatively high degree of accuracy. Thus, the FLFT should be smaller than the ILFT.

One instance where these tolerances can be of use is when LINGO returns a solution that is almost feasible. You can verify this by checking the values in the Slack or Surplus column in the model's solution report. If there are only a few rows with small negative values in this column, then you have a solution that is close to being feasible. Loosening (i.e., increasing) the ILFT and FLFT may help you get a feasible solution. This is particularly true in a model where scaling is poor (i.e., very large and very small coefficients are used in the same model), and the units of measurement on some constraints are such that minor violations are insignificant. For instance, suppose you have a budget constraint measured in millions of dollars. In this case, a violation of a few pennies would be of no consequence. Short of the preferred method of re-scaling your model, loosening the feasibility tolerances may be the most expedient way around a problem of this nature.