Dealing with epsilon-optimal solutions
The previous section considered the case of multiple (true) optimal solutions. What happens when we have several -optimal solutions? To be more specific, consider
The above statement is true whenever the distance between and is not too large. To see this, consider what happens when we change the right-hand side of from 1 to . Then the feasible region would then be a very long rectangular box, with vertices , , and . Perhaps somewhat surprisingly, if is below the dual tolerance, simplex may consider optimal, even though its objective value is , which can be very relevant in terms of the final objective value.
Note that both situations share one ingredient: The objective function is (almost) parallel to one of the sides of the feasible region. In the first case, this side is relatively short, and thus jumping from to translate into a small change in objective value. In the second case, the side almost parallel to the objective function is very long, and now the jump from to can have a significant impact on the final objective function.
If you take out either of these two ingredients, namely the objective vector being almost parallel to a constraint, or the edge induced by this nearly-parallel constraint being very long, then this problem can not arise. For the reasons discussed at the beginning of this section, it is common for the objective function to be close to parallel to one or more constraints. Thus, the best way to avoid this situation is to avoid the second condition. The simplest way to do this is to ensure that the ranges for your variables are not too large. Please refer to the Scaling section for guidance on this.