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.
| 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 |
| Ingredient | Available strategies |
|---|
QP_solver | BQPD, HiGHS (if available) |
LP_solver | BQPD, HiGHS (if available) |
linear_solver | MA57, MA27, MA86, MUMPS, SSIDS (if available) |
If not provided, the solver is chosen automatically from the available solvers (if any).
| Option | Type | Default | Description |
|---|
libhsl_path | string | "" | 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. |
| 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 |
| Option | Possible values | Default | Description |
|---|
preset | filtersqp, ipopt, auto | auto | Uno preset |
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 |
| 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 |
write_solution_to_file | bool | false | Whether the solution is printed to a file (used by AMPL and CUTEst) |
| 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 |
| 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 |
| Option | Type | Default | Description |
|---|
sufficient_infeasibility_decrease_ratio | double | 0.9 | Sufficient infeasibility decrease ratio |
| Option | Possible values | Default | Description |
|---|
filter_type | standard | standard | Type of the filter data structure |
| 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 |
filter_reset_iteration_threshold | integer | 5 | Number of consecutive filter rejections before the filter is reset |
max_number_filter_resets | integer | 5 | Maximum number of filter resets |
| 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 |
| 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 |
| Option | Type | Default | Description |
|---|
SOC_max_iterations_SOC | integer | 4 | Maximum number of SOC iterations |
SOC_infeasibility_fraction | double | 0.99 | Fraction of the infeasibility in the SOC termination criterion |
| Option | Type | Default | Description |
|---|
regularization_failure_threshold | double | 1e20 | 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 |
| Option | Type | Default | Description |
|---|
quasi_newton_memory_size | integer | 6 | Size of the quasi-Newton limited memory |
quasi_newton_delta_lower_bound | double | 1e-8 | Lower bound on delta in quasi-Newton approximations |
quasi_newton_delta_upper_bound | double | 1e8 | Upper bound on delta in quasi-Newton approximations |
LBFGS_max_skips_before_reset | integer | 2 | Number of consecutive skips before the limited memory is reset |
LSR1_pivot_max_magnitude | double | 1e-7 | Maximum magnitude of allowed pivots in L-SR1 |
| 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 |
| 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 ℓ1 relaxed problem |
| Option | Possible values | Default | Description |
|---|
barrier_function | log | log | Type of the barrier function |
| 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 |
| Option | Possible values | Default | Description |
|---|
BQPD_kmax_heuristic | filtersqp, minotaur | filtersqp | Heuristic used to pick upper bound on nullspace size (kmax) |