Skip to content

Releases: SMTorg/smt

2.2.0

21 Nov 09:44
a1c52ae
Compare
Choose a tag to compare

What's Changed

  • Update NestedLHS with design_space by @Paul-Saves in #473. It completes the work done in 2.1 on mixed-integer multi-fidelity surrogates: MFK and MFKPLS.
  • Implement categorical decreed variables by @Paul-Saves in #474. This allows to define value constraints that explicitly forbid two variables from having some values simultaneously. These constraints are taken into account during the mixed-integer kriging-based surrogates training. This feature is built on top of ConfigSpace which has to be installed.

Full Changelog: v2.1.0...v2.2.0

2.1.0

30 Oct 10:17
2ac08cd
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.0.1...v2.1.0

2.0.1

31 Aug 16:37
8abaffe
Compare
Choose a tag to compare

2.0.0

27 Jun 07:59
06fecea
Compare
Choose a tag to compare

Major release of the Surrogate Modeling Toolbox with handling of hierarchical and mixed variables for kriging-based surrogates.

See SMT 2.0 article (preprint).

Special thanks to @Paul-Saves for his essential contributions and @jbussemaker for his work on the API and many thanks to all contributors.

2.0b3

17 May 09:38
960ecd7
Compare
Choose a tag to compare
  • Rework of the categorical and hierarchical variables API for kriging-based surrogates (@jbussemaker #428 ) :

    • Implementation of a new design space definition API in smt.utils.design_space
    • XSpecs and XType have been completely replaced by DesignSpace
    • Add numba speedup for kriging calculations (optional)
    • Documentation update
  • Fixes related to categorical variables handling : (@Paul-Saves #431 )

    • Fix: kriging-based surrogates categorical_kernel option is now explicitly continuous relaxation
    • Fix: mixed-integer EGO implementation now works in folded space
  • Code format with black is enforced in CI (#432 )

2.0b2

13 Apr 14:47
fdd3dae
Compare
Choose a tag to compare
  • Hierarchical variables for kriging-based surrogate models:

  • Add variable-powered exponential kernel for kriging-based surrogates (@yqliaohk #411)

  • Multi-Fidelity Kriging: Reset eval_noise option to original value after reinterpolation to allow subsequent noise evaluation (@robertwenink #419)

  • Update notebooks (@NatOnera #426)

  • CI maintainance (@EwoutH #423, #422)

2.0b1

02 Mar 15:14
8460a92
Compare
Choose a tag to compare

Breaking changes

  • Kriging-based surrogates mixed integer existing support (continuous relaxation, gower distance) is reworked (@Paul-Saves #379)
  • Change predict_variance_derivatives(x) for a single x to predict_variance_derivatives(x, kx) (@Paul-Saves and Ines Cardoso #390)
  • Drop support for scikit-learn < 1.0.2 (related to PLS used in KPLS surrogates)
  • Drop support for Python 3.7

Added:

  • Kriging-based surrogates support for mixed integer variables (@Paul-Saves #379)
  • Kriging-based surrogates support for hierarchical variables (@Paul-Saves #406, #400)
  • Conditioned Gaussian Process sampling (@AlexThv #385): see tutorial
  • Output derivatives for all correlation kernels, as it was only available for Gaussian kernel before (@Paul-Saves #389)
  • Derivatives value and variance computation for all correlation kernels (@Paul-Saves #389)
  • KPLS surrogates (@Paul-Saves #379):
    • automatic PLS components number determination when setting eval_n_comp option
    • PLS dimension reduction is available for categorical variables using cat_kernel_comps option
  • Normalization for QP surrogate model (@Paul-Saves #396)
  • Documentation and notebooks updates (@NatOnera #393, #407)

Fixed:

  • Normalization for kriging based models using linear trend (@Paul-Saves #389)
  • Compatibility with numpy 1.24 (@Paul-Saves #392)
  • Bounds normalization when using Gower distance in kriging-based surrogate models (@Paul-Saves #394)
  • EGO algorithm when discrete variables are used (@Paul-Saves #394)
  • LHS to avoid generating the same doe when random state is set (#397)

1.3.0

22 Aug 08:16
Compare
Choose a tag to compare
  • Breaking Changes: MGP is now compliant with the SurrogateModel API
    • mgp.predict_values() method outputs is now a 2d array (fix #375)
    • mgp.predict_variances() method now takes only one arg and returns only MGP variances (old version call predict_variances(x, both=False))
    • mgp.predict_variances_no_uq() , specific to MGP, computes variances without hyperparameters uncertainty (second value returned by the old version call predict_variances(x, both=True))
  • Cleanup install_requires: remove packaging, move numpydoc and matplotlib to requirements.txt (#370)
  • Documentation updates:
  • Fix warnings in optimized ESE LHS (#350)
  • Fix wing weight problem formula (#381)
  • Use warnings.warn instead of print in Kriging-based surrogates (#367 thanks @zhoutianxun)

1.2.0

25 Mar 10:17
Compare
Choose a tag to compare
  • Add EGO optimization with GEKPLS model (#340, #346, thanks @Laurentww)
  • Breaking change: Remove scikit-learn < 0.22 support for KPLS surrogates family
  • Remove Python 3.6 from CI tests as it has reached its end-of-life date (#342).
  • Fix MOE when test data are specified (#347)
  • Fix MFK to make it work even with one fidelity (#339, #341)
  • Fix Kriging based surrogates to allow constant function modeling (#338)
  • Fix KPLS automatic determination of components number and update notebook (#335)

1.1.0

21 Oct 13:03
Compare
Choose a tag to compare
  • Mixed integer surrogate enhancements (thanks @Paul-Saves)
    • Add number of components estimation in KPLS surrogate models (#325)
    • Add ordered variables management in mixed integer surrogates (#326, #327). Deprecation warning: INT type is deprecated and superseded by ORD type.
    • Update version for the GOWER distance model. (#330)
    • Implement generalization of the homoscedastic hypersphere kernel from Pelamatti et al. (#330)
    • Refactor MixedInteger (#328, #330)
  • Add propagate_uncertainty option in MFK method (#320 thanks @anfelopera) :
    • when True the variances of lower fidelity levels are taken into account.
  • Add LHS expansion method (#303, #323 thanks @rconde1997)
  • MOE: Fix computation of errors when choosing expert surrogates (#334)
  • Breaking Changes:
    • In EGO SMT, UCB criteria mistakenly named regarding the litterature is renamed LCB! (#321)
    • In MixedInteger surrogate: use_gower_distance=True option replaced by categorical_kernel=GOWER
  • Documentation: