The Linear Programming Solver |
Iteration Log for the Simplex Solvers |
The simplex solvers implement a two-phase simplex algorithm. Phase I finds a feasible solution, which phase II improves to an optimal solution.
When the PRINTFREQ= option has a value of 1, the following information is printed in the iteration log:
indicates whether the solver is in phase I or phase II of the simplex method.
indicates the iteration number.
indicates the current amount of infeasibility in phase I and the objective value of the current solution in phase II.
indicates the entering pivot variable. A slack variable entering the basis is indicated by the corresponding row name followed by ‘(S)’. If the entering nonbasic variable has distinct, finite lower and upper bounds, then a "bound swap" takes place. In other words, if the entering variable is at its upper bound, then it is "flipped" to its lower bound and is indicated in the log as "To lower."
indicates the leaving pivot variable. A slack variable leaving the basis is indicated by the corresponding row name followed by ‘(S)’.
When the PRINTFREQ= option is omitted or specified with a value larger than 1, only the phase, iteration, and objective value information is printed in the iteration log.
The behavior of objective values in the iteration log depends on both the current phase and the chosen solver. In phase I, both simplex methods have artificial objective values that decrease to 0 when a feasible solution is found. For the dual simplex method, phase II maintains a dual feasible solution, so a minimization problem has increasing objective values in the iteration log. For the primal simplex method, phase II maintains a primal feasible solution, so a minimization problem has decreasing objective values in the iteration log.
During the solution process, some elements of the LP model might be perturbed to improve performance. After reaching optimality for the perturbed problem, the LP solver solves the original problem by using the optimal basis for the perturbed problem. This can occasionally cause the simplex solver to repeat phase I and phase II in several passes.
Copyright © SAS Institute, Inc. All Rights Reserved.