All notable changes to this project will be documented in this file.
- Optionally add a GPU summary line to reports
- Update skip logic in CPU info table
2.3.0 - 2024-09-03
- Add
results_path
argument to themain
function - Results: handle loading/saving CSV files with out-of-test-set problems
- Special handling to get CVXOPT version number properly
- CLI: make results path an argument to all commands
- Rename "include timeouts" argument to "rerun timeouts"
2.2.3 - 2024-08-14
- Fix reporting of solver versions when some solvers are excluded
2.2.2 - 2024-07-31
- Expose exceptions from top-level module
- Bump Python version to actual requirement of 3.9 or above
- Handle no-op conversion from dense to dense properly
- Handle no-op conversion from sparse to sparse properly
2.2.1 - 2024-02-06
- Update qpsolvers to v4.3.1 to fix the Gurobi interface (thanks @563925743)
2.2.0 - 2024-01-16
- Distribute on conda-forge
- Test set path argument to the main function of the command-line interface
- Update environment file to install from conda-forge
2.1.1 - 2023-12-22
- Clarabel: set
tol_gap_abs
settings inset_eps_abs
- Clarabel: set
tol_gap_rel
settings inset_eps_rel
- Log a warning message when skipping known solver issue
- PIQP: set
eps_duality_gap_abs
settings inset_eps_abs
- PIQP: set
eps_duality_gap_rel
settings inset_eps_rel
- ProxQP: set
eps_duality_gap_abs
settings inset_eps_abs
- ProxQP: set
eps_duality_gap_rel
settings inset_eps_rel
- Handling of known solver issues
2.1.0 - 2023-12-21
- Expose
Problem
from top-level module - Link in report header to go to results tables directly
- Number of problems in report header
- Utility function to load a problem from file
- Breaking: Remove the cost error from benchmark metrics
- Include Python 3.8 in supported versions
- Move the GitHub Free-for-all test set to its own repository
- Move Maros-Meszaros test set to its own repository
2.0.0 - 2023-12-11
- New solver: QPALM
- Breaking: Rename the project to "qpbenchmark"
- Don't install solvers by default from PyPI
- Move solver issue and timeout listings to test-set themselves
- Module-wide skip solver issue/timeout functions
1.2.0 - 2023-11-27
- Citation file to refer to the benchmark in scientific works
- Medium accuracy settings
- Note in the readme on CPU throttling
1.1.0 - 2023-09-08
- Check consistency after loading results
- More CPU information in reports
- New solver: HPIPM
- New solver: PIQP
- Don't hard-wrap report lines, as it doesn't render well in Discussions
- Improve reporting of shifted geometric mean errors
- Make
cpuinfo
a proper dependency - Refactor results class to allow finer
check_results
sessions - Update to qpsolvers v4.0.0
- Correct
None
values toFalse
in found column - Make sure found column has only boolean values
1.0.0 - 2023-07-25
- Allow non-lowercase solver names in the command line (thanks to @ottapav)
- Command-line tool and standalone test sets (thanks to @ZAKIAkram)
- Plot: trim solutions that don't fulfill tolerance requirements
- Rename
hist
command toplot
- Update to qpsolvers v3.4.0
- Plot whiskers on solutions beyond tolerance requirements (thanks to @ottapav)
0.1.0-beta - 2022-01-26
- Check dual residual
- Check duality gap
- Document all benchmark functions
- Main script: new
hist
plot command - ProblemNotFound exception
- Results by settings in reports
- Write benchmark version in reports
- Benchmark script takes test set as first argument
- Maros-Meszaros: empty equality constraints are now set to
None
- Re-run benchmark with ProxQP 0.3.2
- Refactor Report class and run function
- Report encoding is now UTF-8
- Switch to qpsolvers v2.7
- Test set descriptions are now mandatory
- Conform to linter standards
- Sparse matrix conversion
0.1.0-alpha - 2022-12-21
- GitHub free-for-all test set
- Initial benchmark infrastructure
- List current solver issues
- Logging in spdlog-like format
- Maros-Meszaros dense subset
- Maros-Meszaros test set
- Problem class inherited from qpsolvers
- Results class
- SolverSettings class
- TestSet class