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 and 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 Distributions
Built Distributions
Hashes for clarabel-0.5.1-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ccda87e4044d7706ce39bb0d451a24f14379636ff1773c3ca1c2164f6d66fa7 |
|
MD5 | cd14c23b903032e060645e7799270fe3 |
|
BLAKE2b-256 | dde5f12321b04b8e2afae59c2b9efc620dab08c068da996c5dc4524c4b740dc2 |
Hashes for clarabel-0.5.1-cp37-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4d682b092cbb19d39dcc7dd25f9e233270b16a1b2581911b60ea8a572bea37c |
|
MD5 | 5f51b2e03720ca1603126af89ea0ce7d |
|
BLAKE2b-256 | d866b096c1ec9f8fff5a712e16bacd360baba2b43170cb27a51dae04e6201796 |
Hashes for clarabel-0.5.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2567e112806af313ba339be8fc21ff019c64af2c11d4418e9caadbb6ba127e1 |
|
MD5 | 42235328289d7edefd423ceb99928bb5 |
|
BLAKE2b-256 | 1bc66cb8635f9d9428e1bb2e7939d7e6672a6d25bc617e3631d85e9e3bd151f9 |
Hashes for clarabel-0.5.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dff343c52e1f09505b9e07789b1fd84f655d64b04e76bb7f7a0c5e9c1698a163 |
|
MD5 | 8a382d091e6e41efceb0c17b39e68b36 |
|
BLAKE2b-256 | f083dcbddc65e7f155aefdcb25970506b3eef60ceba43761245dafcbbdbd9fa7 |
Hashes for clarabel-0.5.1-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 587017935ceb4f90ec8e1b6d745c910226c7325d7155c8faec87869bbb8b00a7 |
|
MD5 | 1bc72f3d017ba73b368d2d480def1a0b |
|
BLAKE2b-256 | 81407a9deebf574dcc8c0f4d4482057a926021999bdcd82f46828cc2bd6fb1cf |
Hashes for clarabel-0.5.1-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 007b605d6eab2a3ab11abc7da12f2be21a2a5d8bc082d1179591ecd6726e8f8f |
|
MD5 | 600c327412035ad5366b8999547c4373 |
|
BLAKE2b-256 | d6b28ecdf9accf4f1d2c92f5987aae7649ef97e6773676dc8e6068a5ce702669 |
Hashes for clarabel-0.5.1-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53780c68971e832f48b45cd96855a409546b0e98a0722f45cac9377ee46929df |
|
MD5 | 4dfdf7f1ee8e48728fbec04b5b7d7d9a |
|
BLAKE2b-256 | 474f001580bc0120d2dda78a75e5627f7cc4493c506aea7a64149f8a59f36c0d |