KNITRO Parameter Options

List of Options

Option Name MPL Name Solver Param ParamNr Type Default Min Max
Algorithm OptimizeAlgorithm Alg 1003 list 0 0 3
Barrier Rule BarrierRule BarRule 1004 list 0 0 6
Select new-point feature SelectNewPoint NewPoint 1001 flag 0 0 1
Gradient calculation method GradientCalcMethod GradOpt 1007 list 1 1 3
Hessian calculation method HessianCalcMethod HessOpt 1008 list 1 1 6
Allow infeasible iterations FeasibleIterations Feasible 1006 flag 0 0 1
Enforce bounds EnforceBounds HonorBnds 1002 flag 0 0 1
Use LPSolver LPSolver LPSolver 1012 flag 0 0 1
Use multistart MultiStart Multistart 1033 flag 0 0 1
Maximum multistart points MaxMultiStartPoints MsMaxSolves 1034 int 1 1 MAXINT
Maximum conjugate gradient iterations MaxConjugateGradIter MaxCgIt 1013 int 0 0 MAXINT
Maximum crossover iterations MaxCrossIterations MaxCrossTt 1036 int 0 0 MAXINT
Iteration limit IterationLimit MaxIt 1014 int 10000 1 MAXINT
CPU Time limit CPUTimeLimit MaxTimeCPU 1024 real 1e8 0 MAXREAL
Time limit SolTimeLimit MaxTimeReal 1037 real 1e8 0 MAXREAL
Memory pairsize limit LimitMemoryPairSize LmSize 1035 int 10 10 100
Perform scaling PerformScaliing Scale 1017 flag 1 0 1
Interior-point shifting initial point IPShiftInitialPoint ShiftInit 1018 flag 1 0 1
Second order correction SecondOrderCorrection Soc 1019 list 1 0 2
Use initial point strategy UseInitialPointStrategy InitPt 1009 flag 0 0 1
Initial region scaling factor InitRegionScalingFactor Delta 1020 real 1.0 0 MAXREAL
Feasible mode tolerance FeasibleModeTolerance FeasModeTol 1021 real 0.0001 0.0001 1
Feasible tolerance RelFeasibleTol FeasTol 1022 real 1e-6 0 1
Absolute feasible tolerance AbsFeasibleTol FeasTolAbs 1023 real 1 0 1
Relative optimality tolerance RelOptimalityTol OptTol 1027 real 1e-6 0 1
Absolute optimality tolerance AbsOptimalityTol OptTolAbs 1028 real 0 0 MAXREAL
Initial pivot threshold InitialPivotThreshold Pivot 1029 real 1e-8 0 0.5
Relative solution change tolerance RelSolutionChangeTol XTol 1030 real 1e-15 0 1
Initial barrier parameter InitialBarrierParameter Mu 1025 real 0.1 0.1 1
Maximum objective value MaxObjectiveValue ObjRange 1026 real 1e-8 1e-8 0.1
Log output level OutputLevel OutLev 1015 list 2 0 6
Debug level DebugLevel Debug 1031 list 0 0 2


Description of Options

Algorithm

Indicates which algorithm to use to solve the problem, following possible selections:

Automatic (0) Automatically try to choose the best algorithm based on the problem characteristics.
Interior/Direct (1) Use the Interior/Direct algorithm.
Interior/CG (2) Use the Interior/CG algorithm.
Active (3) Use the Active algorithm.

Barrier Rule

Indicates which strategy to use for modifying the barrier parameter in the interior point code. Some strategies are only available for the Interior/Direct algorithm.

NOTE: Only strategies 0-2 are available for the Interior/CG algorithm. All strategies are available for the Interior/Direct algorithm. Strategies 4 and 5 are typically recommended for linear programs or convex quadratic programs. Many problems benefit from a non-default setting of this option and it is recommended to experiment with all settings. In particular we recommend trying strategy 6 when using the Interior/Direct algorithm. This parameter is not applicable to the Active algorithm.

Automatic (0) Automatically choose the rule for updating the barrier parameter.
Monotonically decrease (1) Monotonically decrease the barrier parameter.
Adaptive rule (2) Use an adaptive rule based on the complementarity gap to determine the value of the barrier parameter at every iteration.
Probing (Affine scaling) (3) Use a probing (affine-scaling) step to dynamically determine the barrier parameter value at each iteration.
Mehrotra with safeguards (4) Use a Mehrotra predictor-corrector type rule to determine the barrier parameter with safeguards on the corrector step.
Mehrotra without safeguards (5) Use a Mehrotra predictor-corrector type rule to determine the barrier parameter without safeguards on the corrector step.
Minimize quality function (6) Minimize a quality function at each iteration to determine the barrier parameter.

Select new-point feature

Specifies whether or not the new-point feature is enabled.:

No Action (0) KNITRO will not save any new points to the log file.
Last point (1) KNITRO save the latest new point to the log file.

Gradient calculation method

Specifies how to compute the gradients of the objective and constraint functions.

Exact (1) MPL will provide a routine for computing the exact gradients.
Forward finite-differences (2) Gradients computed by forward finite-differences.
Central finite-differences (3) Gradients computed by central finite differences.

Hessian calculation method

Indicates which algorithm to use to solve the problem, following possible selections:

Exact (1) MPL will provide a routine for computing the exact Hessian.
BFGS (2) Computation by a (dense) quasi-Newton BFGS Hessian.
SR1 (3) Computation by a (dense) quasi-Newton SR1 Hessian.
Finite-differences (4) Computation by Hessian-vector products using finite-differences.
Vector products (5) Computation by Hessian-vector products.
LBFGS (6) Computation by a limited-memory quasi-Newton BFGS Hessian.

Allow infeasible iterations

Boolean option whether to allow infeasible iterations during the search process.

Enforce bounds

Boolean option whether to allow intermediate iterations that violate the bounds on the variables

Use LPSolver

Boolean option indicating whether to use KNITRO's linear programming simplex solver during the Active Set algorithmic process to internal LP subproblems.

Use multistart

Boolean option whether KNITRO will solve from multiple start points to find a better local minimum

Maximum multistart points

Specifies how many start points to try in multistart. This option is only valid if use multistart is enabled.

Maximum conjugate gradient iterations

Determines the maximum allowable number of inner conjugate gradient (CG) iterations per KNITRO minor iteration. It set at 0 KNITRO automatically determines an upper bound on the number of allowable CG iterations based on the problem size. A non-zero value, n states at most n CG iterations may be performed during one KNITRO minor iteration

Maximum crossover iterations

Specifies the maximum number of crossover iterations before termination. When running one of the interior-point algorithms in KNITRO, if this value is positive, it will switch to the Active algorithm near the solution, and perform at most maximum crossover iterations of the Active algorithm to try to get a more exact solution. If this value is 0 or negative, no Active crossover iterations will be performed. If crossover is unable to improve the approximate interior-point solution, then it will restore the interior-point solution. In some cases (especially on large-scale problems or difficult degenerate problems) the cost of the crossover procedure may be significant for this reason, the crossover procedure is disabled by default. However, in many cases the additional cost of performing crossover is not significant and you may wish to enable this feature to obtain a more accurate solution.

Iteration limit

Specifies the maximum number of major iterations before termination.

CPU Time limit

Specifies, in seconds, the maximum allowable CPU time before termination.

Time limit

Specifies, in seconds, the maximum allowable real time before termination.

Memory pairsize limit

Specifies the number of limited memory pairs stored when approximating the Hessian using the limited-memory quasi-Newton BFGS option. The value must be between 1 and 100 and is only used when the hessian calculation method is set to LBFGS. Larger values may give a more accurate, but more expensive, Hessian approximation. Smaller values may give a less accurate, but faster, Hessian approximation. When using the limited memory BFGS approach it is recommended to experiment with different values of this parameter.

Perform scaling

Boolean option whether KNITRO performs a scaling of the objective and constraint functions based on their values at the initial point. If scaling is performed, all internal computations, including the stopping tests, are based on the scaled values.

Interior-point shifting initial point

Boolean option determines whether or not the interior-point algorithm in KNITRO shifts the given initial point to satisfy bounds on the variables. Specifies the number of limited memory pairs stored when approximating the Hessian using the limited-memory quasi-Newton BFGS option. The value must be between 1 and 100 and is only used when the hessian calculation method is set to LBFGS. Larger values may give a more accurate, but more expensive, Hessian approximation. Smaller values may give a less accurate, but faster, Hessian approximation. When using the limited memory BFGS approach it is recommended to experiment with different values of this parameter.

Second order correction

Indicates whether or not to use the second order correction (SOC) option. A second order correction may be beneficial for problems with highly nonlinear constraints.

No SO Corrections (0) No second order correction steps are attempted.
Possible SOC (1) Second order correction steps may be attempted on some iterations.
Perform SOC (2) Second order correction steps are always attempted if the original step is rejected and there are nonlinear constraints.

Use initial point strategy

Boolean option that indicates whether an initial point strategy is used. If set to 1 then KNITRO will compute the initial values if the user does not provide them

Initial region scaling factor

Specifies the initial trust region radius scaling factor used to determine the initial trust region size.

Feasible mode tolerance

Specifies the tolerance in (1.1) by which the iterate must be feasible with respect to the inequality constraints before the feasible mode becomes active. This option is only relevant when allow infeasible iterations is enabled.

Feasible tolerance

Specifies the final relative stopping tolerance for the feasibility error. Smaller values of feasible tolerance result in a higher degree of accuracy in the solution with respect to feasibility.

Absolute feasible tolerance

Specifies the final absolute stopping tolerance for the feasibility error. Smaller values of absolute feasible tolerance result in a higher degree of accuracy in the solution with respect to feasibility.

Relative optimality tolerance

Specifies the final relative stopping tolerance for the KKT (optimality) error. Smaller values of relative optimality tolerance result in a higher degree of accuracy in the solution with respect to optimality.

Absolute optimality tolerance

Specifies the final absolute stopping tolerance for the KKT (optimality) error. Smaller values of absolute optimality tolerance result in a higher degree of accuracy in the solution with respect to optimality.

Initial pivot threshold

Specifies the initial pivot threshold used in the factorization routine. The value should be in the range [0, 0.5] with higher values resulting in more pivoting (more stable factorization). Values less than 0 will be set to 0 and values larger than 0.5 will be set to 0.5. If pivot is non-positive initially no pivoting will be performed. Smaller values may improve the speed of the code but higher values are recommended for more stability (for example, if the problem appears to be very ill-conditioned).

Relative solution change tolerance

The optimization will terminate when the relative change in the solution estimate is less than the relative solution change tolerance. If using an interior-point algorithm and the barrier parameter is still large, KNITRO will first try decreasing the barrier parameter before terminating.

Initial barrier parameter

Specifies the initial barrier parameter value for the interior-point algorithms.

Maximum objective value

Determines the allowable range of values for the objective function for determining unboundedness. If the magnitude of the objective function is greater than maximum objective value and the iterate is feasible, then the problem is determined to be unbounded.

Log output level

Controls the level of the log output.

None (0) printing of all output is suppressed.
Summary (1) print only summary information.
Every 10th major Iteration (2) print information every 10 major iterations, where a major iteration is defined by a new solution estimate.
Every major Iteration (3) print information at each major iteration.
Every iteration (4) print information at each major and minor iteration, where a minor iteration is defined by a trial iterate
All with solution vector (5) print all the above, and the values of the solution vector x.
Complete (6) print all the above, and the values of the constraints c at x and the Lagrange multipliers lambda.

Debug level

Controls the level of debugging output. Debugging output can slow execution of KNITRO and should not be used in a production setting. All debugging output is suppressed if option log output level is set to none.

No debug (0) No debugging output.
Partial debug (1) Print algorithm information to .log output files.
Full debug (2) Print program execution information.

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