## Preprocessing

With the preprocessing option, you can identify redundant and
infeasible constraints, improve lower and upper bounds of variables,
fix variable values and improve coefficients and RHS values
before solving a problem.
Preprocessing can be applied to LP, IP and MIP problems.
For an LP problem, it may significantly reduce the
problem size. For an IP or MIP problem, it can often reduce the gap between
the optimal solution and the solution of the relaxed problem, which
could lead to a smaller search tree in the branch and bound algorithm.
As a result, the CPU time may be reduced on many problems.
Although there is no guarantee that preprocessing will always yield
a faster solution, it does provide a highly effective approach
to solving large and difficult problems.
Preprocessing is especially useful when the original problem causes numerical
difficulties to PROC LP. Since preprocessing could identify
redundant constraints and tighten lower and upper bounds of variables,
the reformulated problem may eliminate the numerical difficulties
in practice.

When a constraint is identified as redundant, its type is marked as
*FREE* in the Constraint Summary. If a variable is fixed, its type
is marked as *FIXED* in the Variables Summary. If a constraint is identified as
infeasible, PROC LP stops immediately and displays the constraint name
in the SAS log file.
This capability sometimes gives valuable insight into the model or the formulation
and helps establish if the model is reasonable and the formulation is correct.

For a large and dense problem, preprocessing may take a longer time
for each iteration. To limit the number of preprocessings,
use the PMAXIT=
option. To stop any further preprocessings
during the preprocessing stage,
press the CTRL-BREAK key. PROC LP will enter phase 1
at the end of the current iteration.

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.