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
- Host: GitHub
- URL: https://github.com/qoco-org/qoco
- Owner: qoco-org
- License: bsd-3-clause
- Created: 2024-04-17T04:02:54.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2026-01-18T18:22:01.000Z (about 2 months ago)
- Last Synced: 2026-01-19T02:38:03.208Z (about 2 months 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.1 MB
- Stars: 43
- 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
```
@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.