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.0-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9d99678a5074c82544d89d6240bd17b7df7d18c229aeb1cacc5cfaa8aa4c8d3 |
|
MD5 | 28fea6779a1aba95ba4dece62ce7a346 |
|
BLAKE2b-256 | c841f3eea7387104e7c8151760beb15996c9bc6a826dd2dbcb1042594f426e29 |
Hashes for clarabel-0.4.0-cp37-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1761a4923f00873ffc21810281e8d895ef10f1411407561f78d1ac7b45f6196b |
|
MD5 | 4fed971187695691e96491f56e3e2133 |
|
BLAKE2b-256 | b192c181e373f749dd35fa5b6725a84ffc9e6850fbe8197b89e332d1b94d9864 |
Hashes for clarabel-0.4.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 889f938c55a1056f80046e264e2b2be0365b8ab1757232c6205089a53361d701 |
|
MD5 | 1c17c93d7a0deaf7382e054e875e0b43 |
|
BLAKE2b-256 | 8d485a9020c956fc6be4f75131b937acb103e1f417d175f06541a8880f8b5529 |
Hashes for clarabel-0.4.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e14dffe4ac0f9f39a896ac00bfaf6d5478814cfb89986c58e40498c66ea4af8a |
|
MD5 | c706a84e4a6a14fb7b1b2a715b71fbe2 |
|
BLAKE2b-256 | 92381b3baafbb496133b95e36681f6f35c75e41ad6adee6be0beb88c63b1d9cb |
Hashes for clarabel-0.4.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9339af2486c1046db366554a451f8fe671fb7b54aab0618cc4ba4acb63e66a9b |
|
MD5 | 7129647da334161fd46411680ba57620 |
|
BLAKE2b-256 | 6c4dc310f701095800cbfabc3ae7acf893dc08d241e6911e8b99256e3e29784a |
Hashes for clarabel-0.4.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 056adc5b01b00dc06af41286abfa11722e492f8dba90430b0adc534a78659166 |
|
MD5 | 19ffc70f2b7250b0f81ca820a495a76c |
|
BLAKE2b-256 | 788aaa92caa573d8859b81c7bbe1dbbd27b897447a181c77bdeab737fa89b7d3 |
Hashes for clarabel-0.4.0-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21db25a3ca59b342cda3baf383e4d79767c0972dc019b66e5430fa618a379c0a |
|
MD5 | 48654f9a984353170a97e1f5ea54d7ed |
|
BLAKE2b-256 | 0d95a2b30abed9e0b8869002017539830fcdd9dcc4d9b45af64303396f1a57e8 |