Options

August 9, 2026 · View on GitHub

This document lists the configuration options that Uno accepts, their types and default values. Options are grouped by functional area. Defaults are taken from uno/options/DefaultOptions.cpp.

Ingredients

IngredientAvailable strategies
constraint_relaxation_strategyfeasibility_restoration
inequality_handling_methodinequality_constrained, interior_point
hessian_modelexact, LBFGS, LSR1, identity, zero
inertia_correction_strategyprimal, primal_dual, none
globalization_mechanismTR, LS
globalization_strategymerit_function, fletcher_filter_method, waechter_filter_method, funnel_method

Subproblem solver

IngredientAvailable strategies
QP_solverBQPD, HiGHS (if available)
LP_solverBQPD, HiGHS (if available)
linear_solverMA57, MA27, MA86, MUMPS, SSIDS (if available)

If not provided, the solver is chosen automatically from the available solvers (if any).

OptionTypeDefaultDescription
libhsl_pathstring""Name/path of the HSL shared library to dlopen for MA27/MA57/MA86 (only used when Uno is built with -DHSL_RUNTIME_LOADING=ON). An empty value resolves at runtime to the platform default libhsl.{so,dylib,dll}. See the installation guide for the resolution order and the UNO_HSL_LIBRARY environment variable.

Termination

OptionTypeDefaultDescription
primal_tolerancedouble1e-8Tolerance on constraint violation
dual_tolerancedouble1e-8Tolerance on stationarity and complementarity
loose_primal_tolerancedouble1e-6Loose tolerance on constraint violation
loose_dual_tolerancedouble1e-6Loose tolerance on stationarity and complementarity
loose_tolerance_iteration_thresholdinteger15Number of iterations for the loose tolerance to apply
max_iterationsinteger2000Maximum number of outer iterations
time_limitdoubleinfinityTime limit
print_solutionboolfalseWhether the primal-dual solution is printed
unbounded_objective_thresholddouble-1e20Objective threshold under which the problem is declared unbounded

Main options

String options

OptionPossible valuesDefaultDescription
presetfiltersqp, ipopt, autoautoUno preset
loggerSILENT, DISCRETE, WARNING, INFO, DEBUG, DEBUG2, DEBUG3INFOVerbosity level of the logger
progress_normL1, L2, INFL1Norm used for the progress measures
residual_normL1, L2, INFINFNorm used for the residuals

Numerical options

OptionTypeDefaultDescription
residual_scaling_thresholddouble100.0Scaling factor in stationarity and complementarity residuals
protect_actual_reduction_against_roundoffboolfalseWhether the actual reduction is slightly modified to account for roundoff
protected_actual_reduction_macheps_coefficientdouble10Coefficient of the machine epsilon in the protected actual reduction
print_subproblemboolfalseWhether the subproblem is printed in DEBUG mode
write_solution_to_fileboolfalseWhether the solution is printed to a file (used by AMPL and CUTEst)

Globalization strategy options

OptionTypeDefaultDescription
armijo_decrease_fractiondouble1e-4Fraction of the predicted reduction that should be achieved by the actual reduction in the Armijo condition
armijo_tolerancedouble1e-9Minimum value of the predicted reduction in the Armijo condition, 0 otherwise

Switching method options

OptionTypeDefaultDescription
switching_deltadouble0.999Fraction of the constraint violation that should be achieved by the predicted reduction in the switching condition
switching_infeasibility_exponentdouble2Exponent of the constraint violation in the switching condition

Merit function options

OptionTypeDefaultDescription
sufficient_infeasibility_decrease_ratiodouble0.9Sufficient infeasibility decrease ratio

Filter method options

String options

OptionPossible valuesDefaultDescription
filter_typestandardstandardType of the filter data structure

Numerical options

OptionTypeDefaultDescription
filter_betadouble0.999Fraction in the infeasibility sufficient reduction condition
filter_gammadouble0.001Slope in the objective sufficient reduction condition
filter_ubddouble1e2Minimum value for the initial upper bound on the infeasibility
filter_factdouble1.25Multiple of the initial infeasibility for the initial upper bound on the infeasibility
filter_capacityinteger50Maximum number of filter entries
filter_sufficient_infeasibility_decrease_factordouble0.9Infeasibility decrease factor in the infeasibility sufficient decrease condition
filter_reset_iteration_thresholdinteger5Number of consecutive filter rejections before the filter is reset
max_number_filter_resetsinteger5Maximum number of filter resets

Funnel options

OptionTypeDefaultDescription
funnel_kappadouble0.5Convex combination coefficient in funnel update rule
funnel_betadouble0.9999Fraction in the infeasibility sufficient reduction condition
funnel_gammadouble0.001Slope in the objective sufficient reduction condition
funnel_ubddouble1.0Minimum value for the initial upper bound on the infeasibility
funnel_factdouble1.5Multiple of the initial infeasibility for the initial upper bound on the infeasibility
funnel_update_strategyinteger1Rule for the funnel update (1, 2, or 3)
funnel_require_acceptance_wrt_current_iterateboolfalseWhether the trial iterate should improve upon the current iterate

Line search options

OptionTypeDefaultDescription
LS_backtracking_ratiodouble0.5Decrease ratio of the step length for backtracking line search
LS_min_step_lengthdouble1e-12Minimum acceptable step length before failure is reported
LS_scale_duals_with_step_lengthbooltrueWhether the Lagrange multipliers are scaled with the step length

Second-Order Corrections (SOC) options

OptionTypeDefaultDescription
SOC_max_iterations_SOCinteger4Maximum number of SOC iterations
SOC_infeasibility_fractiondouble0.99Fraction of the infeasibility in the SOC termination criterion

Inertia correction options

OptionTypeDefaultDescription
regularization_failure_thresholddouble1e20Threshold for the primal inertia correction coefficient above which failure is reported
primal_regularization_initial_factordouble1e-4Initial value of primal inertia correction coefficient
regularization_increase_factordouble2Increase factor for the primal inertia correction coefficient
dual_regularization_fractiondouble1e-8Fraction of the dual inertia correction parameter
primal_regularization_lbdouble1e-20Minimum value of the primal inertia correction coefficient upon decrease
primal_regularization_decrease_factordouble3.0Decrease factor for the primal inertia correction coefficient
primal_regularization_fast_increase_factordouble100.0Fast increase factor for the primal inertia correction coefficient
primal_regularization_slow_increase_factordouble8.0Slow increase factor for the primal inertia correction coefficient
threshold_unsuccessful_attemptsinteger8Number of unsuccessful attempts until inertia correction becomes more aggressive

Quasi-Newton options

OptionTypeDefaultDescription
quasi_newton_memory_sizeinteger6Size of the quasi-Newton limited memory
quasi_newton_delta_lower_bounddouble1e-8Lower bound on delta in quasi-Newton approximations
quasi_newton_delta_upper_bounddouble1e8Upper bound on delta in quasi-Newton approximations
LBFGS_max_skips_before_resetinteger2Number of consecutive skips before the limited memory is reset
LSR1_pivot_max_magnitudedouble1e-7Maximum magnitude of allowed pivots in L-SR1

Trust region options

OptionTypeDefaultDescription
TR_radiusdouble10.0Initial value of the radius
TR_increase_factordouble2Increase factor of the radius for successful iterations
TR_decrease_factordouble2Decrease factor of the radius for unsuccessful iterations
TR_aggressive_decrease_factordouble4Decrease factor of the radius when errors occur
TR_activity_tolerancedouble1e-6Tolerance with which the trust-region constraint is considered active
TR_min_radiusdouble1e-12Minimum radius acceptable before failure is reported
TR_radius_reset_thresholddouble1e-4Smallest value to which the radius is reset at the beginning of an iteration

Feasibility restoration options

OptionTypeDefaultDescription
switch_to_optimality_requires_linearized_feasibilitybooltrueWhether the switch to optimality phase requires the linearized constraints to be consistent
l1_constraint_violation_coefficientdouble1Coefficient of the constraint violation in the 1\ell_1 relaxed problem

Barrier subproblem options

String options

OptionPossible valuesDefaultDescription
barrier_functionloglogType of the barrier function

Numerical options

OptionTypeDefaultDescription
barrier_initial_parameterdouble0.1Initial value of the barrier parameter
barrier_default_multiplierdouble1Initial value of the bound multipliers
barrier_tau_mindouble0.99Coefficient of the fraction-to-boundary rule
barrier_k_sigmadouble1e10Safeguard parameter for rescaling the bound multipliers
barrier_k_mudouble0.2Coefficient for multiplicative update of the barrier parameter
barrier_theta_mudouble1.5Coefficient for geometric update of the barrier parameter
barrier_k_epsilondouble10Scaling factor of the barrier parameter in the barrier update rule
barrier_update_fractiondouble10Fraction in the barrier update rule
barrier_regularization_exponentdouble0.25Exponent of the barrier parameter in the dual inertia correction parameter
barrier_small_direction_factordouble10.0Multiple of the machine epsilon in the small step condition
barrier_push_variable_to_interior_k1double1e-2Coefficient for the perturbation of the initial bounds
barrier_push_variable_to_interior_k2double1e-2Coefficient for the perturbation of the initial bounds
barrier_damping_factordouble1e-5Damping coefficient for single bounds
barrier_small_infeasibility_factordouble1e-4Factor in the small infeasibility test
least_square_multiplier_max_normdouble1e3Maximum accepted norm of the least-square multipliers

BQPD options

OptionPossible valuesDefaultDescription
BQPD_kmax_heuristicfiltersqp, minotaurfiltersqpHeuristic used to pick upper bound on nullspace size (kmax)