a logo for the course

Computational Methods in Optimization

David Gleich

Purdue University

Spring 2023

Course number CS-52000

Monday, Wednesday, Friday, 1:30-2:20pm

Location Lawson 1106

Computational methods in optimization


Project details posted
Homework 7 posted
Homework 6 posted
Homework 5 posted
Homework 4 posted
Homework 3 posted
Homework 2 posted
Homework 1 posted
Welcome to class, please complete the intro survey by class on 2023-01-13 (submit on Gradescope)


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.

Books and reading materials

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!


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.