Skip to content

Options

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

Ingredient Available strategies
constraint_relaxation_strategy feasibility_restoration
inequality_handling_method inequality_constrained, interior_point
hessian_model exact, LBFGS, LSR1, identity, zero
inertia_correction_strategy primal, primal_dual, none
globalization_mechanism TR, LS
globalization_strategy merit_function, fletcher_filter_method, waechter_filter_method, funnel_method

Subproblem solver

Ingredient Available strategies
QP_solver BQPD, HiGHS (if available)
LP_solver BQPD, HiGHS (if available)
linear_solver MA57, MA27, MUMPS, SSIDS (if available)

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

Termination

Option Type Default Description
primal_tolerance double 1e-8 Tolerance on constraint violation
dual_tolerance double 1e-8 Tolerance on stationarity and complementarity
loose_primal_tolerance double 1e-6 Loose tolerance on constraint violation
loose_dual_tolerance double 1e-6 Loose tolerance on stationarity and complementarity
loose_tolerance_iteration_threshold integer 15 Number of iterations for the loose tolerance to apply
max_iterations integer 2000 Maximum number of outer iterations
time_limit double infinity Time limit
print_solution bool false Whether the primal-dual solution is printed
unbounded_objective_threshold double -1e20 Objective threshold under which the problem is declared unbounded

Main options

String options

Option Possible values Default Description
logger SILENT, DISCRETE, WARNING, INFO, DEBUG, DEBUG2, DEBUG3 INFO Verbosity level of the logger
progress_norm L1, L2, INF L1 Norm used for the progress measures
residual_norm L1, L2, INF INF Norm used for the residuals

Numerical options

Option Type Default Description
residual_scaling_threshold double 100.0 Scaling factor in stationarity and complementarity residuals
protect_actual_reduction_against_roundoff bool false Whether the actual reduction is slightly modified to account for roundoff
protected_actual_reduction_macheps_coefficient double 10 Coefficient of the machine epsilon in the protected actual reduction
print_subproblem bool false Whether the subproblem is printed in DEBUG mode

Globalization strategy options

Option Type Default Description
armijo_decrease_fraction double 1e-4 Fraction of the predicted reduction that should be achieved by the actual reduction in the Armijo condition
armijo_tolerance double 1e-9 Minimum value of the predicted reduction in the Armijo condition, 0 otherwise

Switching method options

Option Type Default Description
switching_delta double 0.999 Fraction of the constraint violation that should be achieved by the predicted reduction in the switching condition
switching_infeasibility_exponent double 2 Exponent of the constraint violation in the switching condition

Merit function options

Option Type Default Description
sufficient_infeasibility_decrease_ratio double 0.9 Sufficient infeasibility decrease ratio

Filter method options

String options

Option Possible values Default Description
filter_type standard standard Type of the filter data structure

Numerical options

Option Type Default Description
filter_beta double 0.999 Fraction in the infeasibility sufficient reduction condition
filter_gamma double 0.001 Slope in the objective sufficient reduction condition
filter_ubd double 1e2 Minimum value for the initial upper bound on the infeasibility
filter_fact double 1.25 Multiple of the initial infeasibility for the initial upper bound on the infeasibility
filter_capacity integer 50 Maximum number of filter entries
filter_sufficient_infeasibility_decrease_factor double 0.9 Infeasibility decrease factor in the infeasibility sufficient decrease condition

Funnel options

Option Type Default Description
funnel_kappa double 0.5 Convex combination coefficient in funnel update rule
funnel_beta double 0.9999 Fraction in the infeasibility sufficient reduction condition
funnel_gamma double 0.001 Slope in the objective sufficient reduction condition
funnel_ubd double 1.0 Minimum value for the initial upper bound on the infeasibility
funnel_fact double 1.5 Multiple of the initial infeasibility for the initial upper bound on the infeasibility
funnel_update_strategy integer 1 Rule for the funnel update (1, 2, or 3)
funnel_require_acceptance_wrt_current_iterate bool false Whether the trial iterate should improve upon the current iterate

Line search options

Option Type Default Description
LS_backtracking_ratio double 0.5 Decrease ratio of the step length for backtracking line search
LS_min_step_length double 1e-12 Minimum acceptable step length before failure is reported
LS_scale_duals_with_step_length bool true Whether the Lagrange multipliers are scaled with the step length

Inertia correction options

Option Type Default Description
regularization_failure_threshold double 1e40 Threshold for the primal inertia correction coefficient above which failure is reported
primal_regularization_initial_factor double 1e-4 Initial value of primal inertia correction coefficient
regularization_increase_factor double 2 Increase factor for the primal inertia correction coefficient
dual_regularization_fraction double 1e-8 Fraction of the dual inertia correction parameter
primal_regularization_lb double 1e-20 Minimum value of the primal inertia correction coefficient upon decrease
primal_regularization_decrease_factor double 3.0 Decrease factor for the primal inertia correction coefficient
primal_regularization_fast_increase_factor double 100.0 Fast increase factor for the primal inertia correction coefficient
primal_regularization_slow_increase_factor double 8.0 Slow increase factor for the primal inertia correction coefficient
threshold_unsuccessful_attempts integer 8 Number of unsuccessful attempts until inertia correction becomes more aggressive

Quasi-Newton options

Option Type Default Description
quasi_newton_memory_size integer 6 Size of the quasi-Newton limited memory
LBFGS_delta_upper_bound double 100 Upper bound on delta in L-BFGS
LSR1_pivot_max_magnitude double 1e-7 Maximum magnitude of allowed pivots in L-SR1

Trust region options

Option Type Default Description
TR_radius double 10.0 Initial value of the radius
TR_increase_factor double 2 Increase factor of the radius for successful iterations
TR_decrease_factor double 2 Decrease factor of the radius for unsuccessful iterations
TR_aggressive_decrease_factor double 4 Decrease factor of the radius when errors occur
TR_activity_tolerance double 1e-6 Tolerance with which the trust-region constraint is considered active
TR_min_radius double 1e-12 Minimum radius acceptable before failure is reported
TR_radius_reset_threshold double 1e-4 Smallest value to which the radius is reset at the beginning of an iteration

Feasibility restoration options

Option Type Default Description
switch_to_optimality_requires_linearized_feasibility bool true Whether the switch to optimality phase requires the linearized constraints to be consistent
l1_constraint_violation_coefficient double 1 Coefficient of the constraint violation in the \(\ell_1\) relaxed problem

Barrier subproblem options

String options

Option Possible values Default Description
barrier_function log log Type of the barrier function

Numerical options

Option Type Default Description
barrier_initial_parameter double 0.1 Initial value of the barrier parameter
barrier_default_multiplier double 1 Initial value of the bound multipliers
barrier_tau_min double 0.99 Coefficient of the fraction-to-boundary rule
barrier_k_sigma double 1e10 Safeguard parameter for rescaling the bound multipliers
barrier_k_mu double 0.2 Coefficient for multiplicative update of the barrier parameter
barrier_theta_mu double 1.5 Coefficient for geometric update of the barrier parameter
barrier_k_epsilon double 10 Scaling factor of the barrier parameter in the barrier update rule
barrier_update_fraction double 10 Fraction in the barrier update rule
barrier_regularization_exponent double 0.25 Exponent of the barrier parameter in the dual inertia correction parameter
barrier_small_direction_factor double 10.0 Multiple of the machine epsilon in the small step condition
barrier_push_variable_to_interior_k1 double 1e-2 Coefficient for the perturbation of the initial bounds
barrier_push_variable_to_interior_k2 double 1e-2 Coefficient for the perturbation of the initial bounds
barrier_damping_factor double 1e-5 Damping coefficient for single bounds
barrier_small_infeasibility_factor double 1e-4 Factor in the small infeasibility test
least_square_multiplier_max_norm double 1e3 Maximum accepted norm of the least-square multipliers

BQPD options

Option Possible values Default Description
BQPD_kmax_heuristic filtersqp, minotaur filtersqp Heuristic used to pick upper bound on nullspace size (kmax)