x <= 1000000
in an optimization model. Clearly the problem is infeasible. Now assume you have the constraints
1.0e-6 x <= 1 + epsilon
then they are still infeasible if epsilon=0.0. Note the second set of constraints is equivalent to first set of constraints except the first constraint has be scaled by a factor of 1.0e-6 (assuming epsilon=0.0).
However for epsilon of 1.0e-6 the constraints are FEASIBLE! The status of the problem has changed.
Most optimizatizers for LPs and nonlinear problems will declare the solution feasible it satisfies all the constraints within a small tolerance of say 1.0e-6. And hence they will report the second set of constraints as feasible even for epsilon=0.0. Whereas they will consider the first set of constraints infeasible.
The following can learned form this small example:
- Scaling of constrains (and variables) has an effect.
- The effect can be quite dramatic if the problem is near infeasible or is near feasible.
- Different optimizers will scale differently and hence it is very likely they will reach different conclusions i.e. whether the problem is infeasible or not.