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) and second-order cone programs (SOCPs). It also solves problems with exponential and power cone constraints. Future versions will provide support for problems involving positive semidefinite 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.4.1-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7d3017f4fb1e4efada46d3f28695b2934ad7bce24f815aed5afae63f2e893df |
|
MD5 | b54d8375419169cc3d9878679a131ff7 |
|
BLAKE2b-256 | aa54b527d53ca1c137dcee513a9f75f85d678ff2e92548d0bb76dab96013580a |
Hashes for clarabel-0.4.1-cp37-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 282b913a15e06044fae4ad09d08effb1a666de6b18a30b79e77c648bcabbcdcc |
|
MD5 | 3abd0182b0e7e8eee708cf28757db543 |
|
BLAKE2b-256 | 3a6a4dca53480d9d40564b35ddc7863b0a53f1b9eeba6ab04dca0d42502909dd |
Hashes for clarabel-0.4.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b89348c98e1f6e1f408fc9dd39e38d00e1cb2a512cdf985bbadb6289c8cb925 |
|
MD5 | 2f9271e6ffdb0de407ab92b89f8dc86b |
|
BLAKE2b-256 | 88e02441268315079cddef3a48d155c3d8e4984ea17428377a28b63b73cd27bd |
Hashes for clarabel-0.4.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bd40a497e4304190bcad7411968043d6aba500e5e4a7b25e700380711c6e2db |
|
MD5 | df9fbaf7c07abe6992e3a19e0ecc40dc |
|
BLAKE2b-256 | 23cc6968b60f0db68f8609ea54ba9b59f44e17cc4615e85dd8c013660af8563b |
Hashes for clarabel-0.4.1-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87a096bcb143aa93107bf1cc91b0ccb2543bd9e33c6ae26073b57c8be243d969 |
|
MD5 | 7b5bffdfb80749ab23b47fa88904f313 |
|
BLAKE2b-256 | 56d46a3bcc4fc80e2b9614a73faa44796c8669312d79880c28b4f3151fb75e3a |
Hashes for clarabel-0.4.1-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc30b1e75c60bb71c0cdceb6764e1af39c1238dae0f073652214bd3da12503e7 |
|
MD5 | 873378aeb117cd56751c2f6f556a6b6a |
|
BLAKE2b-256 | 19e1b7c76b21a6dca2f8a7fe25fa9530cc06374188782f791a1ebc13a9520646 |
Hashes for clarabel-0.4.1-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77d1cfe9ddc4d2b36e35cc6861d4557925d80737fe9bc62edc45f950efa23d57 |
|
MD5 | c6a5e31989c1f611dd85705eddf0d00e |
|
BLAKE2b-256 | dade210b69b7dc391cd492bda8c85a5f9322789ec9f375179874d933a7165de1 |