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.0-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19e1abc3640007d7d10bb61a323a55d7a959c8d8b6630a33da7a5fadd8032411 |
|
MD5 | 700da1945a6382a05114e9c22eaf837f |
|
BLAKE2b-256 | 14e4476b9db974a41b68bdf65bf31e50f714ff8306ed0ecd125e4c9cdb371a30 |
Hashes for clarabel-0.7.0-cp37-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b43a72f280990bb27ac81c5ac1baff0bb9321d9d80b565025cf487c1951bb0c |
|
MD5 | d2f475f45955e2eac84d04272d216749 |
|
BLAKE2b-256 | e8afd361d46562579e47dfae3bb526766e1e7a2d1ec332c3220f150d332a55cb |
Hashes for clarabel-0.7.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ced813a261ebb5353bf606425e2db4a041335beea06a3335cd3a118eaf8b2b73 |
|
MD5 | f56f474e32747c7c12282381e571b7b2 |
|
BLAKE2b-256 | 90bb17a58a9bc3400a1d204d95db596fbd3c73ee02866f4ae84c37a6bf9b63b0 |
Hashes for clarabel-0.7.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c943404749f4a9c563e0319f8f3ff10cd82068550da14d43e358994e8a83537 |
|
MD5 | ded72fe4d6f77aacf591ad451d02e7d5 |
|
BLAKE2b-256 | c2f9492eebf87c45e8e88038f5cef7621e5d2aa42ddf268e51f96011daeb07ed |
Hashes for clarabel-0.7.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e5fdd8500ca026015994591ea9ed552155528d77a50cf73471979e69961256d |
|
MD5 | ff78e5c46bf2fce6d624bc76af634f01 |
|
BLAKE2b-256 | 3fa3e28a05b6eb4bf4266ea2f7ac3e583901b82139b283ff019283d0d0361439 |
Hashes for clarabel-0.7.0-cp37-abi3-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b66382df10d1c0e3a7b05dc41a3bb55dd6a716a2d533b3472ce9ab7820c130f |
|
MD5 | 6c302429341f4dba163bf8dd99369679 |
|
BLAKE2b-256 | 3ccc1b99e404aa27eb5783698801a6c261c8e62e9ef396976886e5e0ad593e7f |
Hashes for clarabel-0.7.0-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f602c0deebc0b65ec4dcf74ce114b32f1c1e5b5ef2ed1296b62fd496bb31602 |
|
MD5 | 2bca2bfd03f950f7ba7a5bad3e048253 |
|
BLAKE2b-256 | b55a9ab1a5569678d96dcf097959dd55f5ad4992bc9b1cd7238ee2fb60eb78f7 |