This course provides a broad introduction to continuous optimization with a focus on practical algorithms for the design of engineering systems. We cover a wide variety of continuous optimization topics, introducing the underlying mathematical problem formulations and the algorithms for solving them. All the algorithms will be implemented in the Julia programming language. The course requires some mathematical maturity and assumes prior exposure to multivariable calculus, linear algebra, and probability concepts, although all these concepts will be reviewed during the course. 

 

Content: Derivatives and Gradient, Bracketing, Local Descent, First-Order Methods, Second-Order Methods, Direct Methods, Stochastic Methods

 

Bibliography:

1 - Mykel J. Kochenderfer and Tim A. Wheeler. Algorithms for Optimization. MIT Press

https://mitpress.mit.edu/9780262039420/algorithms-for-optimization/

https://algorithmsbook.com/optimization/files/optimization.pdf