Skip to content

Releases: soldasim/BOSS.jl

v0.3.5

22 Jan 14:46
Compare
Choose a tag to compare

BOSS v0.3.5

Diff since v0.3.4

Bugfixes:

  • Fix wrong datatype of θ for GaussianProcess model. Caused issues when working with multiple model fitters.

Other:

  • Move initialize! call into an inner constructor of BossProblem
  • Up Turing.jl compat

v0.3.4

12 Jan 15:42
Compare
Choose a tag to compare

BOSS v0.3.4

Diff since v0.3.3

Tiny update only containing some code maintenance. Some internal utility functions have been renamed and the new names need to be used in BOLFI.jl.

Closed issues:

  • Turing.jl parallel sampling BoundsError (#60)

v0.3.3

08 Jan 15:09
Compare
Choose a tag to compare

BOSS v0.3.3

Diff since v0.3.2

New Features:

  • Add new "toy" acquisition maximizers GivenPointAM and GivenSequenceAM.
  • Move the TuringBI model fitter into an extension TuringExt with a weak dependency on Turing.jl. (Turing.jl is no longer a strong dependency of BOSS.jl.)
  • Add a new exported utility function calc_inverse_gamma.

Bugfixes:

  • Small negative predictive variances returned by the GP model are now clipped to zero fixing some rare DomainError issues.

Other:

  • Update dependencies.
  • Code maintenance.

Merged pull requests:

Closed issues:

  • Reimplement constructors using @kwdef (#51)
  • Use inverse Gamma priors in the example (#53)
  • Move TuringBI to an extension (#57)
  • Get rid of unnecessary BOSS.SomeType specifications (#58)

v0.3.2

05 Nov 17:08
Compare
Choose a tag to compare

BOSS v0.3.2

Diff since v0.3.1

No new features. Just code maintenance.

Closed issues:

  • Refactor parallelization (#10)
  • Failing tests for Julia LTS version (#15)

v0.3.1

15 Oct 16:48
Compare
Choose a tag to compare

BOSS v0.3.1

Diff since v0.3.0

New Features

  • Added NoLimit termination condition.

Closed issues:

  • Support multivariate predictive distributions (#47)

v0.3.0

07 Oct 10:57
Compare
Choose a tag to compare

BOSS v0.3.0

Diff since v0.2.0

Breaking Changes

The signature of the posterior function obtained by calling post = model_posterior(::BossProblem) has been changed.

The behavior when evaluating the posterior for a single point x remains unchanged: post(x::AbstractVector{<:Real}) -> means::AbstractVector{<:Real}, stds::AbstractVector{<:Real}

However, when evaluated with a collection of points X (as a column-wise matrix), the posterior now returns the full covariance matrices for each output dimension: post(X::AbstractMatrix{<:Real}) -> means::AbstractMatrix{<:Real}, covs::AbstractArray{<:Real, 3}

See ? model_posterior for more info.

New Features

Bugfixes

Merged pull requests:

Closed issues:

  • NUTS sampler broken (#7)
  • BOSS compilation warnings (#8)
  • Remove NewuoaMLE, CobylaAM, NLoptAM (#31)
  • Rename MLE model fit to MAP (#36)

v0.2.0

06 Sep 13:15
Compare
Choose a tag to compare

BOSS v0.2.0

Diff since v0.1.0

Changes from 0.1.0 to 0.2.0:

  • major code & types refactoring
  • refactor combinatorial testing
  • posterior function obtained from model_posterior now supports matrix input for evaluation of multiple points
  • add model_posterior_slice public function
  • add SampleOptMAP model fitter
  • add SamplingAM and SampleOptAM acquisition maximizers
  • refactor OptimizationMAP to optimize hyperparameters for each output dimension separately if possible
  • up Julia
  • up Turing.jl

Breaking Changes:

  • Some types were refactored. This includes: BossProblem, all subtypes of ExperimentData, all subtypes of SurrogateModel.
  • The noise_std_priors hyperparameter is now defined as a part of the SurrogateModel. (Previously was a part of BossProblem.)

Closed issues:

  • Register BOSS.jl (#37)

v0.1.0

17 Jul 19:11
Compare
Choose a tag to compare

BOSS v0.1.0

Merged pull requests:

Closed issues:

  • Automatic differentiation fails if y_max contains Infs (#2)
  • AutoDiff fails with specific domains (#4)
  • Remove dependencies to optimization packages (#6)
  • Move noise variance from Problem to Model (#11)
  • Finish unit tests (#12)
  • SamplingMLE ignores Diracs (#13)
  • Rename abstract types to Abstract... (#20)
  • Create a common template for MLE optimizers (#23)
  • OptimizationPRIMA errors with AutoForwardDiff (#28)
  • Rework noise variance priors into noise std priors (#29)
  • Refactor GP amplitude hyperparam (#32)
  • Check termination conditions after re-fitting the model. (#34)