Convex Optimization with Applications (8 Points)

Course description

Convex optimization relates to nonlinear optimization problems where both the objective and the constraints are convex. Convex optimization problems are attractive because a large class of these problems can now be efficiently solved. However, it can sometimes be difficult to recognize convexity: convexity is harder to recognize than say, linearity. Certain hard, non-convex problems such as combinatorial optimization and integer programming can be addressed by using convex approximations that are more efficient than classical linear ones.

This course starts with some necessary background in convex optimization theory and algorithms, and will concentrate on formulating/recognizing and solving convex optimization problems in applications arising in a variety of field (e.g., analysis, design and control of complex systems, machine learning, applied statistics, financial engineering, communication theory, signal processing, circuit design, combinatorial optimization, computational geometry, and mechanical engineering).

It is recommended that you enter this course with good knowledge of linear algebra (matrices, eigenvectors, symmetric matrices, positive-definite matrices) and exposure to probability. Prior exposure to optimization (e.g., linear programming) helps but is not necessary.

Objectives

  • present the basic theory of convex optimization, concentrating on results that are useful for practical applications and computation

  • providing tools and training to recognize convex optimization problems that arise in engineering

  • give some understanding of how such problems are solved

  • gain experience required to use these methods in your own research or engineering work

Intended audience

Students interested in scientific and engineering problems where optimization plays a role. Related fields include: bioengineering, civil and environmental engineering, electrical engineering (signal and image processing, control and communications, robotics, CAD), computer science (computer graphics, artificial intelligence and decision theory, data mining, algorithms & complexity, computational geometry), industrial engineering, and operations research, mechanical and structure engineering (robotics, control, structural analysis, optimization, and design), scientific computing and computational mathematics, statistics (model fitting and selection; experimental design), finance, economics.

Lectures & problem solving sessions

The course includes eight lectures, approximately one every second week, and will start on Wed, October 17th.

Homework will be assigned every lecture. Problem solving sessions will be arranged.

Examination

To pass the course you should do a project involving independent work on a topic that preferably are in line with your current research interests. Course projects will be presented in an informal poster session at the end of the course, and the work will be summarized in a writeup. Advise will be given to further develop promising projects and submit them for publication. Both individual and group projects (2 persons) are allowed.

Literature

We will be using the textbook Convex Optimization by Stephen Boyd and Lieven Vanderberghe

Software

There are many different solvers for optimization problems. CVX is a Matlab-based modeling system for convex optimization that can be used for the problems in this course.