## Main.OptionApmReduce History

June 09, 2017, at 12:30 AM by 10.5.113.159 -
Changed line 30 from:
to:
June 09, 2017, at 12:30 AM by 10.5.113.159 -
Changed line 30 from:
to:
June 09, 2017, at 12:30 AM by 10.5.113.159 -
Changed lines 5-6 from:
%width=50px%Attach:apm.png
to:
%width=50px%Attach:apm.png [[Main/DbsGlobal|Global Options]] | %width=30px%Attach:fv.png %width=30px%Attach:mv.png %width=30px%Attach:sv.png %width=30px%Attach:cv.png[[Main/DbsVariable|Local Options]]

June 06, 2017, at 12:29 AM by 10.5.113.159 -
(:title APM.REDUCE - APMonitor Option:)
(:keywords APM.REDUCE, Optimization, Estimation, Option, Configure, Default, Description:)
(:description REDUCE is the number of cycles of pre-processing to analyze the problem structure and eliminate variables that can be fixed and equations that can be eliminated from the problem:)

%width=50px%Attach:apm.png

Type: Integer, Input
Default Value: 0
Description: Number of pre-processing cycles to identify
equations or variables to eliminate

REDUCE is the number of cycles of pre-solve analysis before sending the problem to a solver. The analysis eliminates variables and equations with the following characteristics:

* variables that don't belong to an equation or objective
* equations with assignments such as x=2.5 (set to value and fix)
** identified with a single non-zero in Jacobian row
** set variable equal to zero, evaluate residual
** then set x = -resid/jac (when abs(jac)>tolerance)
** check that upper or lower limits are not violated
* equations that connect two variables y = z (merge)
** set variables equal to zero, evaluate residual
** if abs(residual)~0 and abs(jac_1 - jac_2) ~ 0, merge
* independent blocks of linear equations (not yet implemented)
** perform Lower Block Triangularization (LBT)
** analyze independent blocks
** if equation blocks are linear then solve and fix

If no variables are left (all reduced) then APMonitor reports a successful solution without sending the problem to a solver. When no variables or equations are eliminated, the remainder of the REDUCE cycles are skipped. REDUCE has the potential to present a more dense and smaller problem to the solver but may also require more pre-processing time that is more efficiently utilized by the solver.