Skip to content

qoco-org/qoco-benchmarks

Repository files navigation

QOCO Benchmarks

This repository was used to generated the numerical results in the paper titled QOCO: A Quadratic Objective Conic Optimizer with Custom Solver Generation.

To run benchmarks, first create a python 3.12 virtual environment and install the requirements with

pip install -r requirements.txt

Before running the benchmark problems, the user must generate the cvxgen solvers using the problem files in the cvxgen/problems/ directory and place them in a directory called generated_solvers/ within the cvxgen/ directory (If you have already extracted the cvxgen.tar.gz archive file, this step can be skipped).

To run the benchmark problems, create a directory titled generated_solvers/ in the root of the repository then run

python generate_solvers.py && python run_benchmarks.py

To run the Maros-Meszaros problems and generate plots run

python run_maros.py && python analyze_maros.py

To generate the solvers for the benchmark problems, run the benchmarks, and run the Maros-Meszaros problems and generate all plots, run

./run_all.sh

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}
}

About

Benchmarks for QOCO/QOCOGEN against Gurobi, Mosek, ECOS, and Clarabel

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published