Clarabel

Clarabel.jl: Interior-point solver for convex conic optimisation problems in Julia.

https://github.com/oxfordcontrol/clarabel.jl

Science Score: 62.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 11 committers (18.2%) from academic institutions
  • Institutional organization owner
    Organization oxfordcontrol has institutional domain (www.eng.ox.ac.uk)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.4%) to scientific vocabulary

Keywords

conic-optimization conic-programs convex-optimization interior-point-method julia-language linear-programming optimization optimization-algorithms quadratic-programming semidefinite-programming

Keywords from Contributors

optim sdp flux the-human-brain polynomials primitives interface composibility base arrays
Last synced: 4 months ago · JSON representation ·

Repository

Clarabel.jl: Interior-point solver for convex conic optimisation problems in Julia.

Basic Info
  • Host: GitHub
  • Owner: oxfordcontrol
  • License: apache-2.0
  • Language: Julia
  • Default Branch: main
  • Homepage:
  • Size: 94.5 MB
Statistics
  • Stars: 215
  • Watchers: 3
  • Forks: 21
  • Open Issues: 12
  • Releases: 18
Topics
conic-optimization conic-programs convex-optimization interior-point-method julia-language linear-programming optimization optimization-algorithms quadratic-programming semidefinite-programming
Created about 4 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog License Citation

README.md

Clarabel.jl logo

Interior Point Conic Optimization for Julia

FeaturesInstallationLicenseDocumentation

Clarabel.jl is a Julia implementation of an interior point numerical solver for convex optimization problems using a novel homogeneous embedding. Clarabel.jl 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 Rust implementation with additional language interfaces. See here.

Features

  • Versatile: Clarabel.jl 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.jl 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.
  • JuMP / Convex.jl support: We provide an interface to MathOptInterface (MOI), which allows you to describe your problem in JuMP and Convex.jl.
  • Arbitrary precision types: You can solve problems with any floating point precision, for example, Float32 or Julia's BigFloat type, using either the native interface, or via MathOptInterface / Convex.jl.
  • Open Source: Our code is available on GitHub and distributed under the Apache 2.0 License

Installation

  • Clarabel.jl can be added via the Julia package manager (type ]): pkg> add Clarabel

Citing

@misc{Clarabel_2024, title={Clarabel: An interior-point solver for conic programs with quadratic objectives}, author={Paul J. Goulart and Yuwen Chen}, year={2024}, eprint={2405.12762}, archivePrefix={arXiv}, primaryClass={math.OC} }

License 🔍

This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.

Owner

  • Name: University of Oxford Control Group
  • Login: oxfordcontrol
  • Kind: organization
  • Location: Oxford, UK

Citation (CITATION.bib)

@misc{Clarabel_2024,
      title={Clarabel: An interior-point solver for conic programs with quadratic objectives}, 
      author={Paul J. Goulart and Yuwen Chen},
      year={2024},
      eprint={2405.12762},
      archivePrefix={arXiv},
      primaryClass={math.OC}
}

GitHub Events

Total
  • Create event: 17
  • Release event: 1
  • Issues event: 16
  • Watch event: 38
  • Delete event: 11
  • Issue comment event: 46
  • Push event: 53
  • Pull request review event: 1
  • Pull request event: 33
  • Fork event: 5
Last Year
  • Create event: 17
  • Release event: 1
  • Issues event: 16
  • Watch event: 38
  • Delete event: 11
  • Issue comment event: 46
  • Push event: 53
  • Pull request review event: 1
  • Pull request event: 33
  • Fork event: 5

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 733
  • Total Committers: 11
  • Avg Commits per committer: 66.636
  • Development Distribution Score (DDS): 0.256
Past Year
  • Commits: 67
  • Committers: 4
  • Avg Commits per committer: 16.75
  • Development Distribution Score (DDS): 0.09
Top Committers
Name Email Commits
goulart-paul p****t@e****k 545
yuwen chen a****n@g****m 122
Paul Goulart p****t@e****l 50
CompatHelper Julia c****y@j****g 6
Benoît Legat b****t@g****m 4
lbilli l****i 1
Pietro Monticone 3****e 1
Oscar Dowson o****w 1
Mikkel Paltorp m****c@d****k 1
Eric Hanson 5****n 1
Eric Davies i****2@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 60
  • Total pull requests: 140
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 19 days
  • Total issue authors: 28
  • Total pull request authors: 13
  • Average comments per issue: 2.52
  • Average comments per pull request: 0.72
  • Merged pull requests: 107
  • Bot issues: 0
  • Bot pull requests: 7
Past Year
  • Issues: 9
  • Pull requests: 39
  • Average time to close issues: 24 days
  • Average time to close pull requests: 12 days
  • Issue authors: 6
  • Pull request authors: 6
  • Average comments per issue: 0.67
  • Average comments per pull request: 1.05
  • Merged pull requests: 25
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • goulart-paul (19)
  • maxchendt (8)
  • mipals (6)
  • StoffelOdw (2)
  • ZedongPeng (2)
  • JuliaTagBot (1)
  • ericphanson (1)
  • haavardhvarnes (1)
  • harshangrjn (1)
  • tcovert (1)
  • projekter (1)
  • inversed-ru (1)
  • PaulSoderlind (1)
  • LaurentLessard (1)
  • blegat (1)
Pull Request Authors
  • goulart-paul (116)
  • github-actions[bot] (7)
  • yuwenchen95 (6)
  • mipals (6)
  • blegat (5)
  • Franc-Z (3)
  • odow (3)
  • lbilli (2)
  • samuelsonric (2)
  • pitmonticone (1)
  • ericphanson (1)
  • stephane-caron (1)
  • iamed2 (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • julia 159 total
  • Total dependent packages: 1
  • Total dependent repositories: 0
  • Total versions: 17
juliahub.com: Clarabel

Clarabel.jl: Interior-point solver for convex conic optimisation problems in Julia.

  • Versions: 17
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 159 Total
Rankings
Stargazers count: 7.3%
Dependent repos count: 9.9%
Forks count: 11.0%
Average: 12.8%
Dependent packages count: 23.0%
Last synced: 4 months ago

Dependencies

.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v3 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite