linear_solver:

Determines which linear algebra package is to be used for the solution of the augmented linear system (for obtaining the search directions). Note, the code must have been compiled with the linear solver you want to choose. Depending on your Ipopt installation, not all options are available. The default value for this string option is "ma27".

Possible values:

- ma27: use the Harwell routine MA27
- ma57: use the Harwell routine MA57
- ma77: use the Harwell routine HSL_MA77
- ma86: use the Harwell routine HSL_MA86
- ma97: use the Harwell routine HSL_MA97
- pardiso: use the Pardiso package
- wsmp: use WSMP package
- mumps: use MUMPS package
- custom: use custom linear solver

linear_system_scaling:

Determines the method used to compute symmetric scaling factors for the augmented system (see also the "linear_scaling_on_demand" option). This scaling is independent of the NLP problem scaling. By default, MC19 is only used if MA27 or MA57 are selected as linear solvers. This value is only available if Ipopt has been compiled with MC19. The default value for this string option is "mc19".

Possible values:

- none: no scaling will be performed
- mc19: use the Harwell routine MC19
- slack-based: use the slack values

linear_scaling_on_demand:

This option is only important if a linear scaling method (e.g., mc19) is used. If you choose "no", then the scaling factors are computed for every linear system from the start. This can be quite expensive. Choosing "yes" means that the algorithm will start the scaling method only when the solutions to the linear system seem not good, and then use it until the end. The default value for this string option is "yes".

Possible values:

- no: Always scale the linear system.
- yes: Start using linear system scaling if solutions seem not good.

max_refinement_steps:

Iterative refinement (on the full unsymmetric system) is performed for each right hand side. This option determines the maximum number of iterative refinement steps. The valid range for this integer option is and its default value is .

min_refinement_steps:

Iterative refinement (on the full unsymmetric system) is performed for each right hand side. This option determines the minimum number of iterative refinements (i.e. at least "min_refinement_steps" iterative refinement steps are enforced per right hand side.) The valid range for this integer option is and its default value is .

neg_curv_test_reg:

The default value for this string option is "yes".

Possible values:

- yes: use primal regularization with the inertia-free curvature test
- no: use original IPOPT approach, in which the primal regularization is ignored

neg_curv_test_tol:

If nonzero, incorrect inertia in the augmented system is ignored, and Ipopt tests if the direction is a direction of positive curvature. This tolerance is alpha_n in the paper by Zavala and Chiang (2014) and it determines when the direction is considered to be sufficiently positive. A value in the range of [1e-12, 1e-11] is recommended. The valid range for this real option is and its default value is 0.