ASE7030: Convex Optimization

Announcements

  • Welcome to ASE7030: Convex optimization.

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 14:30-15:45 (Rm.215 @aerospace campus)

Office hours

  • JHK: Tue/Thr 16:00-17:30 (Rm.507), or by appointments.

Prerequisites

  • Linear algebra and statistics

  • Prior exposure to numerical computation (Python or others)

Reference textbooks

  • There are no required textbooks.

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

Grading policy

  • Homework assignments (50%)

  • Class participation (50%)

Course contents

  1. Course overview

  2. Convexity

  3. Linear algebra review

  4. Least squares, least norm, and constrained least squares problems

  5. Computational exercises: Trend filtering

  6. Computational exercises: Minimum energy control

  7. Computational exercises: Waypoint guidance

  8. Computational exercises: Kalman filter

  9. Convex functions

  10. Convex optimization problems

  11. An extremely short cvxpy tutorial

  12. Computational exercises: More optimal control problems

  13. Computational exercises: Matrix imputation

  14. Computational exercises: Image in-painting

  15. Computational exercises: Aircraft wing design

  16. Computational exercises: Sparse solutions

  17. Computational exercises: Robust Kalman filter with Huber penalty functions

  18. Computational exercises: Huber regression

  19. Computational exercises: Support vector machine

  20. Quasiconvex optimization

  21. Computational exercises: Minimum time control

  22. Sequential convex programming

  23. Computational exercises: Trajectory optimization under nonconvex constraints

  24. Nonconvex problems and the first order methods

  25. Summary

Computational exercises

The link directs to the associated Jupyter notebook, which opens on Google Colaboratory when the “Open in Colab” button is clicked. These contents are not final: some will be revised/removed and new contents will be added.

  1. Image colorization

  2. Network topology identification

  3. Fastest mixing networks

  4. Recommendation system

  5. Image compression via SVD

Assignments

Several sets of occasional homework assignments will be posted here. You are encouraged to work in groups, however everyone should turn in his/her own work.

  1. Homework #1 (due 4/9)

  2. Homework #2 (due 4/16)

  3. Homework #3: Waypoint guidance with pass angle constraints (due 4/30)

  4. Homework #4: Formation flight (due 5/7)