EE786: Optimization Applications

Announcements

  • Classroom changes to Rm.513 at Multimedia bldg.

  • Welcome to 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

  • Tue/Thr 13:30-14:45 (Rm.513 at Multimedia bldg.)

Office hours

  • Wed 16:30-18:00 (Rm.516)

Prerequisites

  • Optimization theory, convex optimization, machine learning, or equivalents.

  • Prior exposure to numerical computation (Python or others) will be helpful.

Reference textbooks

  • There are no required textbooks.

  • Convex optimization by Boyd and Vandenberghe will be a useful reference.

Grading policy

  • Homework assignments (50%)

  • Final presentation (50%)

Course contents

The link directs to the associated Jupyter notebook, which opens on Google Colaboratory when the “Open in Colab” button is clicked.

  1. Linear algebra review

  2. Least squares and least norm problems

  3. Trend filtering

  4. Kalman filter

  5. Minimum energy control

  6. Waypoint guidance

  7. Schur complement

  8. Convex functions

  9. Convex optimization

  10. An extremely short cvxpy tutorial

  11. More optimal controls

  12. Quasiconvex optimization

  13. Minimum time control

  14. Matrix imputation

  15. Image in-painting

  16. Network topology identification

  17. Fastest mixing networks

  18. Sparse solutions

  19. \(\ell_1\) trend filtering

  20. Robust Kalman filter with Huber penalty functions

  21. Huber regression

  22. Support vector machine

  23. Aircraft wing design

  24. 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.

  1. Formation flight (due 4/25)

  2. Image colorization (due 6/4)

  3. 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.