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.0-cp37-abi3-win_amd64.whl (310.0 kB view details)

Uploaded CPython 3.7+Windows x86-64

clarabel-0.4.0-cp37-abi3-win32.whl (283.9 kB view details)

Uploaded CPython 3.7+Windows x86

clarabel-0.4.0-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.0-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.0-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.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (858.5 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.0-cp37-abi3-macosx_10_7_x86_64.whl (443.5 kB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

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

File metadata

  • Download URL: clarabel-0.4.0-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 310.0 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.0-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d9d99678a5074c82544d89d6240bd17b7df7d18c229aeb1cacc5cfaa8aa4c8d3
MD5 28fea6779a1aba95ba4dece62ce7a346
BLAKE2b-256 c841f3eea7387104e7c8151760beb15996c9bc6a826dd2dbcb1042594f426e29

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clarabel-0.4.0-cp37-abi3-win32.whl
  • Upload date:
  • Size: 283.9 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.0-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 1761a4923f00873ffc21810281e8d895ef10f1411407561f78d1ac7b45f6196b
MD5 4fed971187695691e96491f56e3e2133
BLAKE2b-256 b192c181e373f749dd35fa5b6725a84ffc9e6850fbe8197b89e332d1b94d9864

See more details on using hashes here.

File details

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

File metadata

File hashes

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

See more details on using hashes here.

File details

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

File metadata

File hashes

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

See more details on using hashes here.

File details

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

File metadata

File hashes

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

See more details on using hashes here.

File details

Details for the file clarabel-0.4.0-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.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

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clarabel-0.4.0-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 21db25a3ca59b342cda3baf383e4d79767c0972dc019b66e5430fa618a379c0a
MD5 48654f9a984353170a97e1f5ea54d7ed
BLAKE2b-256 0d95a2b30abed9e0b8869002017539830fcdd9dcc4d9b45af64303396f1a57e8

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