Skip to main content

Clarabel Conic Interior Point Solver for Rust / Python

Project description


Interior Point Conic Optimization for Rust and Python

FeaturesInstallationLicenseDocumentation

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

clarabel-0.4.1-cp37-abi3-win_amd64.whl (317.1 kB view details)

Uploaded CPython 3.7+Windows x86-64

clarabel-0.4.1-cp37-abi3-win32.whl (290.7 kB view details)

Uploaded CPython 3.7+Windows x86

clarabel-0.4.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ x86-64

clarabel-0.4.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

clarabel-0.4.1-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.5+ i686

clarabel-0.4.1-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (873.9 kB view details)

Uploaded CPython 3.7+macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

clarabel-0.4.1-cp37-abi3-macosx_10_7_x86_64.whl (452.3 kB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

Details for the file clarabel-0.4.1-cp37-abi3-win_amd64.whl.

File metadata

  • Download URL: clarabel-0.4.1-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 317.1 kB
  • Tags: CPython 3.7+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.15

File hashes

Hashes for clarabel-0.4.1-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a7d3017f4fb1e4efada46d3f28695b2934ad7bce24f815aed5afae63f2e893df
MD5 b54d8375419169cc3d9878679a131ff7
BLAKE2b-256 aa54b527d53ca1c137dcee513a9f75f85d678ff2e92548d0bb76dab96013580a

See more details on using hashes here.

File details

Details for the file clarabel-0.4.1-cp37-abi3-win32.whl.

File metadata

  • Download URL: clarabel-0.4.1-cp37-abi3-win32.whl
  • Upload date:
  • Size: 290.7 kB
  • Tags: CPython 3.7+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.15

File hashes

Hashes for clarabel-0.4.1-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 282b913a15e06044fae4ad09d08effb1a666de6b18a30b79e77c648bcabbcdcc
MD5 3abd0182b0e7e8eee708cf28757db543
BLAKE2b-256 3a6a4dca53480d9d40564b35ddc7863b0a53f1b9eeba6ab04dca0d42502909dd

See more details on using hashes here.

File details

Details for the file clarabel-0.4.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clarabel-0.4.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1b89348c98e1f6e1f408fc9dd39e38d00e1cb2a512cdf985bbadb6289c8cb925
MD5 2f9271e6ffdb0de407ab92b89f8dc86b
BLAKE2b-256 88e02441268315079cddef3a48d155c3d8e4984ea17428377a28b63b73cd27bd

See more details on using hashes here.

File details

Details for the file clarabel-0.4.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clarabel-0.4.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5bd40a497e4304190bcad7411968043d6aba500e5e4a7b25e700380711c6e2db
MD5 df9fbaf7c07abe6992e3a19e0ecc40dc
BLAKE2b-256 23cc6968b60f0db68f8609ea54ba9b59f44e17cc4615e85dd8c013660af8563b

See more details on using hashes here.

File details

Details for the file clarabel-0.4.1-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for clarabel-0.4.1-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 87a096bcb143aa93107bf1cc91b0ccb2543bd9e33c6ae26073b57c8be243d969
MD5 7b5bffdfb80749ab23b47fa88904f313
BLAKE2b-256 56d46a3bcc4fc80e2b9614a73faa44796c8669312d79880c28b4f3151fb75e3a

See more details on using hashes here.

File details

Details for the file clarabel-0.4.1-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for clarabel-0.4.1-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 bc30b1e75c60bb71c0cdceb6764e1af39c1238dae0f073652214bd3da12503e7
MD5 873378aeb117cd56751c2f6f556a6b6a
BLAKE2b-256 19e1b7c76b21a6dca2f8a7fe25fa9530cc06374188782f791a1ebc13a9520646

See more details on using hashes here.

File details

Details for the file clarabel-0.4.1-cp37-abi3-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for clarabel-0.4.1-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 77d1cfe9ddc4d2b36e35cc6861d4557925d80737fe9bc62edc45f950efa23d57
MD5 c6a5e31989c1f611dd85705eddf0d00e
BLAKE2b-256 dade210b69b7dc391cd492bda8c85a5f9322789ec9f375179874d933a7165de1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page