CONOPT Parameter Options

List of Options

Option Name MPL Name Solver Param ParamNr Type Default Min Max
Maximum Jacobian value MaxJacobianValue RTMAXJ 1 real 100000 1000 MAXREAL
Maximum scaling factors MaxScaleFactors RTMAXS 2 real 1024 128 1e10
Infinity measure MaxInfinity RTMAXV 3 real 3e7 0 MAXREAL
Minimum Jacobian value MinJacobianValue RTMINJ 4 real 1e-5 1e-5 1e-3
Minimum scaling factors MinScaleFactors RTMINS 5 real 9.76563e-4 1e-10 7.8125e-3
Maximum bound on second derivatives MaxBoundSecondDerivatives RTMXJ2 6 real 10000 1.0 MAXREAL
Maximum feasibility tolerance MaxFeasibilityTolerance RTNWMA 7 real 0.001 1e-6 0.01
Minimum feasibility tolerance MinFeasibilityTolerance RTNWMI 8 real 4e-10 3e-14 1e-5
Triangular feasibility tolerance TriangularFeasTolerance RTNWTR 9 real 6.324555e-7 3e-13 1e-4
LineSearch accuracy LineSearchAccuracy RTONED 10 real 0.2 0.05 0.8
Set steplength multiplier StepLengthMultiplier RVSTLM 11 real 4.0 0.2 100.0
Objective change tolerance ObjectiveChangeTolerance RTOBJL 12 real 3e-12 3e-13 1e-5
Relative objective tolerance RelativeObjectiveTol RTOBJR 13 real 3e-13 3e-14 1e-6
Absolute pivot tolerance AbsolutePivotTolerance RTPIVA 14 real 1e-10 2e-16 1e-7
Relative pivot tolerance RelativePivotTolerance RTPIVR 15 real 0.05 0.001 0.9
Optimality tolerance OptimalityTolerance RTREDG 16 real 1e-7 3e-13 1.0
Zero noise tolerance ZeroNoiseTolerance RTZERN 17 real 0 0 1
Maximum time in execution phase MaxExecutionPhaseTime RVTIME 18 real 1e6 0 MAXREAL
Log iteration frequency LogIteration LFILOG 19 int 10 1 MAXINT
Log SLP & SQP iteration frequency LogSLPAndSQPIteration LFILOS 20 int 5 1 MAXINT
Iteration limit IterationLimit LFITER 21 int 1e6 1 MAXINT
Slow progress limit LimitForSlowProgress LFNICR 22 int 12 2 MAXINT
Hessian dimension limit HessianDimensionLimit LFNSUP 23 int 500 5 MAXINT
New super-basic variable limit NumNewSuperBasics LFMXNS 24 int 5 0 MAXINT
Dynamic scaling recalculation ReCalculation LFSCAL 25 int 20 1 MAXINT
Maximum stalled iteration limit MaxStalledIteration LFSTAL 26 int 100 2 MAXINT
Debug derivatives DebugDerivatives LKDEBG 27 list 0 -1 MAXINT
Debug second derivatives DebugSecondDerivatives LKDEB2 28 list 0 -1 MAXINT
Debug derivatives method DebugDerivativesMethod LMDEBG 29 list 0 0 1
Maximum step method MaximumStepMethod LMMXSF 30 list 0 0 1
Maximum step method for tightened tolerances MaxStepMethodTolTight LMMXST 31 list 0 0 1
Activate steepest-edge ActivateSteepestEdge LSANRM 32 flag 0 0 1
Use crash method Crash LSCRSH 33 flag 1 0 1
Activate SLP ActivateSLP LSESLP 34 flag 1 0 1
Ignore small pivots IgnoreSmallPivots LSISMP 35 flag 0 0 1
Set all slack basis AllSlackBasis LSLACK 36 flag 0 0 1
Use preprocessor Preprocessor LSPRET 37 flag 1 0 1
Identify post-trianglar equations PostTrianglarEquations LSPOST 38 flag 1 0 1
Declaring a square system IsSquareSystem LSSQRS 39 flag 0 0 1
Use dynamic scaling DynamicScaling LSSCAL 40 flag 0 0 1
Crash triangular basis CrashTriangularBasis LSTCRS 41 flag 0 0 1
Form triangular or recursive system FormTriOrRecursiveSystem LSTRIA 42 flag 0 0 1
Error limit ErrorLimit int 0 0 MAXINT
First derivative evaluation log FDEvalLog flag 0 0 1
First derivative evaluation frequency log output FDEvalFreq int 1 1 MAXINT
Use second derivatives SDEvalUse flag 0 0 1
Second derivative evaluation log SDEvalDebug int 0 -1 MAXINT


Description of Options

Maximum Jacobian value

Maximum Jacobian element. The optimization is stopped if a Jacobian element exceeds this value. Maximum Jacobian value is initialized to a value that depends on the machine precision. It is on most machines around 100000. The actual value is shown by CONOPT in connection with 'Too large Jacobian element' messages. If you need a larger value then your model is poorly scaled and CONOPT may find it difficult to solve.

Maximum scaling factors

An upper bound on the scale factors used by the dynamic scaling algorithm. Scale factors must be in the range from MinScaleFactors to MaxScaleFactors. The two values are used to prevent very large or very small scale factors due to pathological types of constraints. The default value of RTMAXS is 1024, the minimum is 128 and the maximum is 1e10.

Infinity measure

Internal value of infinity. The model is considered unbounded if a variable exceeds the infinity measure in absolute value. This is initialized to a value that depends on machine precision and it is on most machines around 3.e7. It can be increased for small models where tolerance problems are less likely. The actual value is shown by CONOPT after "Unbounded" messages. If you need a larger value then your model is poorly scaled and CONOPT may have difficulty solving it.

Minimum Jacobian value

A Jacobian element is considered 'insignificant' by the dynamic scaling algorithm if it is less than Minimum Jacobian value. All small values are increased to minimum Jacobian value before the scaling algorithm is applied to the Jacobian. The default value is 1e-5, the minimum is 1e-7 and the maximum is 0.001.

Minimum scaling factors

A lower bound on the scale factors used by the dynamic scaling algorithm. Scale factors must be in the range from minimum to the maximum scaling factor values. The two values are used to prevent very large or very small scale factors due to pathological types of constraints. The default value of is 1/1024, the minimal value 1.e-10 and the maximal value is 1/128.

Maximum bound on second derivatives

Upper bound on second derivatives. It is only used during model debugging to determine if derivatives computed by numerical differences appear to be consistent with derivatives computed by MPL. If an implied second order term is larger than the parameter then the derivative is flagged as being wrong. The default value is 1.e4, the minimum is 1.0, and there is no maximum.

Maximum feasibility tolerance

A constraint will only be considered feasible if the residual is less than maximum feasibility tolerance, independent on the dual variable. The default value is 0.001, the minimum is 1.e-6 and the maximum is 0.01. Maximum feasibility tolerance may be increased internally if the model has very large Jacobian element or very large variables.

Minimum feasibility tolerance

A constraint will always be considered feasible if the residual is less than minimum feasibility tolerance, independent of the dual variable. The default value is around 4e-10, the minimum is 3e-14, and the maximum is 1e-5. You should only increase this number if you have inaccurate function values and you get an infeasible solution with a very small sum of infeasibility. minimum feasibility tolerance. may be increased internally if the model has very large Jacobian element or very large variables. Minimum feasibility tolerance must be less than or equal to maximum feasibility tolerance..

Triangular feasibility tolerance

The triangular equations identified as part of CONOPTs preprocessor are usually solved to an accuracy of this parameter setting. However the feasibility tolerance is changed to triangular feasibility tolerance if a variable reaches a bound or a constraint only has pre-determined variables.

LineSearch accuracy

Relative accuracy of one-dimensional search. The one-dimensional search is stopped if the expected further decrease in objective estimated from a quadratic approximation is less than linesearch accuracy value times the decrease obtained so far. The default value is 0.2, the minimum is 0.05, and the maximum is 0.8. A smaller value will result in a more accurate but more expensive line search. This may result in a decrease in the number of iterations, but the change is the overall computing time is less predictable.

Set steplength multiplier

The step length in the one-dimensional line search is not allowed to increased by a factor of more than steplength multiplier between steps for models with nonlinear constraints and a factor of 100 * steplength multiplier for models with linear constraints. The default value is 4, the minimum is 2, and the maximum is 100.

Objective change tolerance

The change in objective in a well-behaved iteration is considered small if it is less than objective change tolerance * Max(1,Abs(FOBJ)) where FOBJ is the value of the current objective function. The value is used in tests for "Slow Progress". The default value is 3e-12, the minimum is 3e-13, and the maximum is 1e-5.

Relative objective tolerance

CONOPT assumes that the reduced objective function can be computed to an accuracy of relative objective tolerance * Max(1,Abs(FOBJ)) where FOBJ is the value of the current objective function. The default value is 3e-13, the minimum is 3e-14 and the maximum is 1e-6. You should only increase this number if you have inaccurate function values.

Absolute pivot tolerance

A pivot element is only considered acceptable if its absolute value is larger than the absolute pivot tolerance. The default value is 1e-10, the minimum is 2e-16, and the maximum is 1e-7. You may have to decrease this value slightly for poorly scaled models.

Relative pivot tolerance

A pivot element is only considered acceptable relative to other elements in the column if its absolute value is at least relative pivot tolerance * the largest absolute value in the column. The value used internally is adjusted dynamically between the value given here and 0.9. The default value is 0.05, the minimum is 1e-3, and the maximum is 0.9. You may have to increase this value towards one on very poorly scaled models. Increasing relative pivot tolerance will result in denser L and U factors of the basis.

Optimality tolerance

The reduced gradient is considered zero and the solution optimal if the largest super-basic component is less than optimality tolerance. The default value is around 1e-7. The minimum is 3e-13 and the maximum is 1.0.

Zero noise tolerance

The default and minimum value is 0 and maximum value is 1.

Maximum time in execution phase

The upper bound on the total number of seconds that can be used in the execution phase. There are only tests for time limit once per iteration.

Log iteration frequency

Sets the Log frequency, every x iterations is sent to the message windows and subsequent log file. The default value is 10, is not used during SLP and SQP iterations. The minimum value is 1 and there is no maximum.

Log SLP & SQP iteration frequency

Frequency for printing the iteration log on the screen during SLP and SQP iterations. The default is 5 for small models and 1for models with more than 500 constraints. The minimum value is 1 and it cannot exceed the value of the Log iteration frequency.

Iteration limit

The iteration limit option specifies the limit of iterations that can be performed during the optimization process.

Slow progress limit

The optimization is stopped with a "Slow Progress" message if the change in objective is less than objective change tolerance * max(1,abs(FOBJ)) for x consecutive iterations where FOBJ is the value of the current objective function. The default value is 12, the minimum is 2 and there is no maximum.

Hessian dimension limit

If the number of super-basic variables exceed the hessian dimension limit, CONOPT will no longer use the BFGS algorithm. If 2nd derivatives are used then CONOPT will use a Conjugate Gradient algorithm. Otherwise, CONOPT will switch to a steepest descend approach, independent of the degree of nonlinearity of the model, and progress may become very slow. If you have enough memory you should try to increase the value of hessian dimension limit if CONOPT performs many iterations in Phase 4 with the number of super-basic variables (NSB) larger than hessian dimension limit and without much progress. The new value should in this case be larger than the number of super-basic variables. The default value is 500, the minimum is 5, and there is no maximum.

New super-basic variable limit

When there has been a sufficient reduction in the reduced gradient in one subspace, CONOPT tests if any non-basic variables should be made super-basic. The ones with the largest reduced gradient of proper sign are selected, up to a limit of the new super-basic variable limit. The default value is 5. The limit is replaced by the square root of the number of structural variables if set to zero. The minimum is 0 and there is no maximum.

Dynamic scaling recalculation

If the dynamic scaling algorithm is used, then row and column scales are recalculated at least every x new point (degenerate iterations do not count), or more frequently if conditions require it. The default value is 20, the minimum is 1, and there is no maximum.

Maximum stalled iteration limit

Upper bound on the number of stalled iterations. A stalled iteration is either when, there is no change in the objective but the iteration is not degenerate CONOPT will apply various heuristics such as changing the basis to make progress again. Also when CONOPT approaches the optimum or when progress is slow, CONOPT will tighten then tolerances and the more accurate objective function value may become worse than the best seen so far. The iterations are counted as stalled as long as the current objective is worse than the best objective seen so far. Maximum stalled iteration limit is used to prevent cycling for models with tolerance problems, usually very close to the optimal solution. The default value is 100, the minimum is 2, and there is no maximum.

Debug derivatives

Controls debugging of derivatives.

Initial deriv Debug (-1) The derivatives are tested in the initial point only.
No deriv Debug (0) No debugging performed.
Full deriv Debug (>0) The derivatives are tested in all iterations that can be divided by x, provided the derivatives are computed in this iteration.

Debug second derivatives

Controls debugging of 2nd derivatives.

Initial Hessian Debug (-1) The Hessian derivatives are tested in the initial point only.
No Hessian Debug (0) No debugging performed.
Full Hessian Debug (>0) The Hessian derivatives are tested every xth time the second derivatives are computed.

Debug derivatives method

Specifies which method is used in the function and derivative debugger:

Sparsity Test (0) Perform tests for sparsity pattern and test that the derivatives appear to be ok.
Extensive Test (1) Performs sparsity testing as well as an extensive test to determine if the functions and their derivatives are continuous. The test is much more expensive and should only be used of the cheap test does not find an error but one is expected to exist.

Maximum step method

Determines which method is used to determine the maximum step during Phase 0:

Ratio Test (0) Use the old method based on the standard ratio test known from LP. This is the default value. The method has the advantage that linear constraints that are feasible will remain feasible.
Projection (1) Use a new experimental method based on bending or projecting the basic variables until the sum of infeasibilities is close to its minimum. The method does not use anti-degeneracy. Cycling is prevented by creating extra large slacks at regular intervals. Note that constraints that initially are feasible may become infeasible due to bending. This applies to both linear and nonlinear constraints.

Maximum step method for tightened tolerances

Similar to the option maximum step method but applied when tolerances are tightened.

Activate steepest-edge

Boolean option that sets whether to turn the steepest edge procedure on or off. The default value is false. The steepest edge procedure is similar to steepest edge from LP, but it is more expensive and not always as useful for nonlinear models. You should experiment with this option of the number of iterations in Phase 1 or 3 is large.

Use crash method

Boolean option that when true, we use a procedure similar to the Crash procedures from LP to create an initial basis using structural variables and slacks away from their bounds. Fixed slacks are only included in a last round. If false, large infeasible slacks will be included in the initial basis with preference for distance from bound. The default value is true.

Activate SLP

Boolean option that enables the SLP mode. If true (the default) then the SLP procedure can be used, otherwise it is turned off. If enabled, the SLP procedure is selected dynamically when the model appears to be almost linear around the current point. You should only turn it off if you see that CONOPT switches between SLP and non-SLP iterations repeatedly.

Ignore small pivots

Boolean option, if true we will ignore the non-uniqueness from small pivots during a triangular solve. Note that this introduced non-uniqueness of the solution and the non-uniqueness may propagate to later equations. The default value is false.

Set all slack basis

Boolean option when true, the initial basis is the set of all slacks. If the triangular crash procedure also is used then the initial basis is the set of variables selected by the crash procedure plus slacks in the remaining rows. The default value is false.

Use preprocessor

Boolean option that determines whether to use CONOPT's preprocessor. The preprocessor identifies and solves pre-triangular equations, i.e. equations that can be solved one by one independent of the objective function. Otherwise, this phase is ignored. The default value is true. Constraints that are feasible in the initial point may become infeasible during this process. You should only turn the preprocessor off if it moves the initial point in a way that creates serious infeasibilities.

Identify post-trianglar equations

Boolean option that will identify post-triangular equations, i.e. equations that can be combined with the objective. Otherwise, this phase is ignored. The default value is true. You should usually only turn this option off when you solve square systems

Declaring a square system

Boolean option whereby the modeler declares that the model is a square system. This implies that: The number of non-fixed variables must be equal to the number of constraints. No bounds must be active in the final solution, and the basis selected from the non-fixed variables always must be nonsingular.

Use dynamic scaling

Boolean option that determines whether to enable the dynamic scaling algorithm. Note that judicious manual scaling usually is much better and more reliable than dynamic scaling.

Crash triangular basis

Boolean option, if true, we try to crash a triangular basis using the ideas in Gould and Reid. The default is false. If set to true CONOPT assumes that you have defined good initial values for some 'important' variables and left the remaining initial values undefined or have given them values that are consistent with the values of the important variables. The result of using crash triangular basis is often that the number of infeasibilities is reduced, but the sum of infeasibilities can increase. Constraints that were feasible in the initial point may become infeasible. Crash triangular basis is sometimes useful combined when with setting the basis with all slacks and using the SLP mode. It is not possible to give rules for when to use this option. You must experiment.

Form triangular or recursive system

Boolean option, if true, the modeler declares that the equations must form a triangular or recursive system, i.e. that the equations after a permutation can be solved one by one. Equations that only depend on known variables are also allowed as long as they are consistent. If the equations are not recursive, the model is considered infeasible. CONOPT stops at the point where all constraints depend on at least two variables that are neither fixed nor determined previously. The equations with minimum row count are flagged together with the columns they intersect. The default value is false.

Error limit

Sets the number of 'bad' points CONOPT may try before halting the solve, a default setting is zero whereby CONOPT will stop if a 'bad' point is encountered.

First derivative evaluation log

Boolean option that states whether to include first derivatives evaluations in the output log.

First derivative evaluation frequency log output

Sets the level of first derivative information printed to the output log.

Use second derivatives

Boolean option that states whether to use second derivative calculations in the optimization process.

Second derivative evaluation log

Determines the level of second derivative debugging information relayed to the output log.


Back To Top | Maximal Home Page | List of Solvers | Previous Page | Next Page