Algorithm Selection

Revision as of 01:52, 25 November 2015 by Jhernandez3 (talk | contribs)

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.