Version History
This section lists the different versions of Py-BOBYQA and the updates between them.
Version 1.0 (6 Feb 2018)
Initial release of Py-BOBYQA
Version 1.0.1 (20 Feb 2018)
Minor bug fix to trust region subproblem solver (the output
crvmin
is calculated correctly) - this has minimal impact on the performance of Py-BOBYQA.
Version 1.0.2 (20 Jun 2018)
Extra optional input
args
which passes through arguments forobjfun
(pull request from logangrado).Bug fixes: default parameters for reduced initialization cost regime, returning correct value from safety steps, retrieving dependencies during installation.
Version 1.1 (24 Dec 2018)
Extra parameters to control the trust region radius over multiple restarts, designed for global optimization.
New input flag
seek_global_minimum
to set sensible default parameters for global optimization. New example script to demonstrate this functionality.Bug fix: default trust region radius when scaling variables within bounds.
Initially released as version 1.1a0 on 17 Jul 2018.
Version 1.1.1 (5 Apr 2019)
Link code to Zenodo, to create DOI - no changes to the Py-BOBYQA algorithm.
Version 1.2 (25 Feb 2020)
Use deterministic initialisation by default (so it is no longer necessary to set a random seed for reproducibility of Py-BOBYQA results).
Full model Hessian stored rather than just upper triangular part - this improves the runtime of Hessian-based operations.
Faster trust-region and geometry subproblem solutions in Fortran using the trustregion package.
Don’t adjust starting point if it is close to the bounds (as long as it is feasible).
Option to stop default logging behavior and/or enable per-iteration printing.
Bugfix: correctly handle 1-sided bounds as inputs, avoid divide-by-zero warnings when auto-detecting restarts.
Version 1.3 (14 Apr 2021)
Remove NumPy deprecation warnings from use of np.int and np.float
Version 1.4 (16 May 2023)
Return diagnostic information as dictionary if Pandas not available (removes Pandas dependency)
Handle Nan/Inf values in model gradient and Hessian by gracefully exiting trust-region subproblem
Bugfix: automatically make model Hessian symmetric before trust-region subproblem with warning, instead of returning an error
Bugfix: reset slow iteration counter when doing soft restarts
Version 1.4.1 (11 Apr 2024)
Migrate package setup to pyproject.toml (required for Python version 3.12)
Drop support for Python 2.7 and <=3.7 due to new setup process
Version 1.5.0 (16 Sep 2024)
Added support for general convex constraints