Skip to content

Commit

Permalink
Add cooperative components kriging model as application (#642)
Browse files Browse the repository at this point in the history
* add cooperative components kriging model as application

* ruff formating of new cckrg python files

* Fix documentation

* Add forgotten file

* Add notebook

* Adjust cckrg example

* Add notebook link

---------

Co-authored-by: relf <[email protected]>
  • Loading branch information
lisapretsch and relf authored Sep 19, 2024
1 parent 1103982 commit 8f20a43
Show file tree
Hide file tree
Showing 9 changed files with 1,405 additions and 0 deletions.
1 change: 1 addition & 0 deletions doc/_src_docs/applications.rst

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions doc/_src_docs/applications.rstx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Three methods are available:
applications/mfkplsk
applications/ego
applications/podi
applications/cckrg


The intent is to provide applications of surrogate models in higher level methods.
258 changes: 258 additions & 0 deletions doc/_src_docs/applications/cckrg.rst

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 25 additions & 0 deletions doc/_src_docs/applications/cckrg.rstx
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
.. _cckrg-ref-label:

Cooperative Components Kriging (CoopCompKRG)
================================

Cooperative Components Kriging is a way of fitting a high-dimensional ordinary Kriging model by sequential lower-dimensional component model fits. For each component, only the associated hyperparameters are optimized. All other hyperparameters are set to a so-called cooperative context vector, which contains the current best hyperparameter values.

This application contains the single component model fits. The loop over the components has to be implemented individually, as shown in the usage example below.

The cooperative components model fit was developed as part of a high-dimensional surrogate-based optimization process. It is inspired by distributed multi-disciplinary design optimization (MDO) approaches and the cooperative EGO by Zhan et al. [1]_.


References
----------
.. [1] Zhan, D., Wu, J., Xing, H. et al., A cooperative approach to efficient global optimization. J Glob Optim 88, 327–357 (2024).

Usage
-----

.. embed-test-print :: smt.applications.tests.test_cckrg , TestCCKRG , run_cckrg_example

Options
-------

.. embed-options-table :: smt.applications , CoopCompKRG , options
2 changes: 2 additions & 0 deletions smt/applications/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from .moe import MOE, MOESurrogateModel
from .vfm import VFM
from .podi import PODI, SubspacesInterpolation
from .cckrg import CoopCompKRG

__all__ = [
"VFM",
Expand All @@ -18,4 +19,5 @@
"Evaluator",
"PODI",
"SubspacesInterpolation",
"CoopCompKRG",
]
Loading

0 comments on commit 8f20a43

Please sign in to comment.