This course is a introduction to optimization for graduate students
for those in any computational field.
It will cover many of the fundamentals of optimization and is a good
course to prepare those who wish to use optimization in their
research and those who wish to become optimizers by developing
new algorithms and theory. Selected topics include:
I will attempt to add a little more ML-based coverage this year, although since that is very common in ML-classes, this class will remain focused on more classic optimization techniques and spend a while on linear programming and how it works, along with quadratic programming.
We'll assume you've had some background in numerical linear algebra and rely on that subject heavily. Students with a background in mathematical analysis may be able to appreciate some of the more theoretical results as well.
If you have not taken CS515, or had similar material elsewhere, you are going to be challenged by this class.
The following textbook is required, although please see the notes in the syllabus before purchasing a copy
Algorithms for Optimization Mykel Kochenderfer and Tim A. Wheeler. MIT Press, 2019. Julia Notebooks Errata
The following textbook (available online) will also be used heavily:
Numerical Optimization. Jorge Nocedal and Stephen J. Wright. 2nd edition. Springer, 2006. Available online for Purdue students!
doi:10.1007/978-0-387-40065-5
This class is a lecture class. Students are expected to attend lectures, and there will be regular homeworks. There will be a midterm exam and a final project.