Clarabel Solver Settings

The Clarabel solver supports a variety of configuration options. The Julia, Rust and Python and interfaces all support the same set of options with identical field names.


The solver defaults are configured to give good general performance for most problems, but assume that the problem data is of 64 bit float type. Although the Rust and Julia solvers will accept 32 bit types instead (i.e. Float64 in Julia or f32 in Rust), the solver is unlikely to perform well unless the tolerances are relaxed.

The full set of options follows below.


Clarabel.Settings{T}(kwargs) where {T <: AbstractFloat}

Creates a Clarabel Settings object that is used to pass user settings to the solver.

ArgumentDefault ValueDescription
Main Algorithm Settings
max_iter50maximum number of iterations
time_limitInfmaximum run time (seconds)
verbosetrueverbose printing
max_step_fraction0.99maximum interior point step length
Full Accuracy Settings
tol_gap_abs1e-8absolute residual tolerance
tol_gap_rel1e-8relative residual tolerance
tol_feas1e-8feasibility check tolerance
tol_infeas_abs1e-8absolute infeasibility tolerance
tol_infeas_rel1e-8relative infeasibility tolerance
tol_ktratio1e-7κ/τ tolerance
Reduced Accuracy Settings
reduced_tol_gap_abs5e-5reduced absolute residual tolerance
reduced_tol_gap_rel5e-5reduced relative residual tolerance
reduced_tol_feas1e-4reduced feasibility check tolerance
reduced_tol_infeas_abs5e-5reduced absolute infeasibility tolerance
reduced_tol_infeas_rel5e-5reduced relative infeasibility tolerance
reduced_tol_ktratio1e-4reduced κ/τ tolerance
Data Equilibration Settings
equilibrate_enabletrueenable data equilibration pre-scaling
equilibrate_max_iter10maximum equilibration scaling iterations
equilibrate_min_scaling1e-4minimum equilibration scaling allowed
equilibrate_max_scaling1e+4maximum equilibration scaling allowed
Step Size Settings
linesearch_backtrack_step0.8linesearch backtracking
min_switch_step_length1e-1minimum step size allowed for asymmetric cones with PrimalDual scaling
min_terminate_step_length1e-4minimum step size allowed for symmetric cones && asymmetric cones with Dual scaling
Linear Solver Settings
direct_kkt_solvertrueuse a direct linear solver method (required true)
direct_solve_method:qdldldirect linear solver (:qdldl, :mkl or :cholmod)
static_regularization_enabletrueenable KKT static regularization
static_regularization_eps1e-7KKT static regularization parameter
static_regularization_proportionaleps(T)^2additional regularization parameter w.r.t. the maximum abs diagonal term
dynamic_regularization_enabletrueenable KKT dynamic regularization
dynamic_regularization_eps1e-13KKT dynamic regularization threshold
dynamic_regularization_delta2e-7KKT dynamic regularization shift
iterative_refinement_enabletrueKKT solve with iterative refinement
iterative_refinement_reltol1e-12iterative refinement relative tolerance
iterative_refinement_abstol1e-12iterative refinement absolute tolerance
iterative_refinement_max_iter10iterative refinement maximum iterations
iterative_refinement_stop_ratio5.0iterative refinement stalling tolerance