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.8.0-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44ef048033ae9f0b601f3ff861f6deba303c7271ed4d431595325dc5c7ba4414 |
|
MD5 | 6bbde15887b768ed2544af7d6640dbb4 |
|
BLAKE2b-256 | 982721c90722c38e6fbab33ca389504164f86cc08e6f638bf26fc8980bdd674e |
Hashes for clarabel-0.8.0-cp37-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32270641fc2bb35057e9dd507851931c2955c81df31c99fad74902cfa04ff2a1 |
|
MD5 | 45cee3d0e03a66f744679f66f0dc8e4c |
|
BLAKE2b-256 | d13e20583fc45e979ec908abb54e811d5eca8c1db73fe0ee69bcf99598aadfe3 |
Hashes for clarabel-0.8.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b07b9abab432931bb02a51f88d1fd4b4892e9206f3d92d378d3df38e3ffefc03 |
|
MD5 | 92218fde4bc377dc8f3d2437036abd7d |
|
BLAKE2b-256 | d206023e54fed469bd7da43c1ad2ea005548d6f5f7df7a235a189817472a7646 |
Hashes for clarabel-0.8.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37db4cf4077ef159c0c8a05fbd3666c8dc259d88821a01f56c40fffa567a9460 |
|
MD5 | c862d8a6efce1cf757aee08953175e50 |
|
BLAKE2b-256 | 091031731f842da71c133bc8a905311745507ea8cc6f066095154547605d54f7 |
Hashes for clarabel-0.8.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa3fb664802b40e543c9992da32185d2d53a26fbb611dc48d1d238c0db64f255 |
|
MD5 | 6a2ddbd0481b17be52fb1204755dc9d6 |
|
BLAKE2b-256 | 37be793e271cd41341c4e0bedd3bba4f14aaa70114f30dd09c4f58e4a22d1ab1 |
Hashes for clarabel-0.8.0-cp37-abi3-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 282f816fd0d8fdc2e1d119bdae1f9610684e5541d90697db57513a67d42f5546 |
|
MD5 | 0d0924ea2b7f7fb45579f10059ce6194 |
|
BLAKE2b-256 | f9bd0b7dce48b4ef4f57b00c0274671a1dd0c782c3ae6f009716e01915b7ae5f |
Hashes for clarabel-0.8.0-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f07502ef2477541e12f674842d6e77e873d45148421725e1f5115cf35dd991e |
|
MD5 | f9713579443cea798d2aff8f468233db |
|
BLAKE2b-256 | e47b3aee4f0d0bcf8f2e09926f4cfe5a72ab9e471c0cb679a6a438f930abd576 |