MadNLP.MadNLPOptionsType
OptionDefault ValueDescription
Primary options
tol1e-8termination tolerance on KKT residual
callbackSparseCallbacktype of callback (SparseCallback or DenseCallback)
kkt_systemSparseKKTSystemtype of primal-dual KKT system
linear_solverMumpsSolverlinear solver used for solving primal-dual KKT system
General options
rethrow_errortruerethrow any error encountered during the algorithm
disable_garbage_collectorfalsedisable garbage collector in MadNLP
blas_num_thread1number of threads to use in the BLAS backend
intermediate_callbackAbstractUserCallbackIntermediate callback called at each IPM iteration
Output options
output_file""if not "", the output log is teed to the file at this path
print_levelINFOverbosity level in MadNLP
file_print_levelINFOverbosity level in file output
Termination options
max_iter3000maximum number of interior-point iterations
max_wall_time1e6maximum wall time in seconds
acceptable_tol1e-6acceptable tolerance on KKT residual
acceptable_iter15number of acceptable iterates before stopping algorithm
diverging_iter1e20threshold on KKT residual to declare algorithm as diverging
s_max100.0scaling threshold for KKT residual
NLP options
kappa_d1e-5weight for linear damping term
fixed_variable_treatmentMakeParametertreatment for the fixed variables (MakeParameter or RelaxBound)
equality_treatmentEnforceEqualitytreatment for the equality constraints (EnforceEquality or RelaxEquality)
bound_relax_factor1e-8factor for initial relaxation of bounds
jacobian_constantfalseset to true if the constraints are linear.
hessian_constantfalseset to true if the problem is linear or quadratic
hessian_approximationExactHessianmethod used to approximate the Hessian
quasi_newton_optionsQuasiNewtonOptions()options for quasi-Newton algorithm
inertia_correction_methodInertiaAutoinertia correction mechanism
inertia_free_tol0.0tolerance for inertia free method
default_primal_regularization0.0default regularization for primal variable blocks in the KKT system
default_dual_regularization0.0default regularization for dual variable blocks in the KKT system
Initialization
dual_initializedfalsespecify if dual initial point is available
dual_initialization_methodDualInitializeLeastSquaresmethod to compute the initial dual multipliers
constr_mult_init_max1e3maximum allowable value in initial dual multipliers
bound_push1e-2minimum absolute distance from the initial point to bound
bound_fac1e-2minimum relative distance from the initial point to bound
nlp_scalingtruescale nonlinear program
nlp_scaling_max_gradient100.0maximum gradient after NLP scaling
Hessian perturbation
min_hessian_perturbation1e-20smallest perturbation of Hessian block in inertia correction
first_hessian_perturbation1e-4first value tried in inertia correction
max_hessian_perturbation1e20largest perturbation of Hessian block in inertia correction
perturb_inc_fact_first1e2increase factor for primal perturbation for very first perturbation
perturb_inc_fact8.increase factor for primal perturbation
perturb_dec_fact1/3decrease factor for primal perturbation
jacobian_regularization_exponent1/4exponent for mu in the regularization of rank-defficient Jacobian
jacobian_regularization_value1e-8size of regularization for rank-defficient Jacobian
Feasible restoration
soft_resto_pderror_reduction_factor0.9999required reduction in primal-dual error in the soft restoration phase
required_infeasibility_reduction0.9required reduction of infeasibility before leaving restoration phase
Line search
obj_max_inc5.upper bound on the acceptable increase of barrier objective function
kappha_soc0.99factor in the sufficient reduction rule for second order correction
max_soc4maximum number of second order correction trial steps at each iteration
alpha_min_frac0.05safety factor for the minimal step size
s_theta1.1exponent for current constraint violation in the switching rule
s_phi2.3exponent for linear barrier function model in the switching rule
eta_phi1e-4relaxation factor in the Armijo condition
kappa_soc0.99factor in the sufficient reduction rule for second order correction
gamma_theta1e-5relaxation factor in the filter margin for the constraint violation
gamma_phi1e-5relaxation factor in the filter margin for the barrier function
delta1.0multiplier for constraint violation in the switching rule
kappa_sigma1e10factor limiting the deviation of dual variables from primal estimates
barrier_tol_factor10.0factor for mu in barrier stop test
rho1000.0value in penalty parameter update formula
Barrier
barrierMonotoneUpdatealgorithm to update barrier parameter
tau_min0.99lower bound on fraction-to-the-boundary parameter tau
source