Yield Estimation and Optimization with Gaussian Process Regression (YieldEstOptGPR)

This repository contains the main source code and data of the yield estimation and optimization procedures documented in the following papers

@article{FuhrlanderSchops2020,
  title     = {A blackbox yield estimation workflow with {G}aussian process regression applied to the design of electromagnetic devices},
  author    = {Fuhrländer, Mona and Schöps, Sebastian},
  journal   = {Journal of Mathematics in Industry},
  volume    = {10},
  number    = {1},
  pages     = {1--17},
  year      = {2020},
  publisher = {Springer},
  url       = {https://doi.org/10.1186/s13362-020-00093-1}
}

and

@article{FuhrlanderSchops2021,
  title     = {Yield Optimization using Hybrid {G}aussian Process Regression and a Genetic Multi-Objective Approach},
  author    = {Fuhrländer, Mona and Schöps, Sebastian},
  journal   = {Advances in Radio Science},
  volume    = {19},
  pages     = {41--48},
  year      = {2021},
  publisher = {Copernicus GmbH},
  url       = {https://doi.org/10.5194/ars-19-41-2021}
}

Content

  • This is an algorithm for the efficient and reliable estimation of a yield (= percentage of accepted realizations in a manufacturing process under uncertainties).

  • For yield estimation a hybrid method combining pure Monte Carlo (MC) with a surrogate model approach based on Gaussian process regression (GPR) is used.

  • For yield optimization an adaptive Newton-MC method is used, which is a modification of a globalized Newton method allowing adaptive sample size increase.

  • For multi-objective optimization (yield and robust geometry optimization) a genetic algorithm using pymoo.

  • As benchmark problems a simple dielectrical waveguide and a lowpass filter (only for estimation) are considered.

Running the examples

  • The main files to run the yield estimation are Run_YieldEst_Waveguide.py (for the waveguide problem) and Run_YieldEst_Lowpass.py (for the lowpass filter problem, respectively).

  • The main file to run the yield optimization is Run_YieldOpt_Waveguide.py.

  • The main file to run the multi-objective optimization is Run_YieldMOO_Waveguide.py.

Data origin

Licence

This project is licensed under the terms of the GNU General Public License (GPL).