An open API service indexing awesome lists of open source software.

https://github.com/qoco-org/qoco

Quadratic Objective Conic Optimizer
https://github.com/qoco-org/qoco

conic-programming convex-optimization interior-point-method linear-programming optimization quadratic-programming

Last synced: 2 days ago
JSON representation

Quadratic Objective Conic Optimizer

Awesome Lists containing this project

README

          

# Quadratic Objective Conic Optimizer (QOCO)


drawing



PyPI Downloads

Documentation
License

QOCO is a C implementation of a primal-dual interior point method to solve second-order cone programs with quadratic objectives of the following form

$$
\begin{split}
\underset{x}{\text{minimize}}
\quad & \frac{1}{2}x^\top P x + c^\top x \\
\text{subject to}
\quad & Gx \preceq_\mathcal{C} h \\
\quad & Ax = b
\end{split}
$$

with optimization variable $x \in \mathbb{R}^n$ and problem data $P = P^\top \succeq 0$, $c \in \mathbb{R}^n$, $G \in \mathbb{R}^{m \times n}$, $h \in \mathbb{R}^m$, $A \in \mathbb{R}^{p \times n}$, $b \in \mathbb{R}^p$, and $\preceq_\mathcal{C}$
is an inequality with respect to cone $\mathcal{C}$, i.e. $h - Gx \in \mathcal{C}$. Cone $\mathcal{C}$ is the Cartesian product of the non-negative orthant and second-order cones, which can be expressed as

$$\mathcal{C} = \mathbb{R}^l_+ \times \mathcal{Q}^{q_1}_1 \times \ldots \times \mathcal{Q}^{q_N}_N$$

where $l$ is the dimension of the non-negative orthant, and $\mathcal{Q}^{q_i}_i$ is the $i^{th}$ second-order cone with dimension $q_i$ defined by

$$\mathcal{Q}^{q_i}_i = \\{(t,x) \in \mathbb{R} \times \mathbb{R}^{q_i - 1} \\; | \\; norm(x) \leq t \\}$$

## Bug reports

File any issues or bug reports using the [issue tracker](https://github.com/qoco-org/qoco/issues).

## Citing
```
@misc{chari2025qoco,
title = {QOCO: A Quadratic Objective Conic Optimizer with Custom Solver Generation},
author = {Chari, Govind M and A{\c{c}}{\i}kme{\c{s}}e, Beh{\c{c}}et},
year = {2025},
eprint = {2503.12658},
archiveprefix = {arXiv},
primaryclass = {math.OC},
url = {https://arxiv.org/abs/2503.12658}
}
```

## License
QOCO is licensed under the BSD-3-Clause license.