EE/AA/ME 578 - Optimization and System Sciences

(a.k.a Convex Optimization and Applications)

Instructor: Maryam Fazel
Winter 2008
[ poster ]

Acknowledgement: Many thanks to Prof. Stephen Boyd and Prof. Lieven Vandenberghe for the permission to use (and modify) their course and lecture material.

Course description

This course concentrates on recognizing and solving convex optimization problems that arise in engineering and sciences. The syllabus includes:
  • Basics of convex analysis: Convex sets, functions, and optimization problems.
  • Optimization theory: Least-squares, linear, quadratic, geometric and semidefinite programming, and other problems. Optimality conditions, duality theory, and applications.
  • Some optimization algorithms: Unconstrained minimization and Newton method; Interior-point methods. Only a couple of algorithms (among many existing ones) will be covered to convey the general flavor of the methods.
  • Applications: Applications in signal processing, control, communications, statistics, networks, finance and economics, mechanical engineering, and circuit design (we may focus on some applications more than others, or skip some of them, depending on the background and interest of the students).
  • Some recent topics (time permitting): Dual decomposition methods for decentralized optimization; compressed sensing for sparse signals.

Course objectives:

  • to give students the tools and training to recognize convex optimization problems that arise in engineering
  • to present the basic theory of such problems, concentrating on results that are useful in computation
  • to give students a thorough understanding of how such problems are solved, and some experience in solving them, and the background required to use the methods in their own research work

top of ee578 page

Basic course information

Credit: 3 units

Lectures: Tuesdays and Thursdays, 11am-12:20pm, Loew Hall Room 206.

Instructor: Maryam Fazel, office: Paul Allen Center, Room CSE 230. Phone: (206) 616-4781.
click here to send email

Office hours: Tuesdays 2:30-4:30pm, or by appointment

Teaching assistant: Xiaolong Yu, office: Room 253A, EE bldg
click here to send email

TA office hours:Mondays 5-6pm, and Wednesdays 4-6pm

Textbook and optional references: The main textbook is

Also, printed copies are available for sale at the UW Bookstore.

Optional books that serve as secondary reference texts:

  • A. Ben-Tal and A. Nemirovski, Lectures on Modern Convex Optimization: Analysis, Algorithms, and Engineering Applications. MPS/SIAM Series on Optimization.
  • D. Bertsekas, A. Nedic, A. Ozdaglar, Convex Analysis and Optimization. Athena Scientific.
  • J. Borwein, A. Lewis, Convex Analysis and Nonlinear Optimization: Theory and Examples. Springer-Verlag.
  • D. Luenberger, Linear and Nonlinear Programming, Addison-Wesley.
  • J. Nocedal and S. Wright, Numerical Optimization, Springer.

Course requirements:

  • Weekly homework assignments (total of 8 homework sets), which involve some MATLAB programming.
  • Final exam, 24-hour take-home. There will be 4 one-hour time slots for picking up the exam: March 13 (pm), March 14 (am and pm), March 15 (am); and you should return it no later than 24 hours after pickup.

Grading: homework 60%, final 40% (approximate weights).

Prerequisites: Solid knowledge of linear algebra and ability to program in MATLAB. Elementary analysis. Elementary probability. Exposure to numerical computing, optimization, and application fields helpful but not required; applications will be kept basic and simple.

top of ee578 page


Theory (plus lots of examples): Some applications: Algorithms:

Videos of all lectures are available through the EDGE webpage for the course (only during the quarter)

top of ee578 page


  • CVX, MATLAB software for Disciplined Convex Programming (Michael Grant, Stephen Boyd, Yinyu Ye). A helpful overview of CVX
  • SeDuMi, software for solving SDPs (Jos Sturm).
  • YALMIP, a parser for writing SDPs in MATLAB (Johan Lofberg).

More links

top of ee578 page