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 |
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. |
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. |
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. |
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. |
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. |
Boolean option whether to allow infeasible iterations during the search process.
Boolean option whether to allow intermediate iterations that violate the bounds on the variables
Boolean option indicating whether to use KNITRO's linear programming simplex solver during the Active Set algorithmic process to internal LP subproblems.
Boolean option whether KNITRO will solve from multiple start points to find a better local minimum
Specifies how many start points to try in multistart. This option is only valid if use multistart is enabled.
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
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.
Specifies the maximum number of major iterations before termination.
Specifies, in seconds, the maximum allowable CPU time before termination.
Specifies, in seconds, the maximum allowable real time before termination.
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.
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.
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.
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. |
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
Specifies the initial trust region radius scaling factor used to determine the initial trust region size.
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.
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.
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.
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.
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.
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).
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.
Specifies the initial barrier parameter value for the interior-point algorithms.
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.
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. |
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. |