Clarabel.jl implements support for MathOptInterface, and is therefore compatible with JuMP. This allows you to describe and modify your optimisation problem with JuMP and use Clarabel.jl as the backend solver.
To specify Clarabel.jl as the solver for your JuMP model, load the solver module with
using Clarabel and then configure Clarabel as the solver backend when initialising the JuMP model:
model = JuMP.Model(Clarabel.Optimizer)
Solver-specific settings can be passed after the
Clarabel.Optimizer object. For example, if you want to adjust the maximum number of iterations and turn off verbose printing use
set_optimizer_attribute(model, "verbose", true) set_optimizer_attribute(model, "max_iter", 25)
The full list of available settings can be found in the Settings section of the API Reference.
After solving the problem the result can be obtained using the standard JuMP commands. To see if the optimisation was successful use
If a solution is available, the optimal objective value can be retrieved using
and the value of a decision variable
x can be obtained with
For more information on JuMP, see the JuMP documentation.