Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SciML/Surrogates.jl
Surrogate modeling and optimization for scientific machine learning (SciML)
https://github.com/SciML/Surrogates.jl
automatic-differentiation differential-equations high-performance-computing julia optimization scientific-machine-learning sciml surrogate surrogate-based-optimization surrogate-models surrogates
Last synced: 3 months ago
JSON representation
Surrogate modeling and optimization for scientific machine learning (SciML)
- Host: GitHub
- URL: https://github.com/SciML/Surrogates.jl
- Owner: SciML
- License: other
- Created: 2019-05-08T18:27:16.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-08T03:36:23.000Z (7 months ago)
- Last Synced: 2024-04-14T01:46:59.575Z (7 months ago)
- Topics: automatic-differentiation, differential-equations, high-performance-computing, julia, optimization, scientific-machine-learning, sciml, surrogate, surrogate-based-optimization, surrogate-models, surrogates
- Language: Julia
- Homepage: https://docs.sciml.ai/Surrogates/stable/
- Size: 263 MB
- Stars: 312
- Watchers: 13
- Forks: 69
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-sciml - SciML/Surrogates.jl: Surrogate modeling and optimization for scientific machine learning (SciML)
README
## Surrogates.jl
[![Join the chat at https://julialang.zulipchat.com #sciml-bridged](https://img.shields.io/static/v1?label=Zulip&message=chat&color=9558b2&labelColor=389826)](https://julialang.zulipchat.com/#narrow/stream/279055-sciml-bridged)
[![Global Docs](https://img.shields.io/badge/docs-SciML-blue.svg)](https://docs.sciml.ai/Surrogates/stable/)[![codecov](https://codecov.io/gh/SciML/Surrogates.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/SciML/Surrogates.jl)
[![Build Status](https://github.com/SciML/Surrogates.jl/workflows/CI/badge.svg)](https://github.com/SciML/Surrogates.jl/actions?query=workflow%3ACI)[![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://img.shields.io/badge/ColPrac-Contributor%27s%20Guide-blueviolet)](https://github.com/SciML/ColPrac)
[![SciML Code Style](https://img.shields.io/static/v1?label=code%20style&message=SciML&color=9558b2&labelColor=389826)](https://github.com/SciML/SciMLStyle)[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.12571718.svg)](https://doi.org/10.5281/zenodo.12571718)
A surrogate model is an approximation method that mimics the behavior of a computationally
expensive simulation. In more mathematical terms: suppose we are attempting to optimize a function
`f(p)`, but each calculation of `f` is very expensive. It may be the case we need to solve a PDE for each point or use advanced numerical linear algebra machinery, which is usually costly. The idea is then to develop a surrogate model `g` which approximates `f` by training on previous data collected from evaluations of `f`.
The construction of a surrogate model can be seen as a three-step process:1. Sample selection
2. Construction of the surrogate model
3. Surrogate optimizationSampling can be done through [QuasiMonteCarlo.jl](https://github.com/SciML/QuasiMonteCarlo.jl), all the functions available there can be used in Surrogates.jl.
## ALL the currently available surrogate models:
- Kriging
- Kriging using Stheno
- Radial Basis
- Wendland
- Linear
- Second Order Polynomial
- Support Vector Machines (Wait for LIBSVM resolution)
- Neural Networks
- Random Forests
- Lobachevsky
- Inverse-distance
- Polynomial expansions
- Variable fidelity
- Mixture of experts (Waiting GaussianMixtures package to work on v1.5)
- Earth
- Gradient Enhanced Kriging## ALL the currently available optimization methods:
- SRBF
- LCBS
- DYCORS
- EI
- SOP
- Multi-optimization: SMB and RTEA## Installing Surrogates package
```julia
using Pkg
Pkg.add("Surrogates")
```