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.1-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cd70c210b42510c672cc2783251931e8cd49cd7bd1e4a3581d0506e88b80d3b |
|
MD5 | 10a7a562b16856f11383099850f8a993 |
|
BLAKE2b-256 | 2eef4457c02389e8e29bc3ba867073607c8b4104c88f43505be49ace87c73915 |
Hashes for clarabel-0.8.1-cp37-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5767b1032e139121621ab1ce9d05f3ff61acc0cc322a086b50d4ec3ef52ad661 |
|
MD5 | d64e40c0786228260f86eb1a5dd68a6e |
|
BLAKE2b-256 | e69e3c0ce37e21e7a8865b10af1c4dba3bc75b8f3dcebfef2abc8e0f692ed1dd |
Hashes for clarabel-0.8.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6da33bbf47e5244cf86489d648a92b8e87bff91e31005c9b3872aaad0cfe31eb |
|
MD5 | bcae357c350bdbd7988f6caac25a07da |
|
BLAKE2b-256 | 9b635cae2bf1ec2b959ae67e63116f0e7011a10bcd7f4b05df4f8449d3c8a0c2 |
Hashes for clarabel-0.8.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d765a187c826e8cac09e4a4cc311795ff8a8ae9d80768c07e120507b65b1f62b |
|
MD5 | 670f116ab2055e864939097f3a2e6e4c |
|
BLAKE2b-256 | f4302917a555f7d7b42ca02fa9db035c8079da70b6f0bd59da1e8d7633285f24 |
Hashes for clarabel-0.8.1-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1c7297e3c06d16e71ca9b2ea2acfabd6df565cd4fddd0bd3a19234e25b4ab7c |
|
MD5 | ba743a54c9d50e6bc6bc39e1b502d386 |
|
BLAKE2b-256 | dc258f2e4a6fae27f310b6cd91bcc42da2b154973a078b8dbc93c6c29f4dd025 |
Hashes for clarabel-0.8.1-cp37-abi3-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a85c4a917dbab2e3e6062bf3e9ea0ae0c0f28cb16a75839c33c0c741f473187 |
|
MD5 | 13ae508f34011b318818ec361ca12334 |
|
BLAKE2b-256 | 13dc4e5fe4eab609942b7bed8f76ff01d1141bdbb5abea0c985f1f5042da7abe |
Hashes for clarabel-0.8.1-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d6abb9b0980434b34a7ace7ee1e992bc7f73edfc5de54c5b3eead263e4248e9 |
|
MD5 | 851d19a786ba1b25bc4aa59dfaf9d4f1 |
|
BLAKE2b-256 | 041ab5acfe55f6b83e1da74ef2084aded223cf8457cf3d5d907d77068946183b |