The OptiProfiler organization develops reliable, reproducible, and easy-to-use tools for benchmarking numerical optimization algorithms. Our goal is to help researchers and practitioners move from solver development to rigorous performance analysis with less manual plumbing and more transparent methodology.
The ecosystem now covers the main stages of an optimization benchmarking workflow:
- preparing benchmark experiments and solver interfaces;
- running local or online benchmarking tasks;
- generating performance, data, and log-ratio profiles;
- interpreting results and diagnosing failures with AI-assisted tooling;
- maintaining access to standard and extensible problem libraries.
The heart of the ecosystem is the OptiProfiler package, available for both MATLAB and Python.
- optiprofiler: The main benchmarking framework. It allows users to run solvers on large sets of problems, apply various "features" (noise, rotations, quantization), and automatically generate professional performance, data, and log-ratio profiles. Documentation: www.optprof.com
The OptiProfiler Agent helps users work with OptiProfiler before, during, and after a benchmark run.
- optiprofiler-agent: AI-assisted command-line and Python tooling for answering OptiProfiler usage questions, adapting solver interfaces, checking benchmark scripts, debugging failures, and interpreting benchmark results. The recommended CLI command is
opagent.
The OptiProfiler Platform brings the benchmarking workflow to the web, with sandboxed solver execution and task management.
- app.optprof.com: Online sandbox testing platform for submitting solver files, running
benchmark()in isolated environments, tracking task status, downloading results, and requesting AI-generated analysis reports.
We provide interfaces to problem libraries so that optiprofiler can access a diverse range of test problems, with a primary focus on variants of the classic CUTEst collections.
| Repository | Language | Description |
|---|---|---|
| s2mpj_matlab | MATLAB | MATLAB translation of CUTEst, originally sourced from S2MPJ |
| s2mpj_python | Python | Python translation of CUTEst, originally sourced from S2MPJ |
| matcutest | MATLAB | Interface to CUTEst for MATLAB, originally sourced from MatCUTEst |
| pycutest | Python | Interface to CUTEst for Python, originally sourced from PyCUTEst |
OptiProfiler is developed together with ongoing research on benchmarking methodology for optimization solvers, especially derivative-free optimization. Research papers, technical notes, and documentation will be added here as they become available.
