Difference between revisions of "Algorithm Selection"

(Created page with "Category: Analytica Optimizer Guide <breadcrumbs> Analytica Optimizer Guide > {{PAGENAME}}</breadcrumbs><br /> ==Preprocessing== ===Scaling === When this is True, the Op...")
 
Line 1: Line 1:
 
[[Category: Analytica Optimizer Guide]]
 
[[Category: Analytica Optimizer Guide]]
<breadcrumbs> Analytica Optimizer Guide > {{PAGENAME}}</breadcrumbs><br />
+
<breadcrumbs> Analytica Optimizer Guide > {{PAGENAME}}</breadcrumbs>
  
==Preprocessing==
+
== Preprocessing ==
  
 
===Scaling ===
 
===Scaling ===
 
When this is True, the Optimizer attempts to rescale decision variables and constraints internally for the simplex algorithm, which usually leads to be reliable results and fewer iterations. A poorly scaled model, in which values of the objective, constraints, or intermediate results differ by several orders of magnitude, can result in numeric instabilities within the Optimizer when scaling is turned off, due to the effects of finite precision computer arithmetic.
 
When this is True, the Optimizer attempts to rescale decision variables and constraints internally for the simplex algorithm, which usually leads to be reliable results and fewer iterations. A poorly scaled model, in which values of the objective, constraints, or intermediate results differ by several orders of magnitude, can result in numeric instabilities within the Optimizer when scaling is turned off, due to the effects of finite precision computer arithmetic.
  
Default: False
+
'''Default''': False
  
Allowed range: 0 or 1
+
'''Allowed range''': 0 or 1
 
 
Presolve
 
  
 +
=== Presolve ===
 
When this is True, the LP/Quadratic engine performs a presolve step to detect singleton
 
When this is True, the LP/Quadratic engine performs a presolve step to detect singleton
 
rows and columns, remove fixed variables and redundant constraints, and tighten
 
rows and columns, remove fixed variables and redundant constraints, and tighten
 
bounds, prior to applying the simplex method.
 
bounds, prior to applying the simplex method.
Default: True
+
 
Allowed range: 0 or 1
+
'''Default''': True
Engine: LP/Quadratic
+
 
PreProcess Turns on or off all integer pre-processing (on by default).
+
'''Allowed range''': 0 or 1
Default: 1
+
 
Allowed range: 0 or 1
+
'''Engine''': LP/Quadratic
Engine: LP/Quadratic
+
 
 +
=== PreProcess ===
 +
Turns on or off all integer preprocessing (on by default).
 +
 
 +
'''Default''': 1
 +
 
 +
'''Allowed range''': 0 or 1
 +
 
 +
'''Engine''': LP/Quadratic
 +
 
 +
=== StrongBranching ===
 +
This setting applies to integer and mixed-integer problems. When this is on, the Optimizer estimates the impact of branching on each integer variable of the objective function prior to beginning the branch and bound search. It does this by performing a few iterations of the dual simplex method after fixing each variable. This “experiment” provides the search with an estimate of which integer variables are likely to be most effective choices during the branch and bound search. Although the time spent in this estimation process can be moderately expensive, the cost is often regained many times over through a reduction in the number of branch-and-bound iterations that must be explored to find an optimal integer solution.
 +
 
 +
'''Default''': 1
 +
 
 +
'''Allowed range''': 0 or 1
 +
 
 +
'''Engine''': LP/Quadratic
 +
 
 +
== Debugging ==
 +
 
 +
=== SolveWithout ===
 +
Means "Solve Without Integer Constraints." When this is True, any integer domain constraints are ignored, and the continuous, and the continuous version of the problem is solved instead. The effect is the same as changing the domain to Continuous while leaving the variable bounds in, but can be more convenient in some cases when debugging.
 +
 
 +
'''Default''': 0
 +
 
 +
'''Allowed range''': 0 or 1
 +
 
 +
=== IISBounds ===
 +
Determines whether variable bounds should be included in the infeasibility search conducted by OptFindIIS() or OptWriteIIS(). When set to 1, only a subset of the scalar constraints along the .ConstraintVector index is considered. When set to 0, variable bounds can be eliminated in order to find an IIS with a greater number of constraints. This parameter is only used by OptFindIIS() when the second optional parameter, newLp, is True. When newLp is True, OptFindIIS() returns a new «LP» object, from which you can use OptInfo() to access the list of constraints and list of variable bounds
 +
present in the IIS. When newLp is False, since only a subset of the .ConstraintVector index is returned, OptFindIIS() relaxes only constraints, leaving variable bounds in tact.
 +
 
 +
'''Default''': 0
 +
 
 +
'''Allowed range''': 0 or 1
 +
 
 +
== Numeric estimation ==
 +
Derivatives
 +
 
 +
The Derivatives setting controls how derivatives are computed. These values are possible:
 +
• 1 = forward: This is the default if Jacobian and gradient parameters are not supplied. The Optimizer estimates derivatives using forward differencing, i.e.,
 +
<math><big>\frac {\part}{\part(x)} </big></math>
 +
 
 +
• 2 = central: The Optimizer estimates derivatives using central differencing, i.e.,
 +
• 3 = jacobian: The Optimizer computes derivatives using the supplied Jacobian
 +
and gradient expressions. This is the default if these are supplied.
 +
• 4 = check: The Optimizer computes derivatives using the supplied Jacobian
 +
expression and also estimates the Jacobian using finite differencing. If they don’t
  
 
<footer>Optimizer Function Reference / {{PAGENAME}} / Numeric Tolerance and Precision</footer>
 
<footer>Optimizer Function Reference / {{PAGENAME}} / Numeric Tolerance and Precision</footer>

Revision as of 01:52, 25 November 2015

Preprocessing

Scaling

When this is True, the Optimizer attempts to rescale decision variables and constraints internally for the simplex algorithm, which usually leads to be reliable results and fewer iterations. A poorly scaled model, in which values of the objective, constraints, or intermediate results differ by several orders of magnitude, can result in numeric instabilities within the Optimizer when scaling is turned off, due to the effects of finite precision computer arithmetic.

Default: False

Allowed range: 0 or 1

Presolve

When this is True, the LP/Quadratic engine performs a presolve step to detect singleton rows and columns, remove fixed variables and redundant constraints, and tighten bounds, prior to applying the simplex method.

Default: True

Allowed range: 0 or 1

Engine: LP/Quadratic

PreProcess

Turns on or off all integer preprocessing (on by default).

Default: 1

Allowed range: 0 or 1

Engine: LP/Quadratic

StrongBranching

This setting applies to integer and mixed-integer problems. When this is on, the Optimizer estimates the impact of branching on each integer variable of the objective function prior to beginning the branch and bound search. It does this by performing a few iterations of the dual simplex method after fixing each variable. This “experiment” provides the search with an estimate of which integer variables are likely to be most effective choices during the branch and bound search. Although the time spent in this estimation process can be moderately expensive, the cost is often regained many times over through a reduction in the number of branch-and-bound iterations that must be explored to find an optimal integer solution.

Default: 1

Allowed range: 0 or 1

Engine: LP/Quadratic

Debugging

SolveWithout

Means "Solve Without Integer Constraints." When this is True, any integer domain constraints are ignored, and the continuous, and the continuous version of the problem is solved instead. The effect is the same as changing the domain to Continuous while leaving the variable bounds in, but can be more convenient in some cases when debugging.

Default: 0

Allowed range: 0 or 1

IISBounds

Determines whether variable bounds should be included in the infeasibility search conducted by OptFindIIS() or OptWriteIIS(). When set to 1, only a subset of the scalar constraints along the .ConstraintVector index is considered. When set to 0, variable bounds can be eliminated in order to find an IIS with a greater number of constraints. This parameter is only used by OptFindIIS() when the second optional parameter, newLp, is True. When newLp is True, OptFindIIS() returns a new «LP» object, from which you can use OptInfo() to access the list of constraints and list of variable bounds present in the IIS. When newLp is False, since only a subset of the .ConstraintVector index is returned, OptFindIIS() relaxes only constraints, leaving variable bounds in tact.

Default: 0

Allowed range: 0 or 1

Numeric estimation

Derivatives

The Derivatives setting controls how derivatives are computed. These values are possible: • 1 = forward: This is the default if Jacobian and gradient parameters are not supplied. The Optimizer estimates derivatives using forward differencing, i.e., [math]\displaystyle{ \lt big\gt \frac {\part}{\part(x)} \lt /big\gt }[/math]

• 2 = central: The Optimizer estimates derivatives using central differencing, i.e., • 3 = jacobian: The Optimizer computes derivatives using the supplied Jacobian and gradient expressions. This is the default if these are supplied. • 4 = check: The Optimizer computes derivatives using the supplied Jacobian expression and also estimates the Jacobian using finite differencing. If they don’t

Comments


You are not allowed to post comments.