Algorithm Selection
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{ \frac {\part}{\part(x)}=\frac {f(x+\Delta) - f(x)}{\Delta} }[/math]
2 = central
: The Optimizer estimates derivatives using central differencing, i.e.,
- [math]\displaystyle{ \frac {\part}{\part(x)}=\frac {f(x+\Delta) - f(x-\Delta)}{2\Delta} }[/math]
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 agree to within a small tolerance, the optimization aborts with OptStatusNum() = 67 (“error in evaluating problem functions”). This option is useful for testing whether the Jacobian is accurate.
Enable comment auto-refresher