Main

See also [[MainApmOptionColdstart|COLDSTART]]

## APM.REDUCE - APMonitor Option

## Main.OptionApmReduce History

Show minor edits - Show changes to output

Changed line 30 from:

See also [[Main/~~ApmOptionColdstart~~|COLDSTART]]

to:

See also [[Main/OptionApmColdstart|COLDSTART]]

Changed line 30 from:

See also [[~~MainApmOptionColdstart~~|COLDSTART]]

to:

See also [[Main/ApmOptionColdstart|COLDSTART]]

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]]

Added lines 29-30:

See also [[MainApmOptionColdstart|COLDSTART]]

Added lines 1-28:

(: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.

(: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.