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: 29 days ago
JSON representation
Quadratic Objective Conic Optimizer
- Host: GitHub
- URL: https://github.com/qoco-org/qoco
- Owner: qoco-org
- License: bsd-3-clause
- Created: 2024-04-17T04:02:54.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2026-03-31T02:20:19.000Z (about 1 month ago)
- Last Synced: 2026-03-31T05:19:49.493Z (about 1 month ago)
- Topics: conic-programming, convex-optimization, interior-point-method, linear-programming, optimization, quadratic-programming
- Language: C
- Homepage: https://qoco-org.github.io/qoco/
- Size: 29.2 MB
- Stars: 47
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing/index.rst
- License: LICENSE
Awesome Lists containing this project
README
# Quadratic Objective Conic Optimizer (QOCO)
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
```
@article{chari2026qoco,
title = {QOCO: a quadratic objective conic optimizer with custom solver generation},
author = {Chari, Govind M. and A\c{c}ıkmeşe, Beh\c{c}et},
journal = {Mathematical Programming Computation},
issn = {1867-2957},
url = {http://dx.doi.org/10.1007/s12532-026-00311-8},
doi = {10.1007/s12532-026-00311-8},
publisher = {Springer Science and Business Media LLC},
year = {2026},
month = mar,
}
```
## License
QOCO is licensed under the BSD-3-Clause license.