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.7.1-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33faf5a02465eb5f7f7380d892ce3cf1d293a3efefcea18d637c618f012f5f36 |
|
MD5 | 93b309fc903d681f1b170ce4fb7fa944 |
|
BLAKE2b-256 | 3fcefd1b75023d321164d2bf9fa4cc5e78d9057e4f2366baac275e830507a846 |
Hashes for clarabel-0.7.1-cp37-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 519f9b1daba08f909c106da8b5fd52937cfbc4ba27086c4cbd9728d168cfbc5c |
|
MD5 | dcb56e5c46d35275f691d7dd57ce0c6d |
|
BLAKE2b-256 | 2b86a360bcbbb48b3a707e9fb28d5136ac0e5faf423e2b20526ae974e2af61d1 |
Hashes for clarabel-0.7.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 754e2681eb74e7f6fc35612ae58219d76819a0bc1b67771752b6f5425f72c1f8 |
|
MD5 | 8861b77b51c0e6d8764ffc35e173f3cc |
|
BLAKE2b-256 | 4e7f79f346a5f9afb945325a4ed2627edd1c6f5560c70ec41d03af097326f25a |
Hashes for clarabel-0.7.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec0fde90a467e07010176b0bd159ab8cb11c59c8ff0a09580af1ac77d7861971 |
|
MD5 | b38d28dbb6c23675653a31de193116ee |
|
BLAKE2b-256 | 4d9416c891a59fec55cec953b1b9efaf49d54ef9e5f08c44ec7efc47dac532bc |
Hashes for clarabel-0.7.1-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33283d190f1e2a3b8559c928f0eb0d1fefc45aad334fd0566cdf5eaa94606a13 |
|
MD5 | a94ac38734611a4c2454683a657c0e97 |
|
BLAKE2b-256 | 23a81ad08663e330386479d1f8cf24119bc8740bf1fd8ef963ca32dcc8260ab5 |
Hashes for clarabel-0.7.1-cp37-abi3-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4d414b9db040effa186f9e048de2c7d3e38b6edcadaaa2432a52b6451ba9999 |
|
MD5 | 4330c9db449d36a2d3a31c7c101f477c |
|
BLAKE2b-256 | 2c498c141961a18690d3ecc1912723c868aaef175f7c403168a2b3e00117e368 |
Hashes for clarabel-0.7.1-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32980b578842d17abe3d277df2d31a6b8bff3facf33b169c74d59b2ada10b61b |
|
MD5 | 2e9c54c4737ba1164247d66baf18374c |
|
BLAKE2b-256 | 30e06fd507d8e6be78a1ded2c076f10c30016c137e6a5eed46336de9875d1708 |