Brief Course Description

Many practical algorithms in robotics, machine learning, and control can be understood as solutions to convex optimization problems. Knowing the mathematical and optimization structure behind these algorithms will deepen our understanding of them. Moreover, by recognizing underlying convex structure in his or her own research problems, the student can take advantage of some of the latest mathematical and software tools in optimization theory.

This two-part seminar aims to cover several basic yet fundamental topics in convex optimization with a focus on applications to robotics, machine learning, and control. Part 1 of the course (Fall 2012, lead by Robert Platt) will introduce fundamental topics in convex optimization, polynomial optimization, and convex relaxations. Each of these topics will be explored in the context of important applications to robotics, machine learning, and control. Part 2 of the seminar (Spring 2013, lead by Hung Ngo) will cover algorithms for solving convex optimization problems with a focus on the relationship between the algorithms and problem structure.

Part 1, Fall 2012

During the fall semester, we are covering the basics of convex optimization and its application to some basic problems. We are relying almost exclusively on Stephen Boyd's book, Convex Optimization (2004, Cambridge University Press), and the associated online course notes. Most lectures are presented by students.

Here is rough list of topics:

  1. Convex sets; convex functions
  2. Convex optimization problems
  3. Standard problems: linear, quadratic, quadratically constrained quadratic, second order cone, semi-definite programs
  4. Duality, KKT conditions
  5. Integer programming relaxations
  6. Semi-definite relaxations
  7. Topics in polynomial optimization

Part 2, Spring 2013



We meet Tuesdays and Thursdays between 2pm and 3:10pm in 338A Davis.


  • Robert Platt ( robplatt [at] buffalo )
    • Office hours: TBD
  • Hung Ngo ( hung [at] buffalo )
    • Office hours: TBD


Working knowledge of linear algebra and Matlab. Basic knowledge of probability.

Work Load

Students will be expected to participate in class, make at least one presentation and/or demo, and to write scribe notes for at least one other presentation. This course will be S/U.

Reference materials (all materials available via the links below):