v0.3.0
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 bymaximize
andminimize
. 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 usedprocess_constraints
to get the number of free parameters or check
if constraints are valid. There are new high level functions
estimagic.check_constraints
andestimagic.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
andaidatak97
). - #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
androecla
).