Introduction#

This jupyter-book provides python implementation for various concepts and algorithms introduced in the course AAE 590 Surrogate Methods taught by Prof. Leifur Leifsson at Purdue University. It is important to note that this book is not a replacement for the lectures. It is intended to be used as a reference for the course material and to provide a starting point for students to implement the algorithms introduced in the course.

Course description#

This course introduces students to the use of surrogate methods for engineering modeling and design optimization. In particular, this course introduces the fundamentals of building, selecting, validating, searching, and refining a surrogate model. Students will learn the theory behind the surrogate methods as well as how to implement and apply them to simple and practical modeling and design optimization problems. Implementations of the methods will be done using Python programming and Jupyter Notebooks. Course work includes workbook assignments, homework assignments, and tests. The course is intended for graduate students as well as senior undergraduate students.

Course learning outcomes#

On completing this course, the student will:

  • Have gained basic knowledge of surrogate methods and algorithms

  • Have gained an understanding of the computational challenges of surrogate methods

  • Be able to implement basic algorithms of surrogate methods in Python

  • Be able to use surrogate algorithms to solve basic engineering modeling and design optimization problems

Prerequisites#

  • Working knowledge of linear algebra, numerical methods, multivariate calculus, probability theory and statistics for engineers

  • Basic Python and Jupyter notebook knowledge.