6.S098, IAP 2022 – Applied Convex Optimization

6.S098, IAP 2022 – Applied Convex Optimization

Instructors: Alexandre Amice (amice@mit.edu), Benoit Legat (benoit.legat@uclouvain.be)

Lectures: Tuesday/Thursday 1:00-2:30pm January 4th - January 27th

Syllabus: 6.S098

Course description

Optimization is a cornerstone of many disciplines in engineering. Surprisingly, many problems such as balancing bipedal robots, designing your own index fund, and allocating power in the energy grid can be formulated as convex optimization problems. Convex optimization is a mature technol- ogy which can be used to solve a huge number of applied problems and can be scaled to problems with millions of variables. However, recognizing what can be transformed into a convex optimiza- tion problem can be challenging. This course will teach you how to recognize, formulate, and solve these problems.

Lectures will be motivated by realistic case studies from areas where convex optimization is used in practice. We will briefly survey theoretical results in convex analysis, but the majority of the course will focus on formulating and solving problems that come up in practice. Applications will include robotics, signal processing, statistics and machine learning, finance, control, power systems, and other areas based on student interest. This course is designed for advanced undergraduates and beginning graduate students.

Course objectives:

  • learn to recognize and formulate convex optimization problems that appear in various fields.

  • become comfortable using open source software to solve these optimization problems.

  • develop insight to decide which solver is best for your problem.

  • give students the background needed to feel comfortable in applying these methods in their own research work and/or applications

About the Course


Comfort with multivariable calculus (18.02) and linear algebra (18.06) as well as basic programming in Python or Julia. Familiarity with basic probability and/or controls will aid in understanding many of the case studies.

Intended audience

Anyone who expects to use optimization as a tool for scientific computing. Beginning graduate and advanced undergraduate students are the particular target audience.


The following schedule is tentative and subject to change. See Syallabus for in depth topic list

Date Topic Homework
Week 1
01/04, 01/06
Linear Programming, Fundamentals of Convex Programming Homework 1
Week 2
01/11, 01/13
Quadratic and Second Order Cone Programming, Duality Homework 2
Week 3
01/18, 01/20
Case Study: Approximation and Signal Processing, Case Study: Machine Learning and Statistics Homework 3
Week 4
01/25, 01/27
Hard Optimization Problems: TBD Projects


The textbook is Convex Optimization by Boyd and Vandenberghe, available online.


You will use one of CVXPY (Python), or Convex.jl (Julia)


  • This course is offered for 6 units of credit, and the grading is PDF. To receive credit, you must get 14 or more points. The main goal of this course is to learn about optimization and solve some fun problems.

Problem Sets 12
Attendance 6
Project 4
Total 22

* Thank you to Nikolai Matni for providing this template