Homepage for CSC 2600, Fall 2006

Topics in Computer Science: Convex Optimization

University of Toronto



ANNOUNCEMENTS:

  • Tentative final grades are here. Please check that your term marks have been recorded correctly.
  • The final exam was marked out of 59 instead of 75.
  • Marked Assignment 3's are now available outside my office door (BA4268), along with solutions.
  • See the list of references for Linear Algebra and Advanced Calculus, under "Background material" below.


    Course Description:

    Convex optimization is a form of non-linear optimization that includes linear programming and least squares as special cases. Like linear programming and least squares, convex optimization has a fairly complete theory, very efficient algorithms, and a wide range of applications. Application areas include computer science, engineering, statistics, finance, economics and operations research.

    This course is an introduction to the theory, algorithms and applications of convex optimization. The goal is to give students a working knowledge of the subject, i.e., the ability to recognize, formulate, and solve convex optimization problems. Topics covered include convex sets and functions, linear, quadratic and convex optimization problems, duality, the KKT conditions, algorithms for constrained and unconstrained problems, interior point methods, and a selection of applications. The course should be of special interest to students in machine learning, machine vision, graphics, numerical analysis and combinatorial optimization.


    This course is in area 2C.

    Prerequisites:

  • good knowledge of linear algebra and vector calculus (e.g., eigenvectors, gradients, Lagrange multipliers).
  • a willingness to program in Matlab.
  • Prior exposure to linear programming and basic probability would be helpful, but is not necessary.
  • Mathematical maturity will be assumed.

    Instructor:

  • Anthony Bonner
  • email: anthony [dot] bonner [at] utoronto [dot] ca
  • Phone: 416-978-7441
  • Office: BA 4268
  • Office hours: by appointment

    Lectures:

  • T12 in HA316, and R12 in GB248.

    Handouts:

  • Course outline
  • Lecture slides

    Assignments:

  • Assignment 1
  • Assignment 2
  • Assignment 3
  • Requests to have assignment questions remarked must be submitted to the marker (jingrui [at] cs [dot] toronto [dot] edu) within one week of receiving your marked assignment, along with a written explanation of why you think your answer is correct, and only after you have studied the correct solutions. In other words, it is your job to convince the marker that your solution is correct, not his job to convince you it is wrong.

    Text:

  • Boyd and Vandenberghe, Convex Optimization, Cambridge University Press, 2004.
  • Freely available on the web.

    Additional references:

  • Dimitri P. Bertsekas, Nonlinear Programming, Athena Scientific, 1999.
  • David G. Luenberger, Optimization by Vector Space Methods, Wiley, 1969.
  • R. Tyrell Rockafellar, Convex Analysis, Princeton University Press. (available in a 1996 repreint)

    Background material:

  • Petersen and Pedersen, The Matrix Cookbook. Free Download
  • Lipschutz and Lipson, Schaum's Outline of Linear Algebra. (very handy, very cheap)
  • Wrede and Spiegle, Schaum's Outline of Advanced Calculus. (very handy, very cheap)
  • Friedberg, Insel and Spence, Linear Algebra, Prentice Hall, 2003 (includes material on singular value decomposition.)

    Matlab:

  • Matlab Primer.
  • Matlab Intro.
  • Prof. Christara's A Brief Introduction to MatLab.
  • Cleve Moler's Introduction to MATLAB chapter from his new textbook.
  • Here is a good site for Matlab information and tutorials.
  • Another good site for Matlab information, tutorials and software.

    Octave:

  • You may use Octave instead of Matlab for homework assignments. However, I cannot guarantee to help you if you have problems. Octave is very similar to Matlab and is freely available on the web, but the user interface is not as convenient.
  • Instructions for installing and running Octave in Windows.
  • More details on installing Octave in Windows.
  • Octave manual
  • GNU Octave Repository
  • Octave Wiki

    Plagiarism and Cheating:

  • The academic regulations of the University are outlined in the Code of Behaviour on Academic Matters.
  • Advice on academic offences