optimagic-dev / optimagic

optimagic is a Python package for numerical optimization. It is a unified interface to optimizers from SciPy, NlOpt and other packages. optimagic's minimize function works just like SciPy's, so you don't have to adjust your code. You simply get more optimizers for free. On top you get diagnostic tools, parallel numerical derivatives and more.
https://optimagic.readthedocs.io/
MIT License
270 stars 30 forks source link

Complete Cartis Roberts benchmark set #435

Closed segsell closed 1 year ago

segsell commented 1 year ago

Complete the Medium-Scale Test Problem Set by Cartis & Roberts.

codecov[bot] commented 1 year ago

Codecov Report

Merging #435 (d82778d) into main (bea7abb) will decrease coverage by 0.11%. The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #435      +/-   ##
==========================================
- Coverage   93.05%   92.94%   -0.11%     
==========================================
  Files         250      249       -1     
  Lines       18597    18311     -286     
==========================================
- Hits        17305    17019     -286     
  Misses       1292     1292              
Impacted Files Coverage Δ
...c/estimagic/benchmarking/get_benchmark_problems.py 93.00% <ø> (-0.10%) :arrow_down:
src/estimagic/benchmarking/more_wild.py 100.00% <ø> (ø)

... and 1 file with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

timmens commented 1 year ago

A few notes:

  1. Q: Do we still need this warning in get_benchmark_problems.py?
    def _get_raw_problems(name):
    if name == "more_wild":
        raw_problems = MORE_WILD_PROBLEMS
    elif name == "cartis_roberts":
        warnings.warn(
            "Only a subset of the cartis_roberts benchmark suite is currently "
            "implemented. Do not use this for any published work."
        )
        raw_problems = CARTIS_ROBERTS_PROBLEMS
  2. Q: Do we still need this line in pyproject.toml?
    [tool.pytest.ini_options]
    filterwarnings = [
    # ...
    "ignore:Only a subset of the cartis_roberts",
    # ...
    ]
  3. Note: Benchmark runtime with scipy_lbgfsb: