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, power cone and generalized 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 Distribution
Built Distributions
Hashes for clarabel-0.6.0-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a6be4df9fed98b6f73f034836def913a1ecd52e8b79ca230ddf7cd66ebcdee7 |
|
MD5 | e7c591e75a9e25606d07a5a99947db50 |
|
BLAKE2b-256 | a86b0f04f31c1528ab1f6bbc9e6ff83d019386941db4c9e0a7ddd7d16f5a85d2 |
Hashes for clarabel-0.6.0-cp37-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73ed408c975a8ea021c3d8262d5d023a18e1ac3f6bb59a37cd69a11dba8f86ed |
|
MD5 | c262d42f85f4e3554646a461bd925f1a |
|
BLAKE2b-256 | 3725d3e9b6c9b936a7a80c93e44fd305ff1ef809791cc69e70a217b3167f384b |
Hashes for clarabel-0.6.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e0b1891d8e507eb0bfc7e0b981584c388b2ab28658056e600997dbbc23f1ab4 |
|
MD5 | cd621f96071e429fce393dd73f96e73e |
|
BLAKE2b-256 | 8c9b3bfc692407c6a5b3975e5075e3b7f16f4e3a9a6c72191d342a1232476d95 |
Hashes for clarabel-0.6.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e737d2818b9ca10e92ccd3fa9ad1a805b039976016415a0c45adef3427d70792 |
|
MD5 | 2d8aa1e9ac10b9049ad313dceb4096fc |
|
BLAKE2b-256 | 1b3f6bf52b121b2009f1ad4470174cf189022fe31991cb732eff96a4a9338d91 |
Hashes for clarabel-0.6.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9946d3b5db346421b6d839d868e7b1151b590f871344fe95113bfd55b5be2433 |
|
MD5 | 6e66f5657c44d7d0ceb22e9d8aeec779 |
|
BLAKE2b-256 | eebdab3e4461ede415ae8949e79e42c30dccec0c3b13e20eaf1530892c6b8de3 |
Hashes for clarabel-0.6.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edcebbfc14073cd32bfb664317fd2555716c96be8b2a54efdb2b728453582bea |
|
MD5 | 555207f06d0437092570eb2de44218ba |
|
BLAKE2b-256 | 551e16864d79381d95d5c1eea427295b8d927c7964f1b5a388ad8c3d5b75ab3a |
Hashes for clarabel-0.6.0-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f366de79b8bc66bef8dc170987840b672ccab9222e710c09536d78ef47f606d |
|
MD5 | bf906bd13b380bcc43583b07d7c8f041 |
|
BLAKE2b-256 | a30042ae6e59d821f437572cc5c4358075641e723a29f9c0fb9cc476946d2bee |