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

Implement the new internal algorithm interface #521

Closed janosg closed 3 months ago

janosg commented 3 months ago

The changes are described here

The implementation of InternalOptimizationProblem will deviate a bit from the proposal but those changes do not affect users at all.

review-notebook-app[bot] commented 3 months ago

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

codecov[bot] commented 3 months ago

Codecov Report

Attention: Patch coverage is 95.86450% with 94 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/optimagic/optimizers/pygmo_optimizers.py 95.18% 17 Missing :warning:
...agic/optimization/internal_optimization_problem.py 95.22% 13 Missing :warning:
src/optimagic/optimizers/nlopt_optimizers.py 94.46% 13 Missing :warning:
src/optimagic/optimizers/scipy_optimizers.py 96.50% 11 Missing :warning:
src/optimagic/optimization/history.py 86.95% 9 Missing :warning:
src/optimagic/optimization/algorithm.py 96.55% 6 Missing :warning:
src/optimagic/optimizers/ipopt.py 97.12% 6 Missing :warning:
src/optimagic/optimization/multistart.py 88.57% 4 Missing :warning:
src/optimagic/batch_evaluators.py 75.00% 3 Missing :warning:
src/optimagic/optimizers/pounders.py 93.47% 3 Missing :warning:
... and 7 more
Files with missing lines Coverage Δ
src/estimagic/batch_evaluators.py 100.00% <100.00%> (ø)
src/estimagic/estimate_ml.py 82.47% <ø> (ø)
src/estimagic/estimate_msm.py 89.68% <ø> (ø)
src/optimagic/__init__.py 100.00% <100.00%> (+7.40%) :arrow_up:
src/optimagic/algorithms.py 100.00% <100.00%> (ø)
src/optimagic/decorators.py 93.10% <ø> (+3.02%) :arrow_up:
src/optimagic/exceptions.py 87.87% <100.00%> (+0.78%) :arrow_up:
src/optimagic/logging/logger.py 93.89% <100.00%> (-1.46%) :arrow_down:
src/optimagic/logging/read_log.py 100.00% <100.00%> (ø)
src/optimagic/logging/sqlalchemy.py 95.56% <100.00%> (ø)
... and 36 more

... and 2 files with indirect coverage changes


🚨 Try these New Features: