EE786: Optimization Applications
Course Info.
Course descriptions
The course covers a wide range of engineering application problems that can be solved via convex optimization. With minimal contents on optimization theories, this course will focus on problem formulation techniques that transforms the real-life engineering problems into mathematical optimization problems. The students will work on numerical experiments from a wide variety of engineering and other disciplines, including signal processing, control, finances, and machine learning.
Lectures
Office hours
Prerequisites
Optimization theory, convex optimization, machine learning, or equivalents.
Prior exposure to numerical computation (Python or others) will be helpful.
Reference textbooks
Grading policy
Course contents
The link directs to the associated Jupyter notebook, which opens on Google Colaboratory when the “Open in Colab” button is clicked.
Linear algebra review
Least squares and least norm problems
Trend filtering
Kalman filter
Minimum energy control
Waypoint guidance
Schur complement
Convex functions
Convex optimization
An extremely short cvxpy tutorial
More optimal controls
Quasiconvex optimization
Minimum time control
Matrix imputation
Image in-painting
Network topology identification
Fastest mixing networks
Sparse solutions
\(\ell_1\) trend filtering
Robust Kalman filter with Huber penalty functions
Huber regression
Support vector machine
Aircraft wing design
Summary
Assignments
Several sets of occasional homeworks will be assigned.
You are encouraged to work in groups, however everyone should turn in his/her own work.
Formation flight (due 4/25)
Image colorization (due 6/4)
Recommendation system (due 6/20)
Files
These are some data and the Python codes in .ipynb notebook files that we are using for lectures or homework assignments.
|