Course Description: Optimization models are used to make data-driven decisions in a variety of contexts, including transportation, healthcare, finance, logistics, and retail. This course will focus on formulating and solving optimization problems using Python. The course will address linear, integer, quadratic, and non-convex optimization. We will also explore connections between optimization and machine learning.
This is not a course on the theory of optimization, or on Python. Instead, the emphasis will be on learning how to develop suitable optimization models for practice problems, and how to obtain optimal solutions to these models on a computer.
Technical Concepts:
- Linear optimization, model geometry, simplex algorithm, Python+Gurobi
- Integer optimization, logical conditions, branch-and-bound algorithm
- Modeling uncertainty, quadratic optimization
- Convexity, local and global solutions, optimization and machine learning
- Gradient descent for logistic regression
Assignments:
- Hospital operating room scheduling using integer optimization
- Portfolio optimization using quadratic-integer optimization
- Predicting Airbnb prices using integer optimization
- Training a logistic regression classifier using gradient descent
Suggested Books:
- Applied Mathematical Programming by Bradley, Hax, and Magnanti (Addison-Wesley, 1977)