Clarabel Conic Interior Point Solver for Rust / Python
Project description
Interior Point Conic Optimization for Rust and Python
Features • Installation • License • Documentation
Clarabel.rs is a Rust implementation of an interior point numerical solver for convex optimization problems using a novel homogeneous embedding. Clarabel.rs solves the following problem:
$$ \begin{array}{r} \text{minimize} & \frac{1}{2}x^T P x + q^T x\\[2ex] \text{subject to} & Ax + s = b \\[1ex] & s \in \mathcal{K} \end{array} $$
with decision variables $x \in \mathbb{R}^n$, $s \in \mathbb{R}^m$ and data matrices $P=P^\top \succeq 0$, $q \in \mathbb{R}^n$, $A \in \mathbb{R}^{m \times n}$, and $b \in \mathbb{R}^m$. The convex set $\mathcal{K}$ is a composition of convex cones.
For more information see the Clarabel Documentation (stable | dev).
Clarabel is also available in a Julia implementation. See here.
Features
- Versatile: Clarabel.rs solves linear programs (LPs), quadratic programs (QPs), second-order cone programs (SOCPs) and semidefinite programs (SDPs). It also solves problems with exponential and power cone constraints.
- Quadratic objectives: Unlike interior point solvers based on the standard homogeneous self-dual embedding (HSDE), Clarabel.rs handles quadratic objectives without requiring any epigraphical reformulation of the objective. It can therefore be significantly faster than other HSDE-based solvers for problems with quadratic objective functions.
- Infeasibility detection: Infeasible problems are detected using a homogeneous embedding technique.
- Open Source: Our code is available on GitHub and distributed under the Apache 2.0 License
Installation
Clarabel can be imported to Cargo based Rust projects by adding
[dependencies]
clarabel = "0"
to the project's Cargo.toml
file. To install from source, see the Rust Installation Documentation.
To use the Python interface to the solver:
pip install clarabel
To install the Python interface from source, see the Python Installation Documentation.
License 🔍
This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for clarabel-0.5.0-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84e6ddcc0d3c829568f4c7311aafa0d5c295af2cbd1b9a85afbfa18eff84bd1e |
|
MD5 | 000eec6e30780ac7a9cb68b05d737034 |
|
BLAKE2b-256 | 89f170b536984898d323b867b33d480f0946a06ebffd3b32c0e524e197a0c58f |
Hashes for clarabel-0.5.0-cp37-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42e38f32fdb9d0f5e58cd94d93d5c49a6249087ef1c8fe1c4f12eea5ada6a12a |
|
MD5 | e2810a15bf9a53ee11785d9b82fcd164 |
|
BLAKE2b-256 | fdac8c30d7f7fffd416ed5c8e7f96eb4bea1f6a7fa12b30e7fbf182e8ee8cc5d |
Hashes for clarabel-0.5.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38e49b949cd99de03376958339c61bd5cd9f036a63a0690294fa5d0bf9cd13f9 |
|
MD5 | 05cafbd9323dee50626b1909104c143f |
|
BLAKE2b-256 | bd2557486d424d4d806207c18d67ec8b60d24cd4560180f6e4e5f88e46734c49 |
Hashes for clarabel-0.5.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d107b5aaaff7c3c853208077dd2b6aa4501e374e47723ce6955212f08ccef00 |
|
MD5 | e42dd81026639afe16dfef362235597a |
|
BLAKE2b-256 | 75a4145b309ae9e99dff005dc0a3b522046d19cd9ac3b8029023bc79f6f2c68b |
Hashes for clarabel-0.5.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a9bfc72699c3a511cddfdc189201fa7af0c9e3a6e807085a6aebcd1a990a599 |
|
MD5 | 18a2516d4c70ef9609acbaec06eb5c2c |
|
BLAKE2b-256 | 2962700acdc3d005500a04d607829687b9e41f2485e1e08cac16f0b9d3233819 |
Hashes for clarabel-0.5.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b3dfe54a9ac90483e0c683f194b01b089c1ad275f4163799cd16ddc439e5a00 |
|
MD5 | bea0a8eecb290ba268f7513d2e3ecc83 |
|
BLAKE2b-256 | 5593f1325863a9965e8d95f6b21b2e850d3a0a5ebc1a5e7c9ab59c9692b18990 |
Hashes for clarabel-0.5.0-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b3faca8a035a6f50c39170cad6239b8452e7e8c743135a53e44768a2cc9ed3b |
|
MD5 | dd7dafabee35799158347e46d24a765e |
|
BLAKE2b-256 | 8cab52bb17aaf7fe8e825ced175542a28384a3fc0b9502a86dfa74fe95b38eae |