15 releases (2 stable)

Uses old Rust 2015

1.0.1 Apr 21, 2025
0.6.3 Dec 1, 2024
0.6.2 Jan 7, 2021
0.6.0 Sep 5, 2019
0.2.1-pre.2 Dec 13, 2017

#1303 in Math

Download history 1304/week @ 2025-03-12 676/week @ 2025-03-19 476/week @ 2025-03-26 485/week @ 2025-04-02 940/week @ 2025-04-09 604/week @ 2025-04-16 417/week @ 2025-04-23 461/week @ 2025-04-30 271/week @ 2025-05-07 217/week @ 2025-05-14 220/week @ 2025-05-21 113/week @ 2025-05-28 286/week @ 2025-06-04 369/week @ 2025-06-11 385/week @ 2025-06-18 404/week @ 2025-06-25

1,489 downloads per month
Used in 12 crates (via osqp)

Apache-2.0

3.5MB
38K SLoC

C 30K SLoC // 0.1% comments C++ 3.5K SLoC // 0.1% comments CUDA 2K SLoC // 0.2% comments Python 1K SLoC // 0.2% comments Rust 425 SLoC // 0.0% comments Shell 56 SLoC Batch 27 SLoC

osqp.rs

Rust wrapper for OSQP: the Operator Splitting QP Solver.

The OSQP (Operator Splitting Quadratic Program) solver is a numerical optimization package for solving problems in the form

minimize        0.5 x' P x + q' x

subject to      l <= A x <= u

where x in R^n is the optimization variable.

The objective function is defined by a positive semidefinite matrix P in S^n_+ and vector q in R^n.

The linear constraints are defined by matrix A in R^{m x n} and vectors l in R^m U {-inf}^m, u in R^m U {+inf}^m.

Rust Interface Documentation

Solver Documentation

Dependencies