Skip to content

v0.3.0

Compare
Choose a tag to compare
@janosg janosg released this 07 Jun 11:17
· 124 commits to main since this release
8076105

Summary

Fist release with pytree support in optimization, estimation and differentiation
and much better result objects in optimization and estimation.

Breaking changes

  • New OptimizeResult object is returned by maximize and minimize. This
    breaks all code that expects the old result dictionary. Usage of the new result is
    explained in the getting started tutorial on optimization.
  • New internal optimizer interface that can break optimization with custom optimizers
  • The inferface of process_constraints changed quite drastically. This breaks
    code that used process_constraints to get the number of free parameters or check
    if constraints are valid. There are new high level functions
    estimagic.check_constraints and estimagic.count_free_params instead.
  • Some functions from estimagic.logging.read_log are removed and replaced by
    estimagic.OptimizeLogReader.
  • Convenience functions to create namedtuples are removed from estimagic.utilities.

PRs

  • #345 Moves estimation_table to new latex functionality of pandas
    (mpetrosian)
  • #344 Adds pytree support to slice_plot (janosg)
  • #343 Improves the result object of estimation functions and makes msm estimation
    pytree compatible (janosg)
  • #342 Improves default options of the fides optimizer, allows single constraints
    and polishes the documentation (janosg)
  • #340 Enables history collection for optimizers that evaluate the criterion
    function in parallel (janosg)
  • #339 Incorporates user feedback and polishes the documentation (janosg)
  • #338 Improves log reading functions (janosg)
  • #336 Adds pytree support to the dashboard (roecla).
  • #335 Introduces an OptimizeResult object and functionality for history
    plotting (janosg).
  • #333 Uses new history collection feature to speed up benchmarking
    (segsell).
  • #330 Is a major rewrite of the estimation code (timmens).
  • #328 Improves quadratic surrogate solvers used in pounders and tranquilo
    (segsell).
  • #326 Improves documentation of numerical derivatives (timmens).
  • #325 Improves the slice_plot (mpetrosian)
  • #324 Adds ability to collect optimization histories without logging
    (janosg).
  • #311 and #288 rewrite all plotting code in plotly (timmens
    and aidatak97).
  • #306 improves quadratic surrogate solvers used in pounders and tranquilo
    (segsell).
  • #305 allows pytrees during optimization and rewrites large parts of the
    constraints processing (janosg).
  • #303 introduces a new optimizer interface that makes it easier to add optimizers
    and makes it possible to access optimizer specific information outside of the
    intrenal_criterion_and_derivative (janosg and roecla).