Class lectures: Tuesdays and Thursdays 1:30PM - 2:50PM in DH A302.

Recitations: Mondays 4:30 - 6pm and Wednesdays 2 - 3:30pm see the recitation page for the location. You may attend either one.

Why Optimization?

Essentially, every problem in computer science and engineering can be formulated as the optimization of some function under some set of constraints. This universal reduction automatically suggests that such optimization tasks are intractable. Fortunately, most real world problems have special structure, such as convexity, locality, decomposability or submodularity. These properties allow us to formulate optimization problems that can often be solved efficiently. This course is designed to give a graduate-level student a thorough grounding in the formulation of optimization problems that exploit such structure and in efficient solution methods for these problems. The course focuses mainly on the formulation and solution of convex optimization problems. These general concepts will also be illustrated through applications in statistics, machine learning, AI, computer vision and robotics.

Students entering the class should have a pre-existing working knowledge of algorithms, though the class has been designed to allow students with a strong numerate background to catch up and fully participate. Though not required, having taken 10-701 or an equivalent machine learning or statistics class will be helpful, since we will frequently use applications in machine learning and statistics to demonstrate the concepts we cover in class.

Discussion Group




Scribing is compulsory for crediting students. For those auditing, scribing is not compulsory but requested. There is a minimum of two scribes per lecture, though three is the recommended number, and a fourth is optional - if all the lectures have all three scribe slots taken, then people may sign up as the fourth scribe for any lecture of their choice. Sign up for scribing lectures here. The Latex template for scribing lectures should be found here.


Homework policy

Important Note: As we often reuse problem set questions from previous years, or problems covered by papers and webpages, we expect the students not to copy, refer to, or look at the solutions in preparing their answers. Since this is a graduate class, we expect students to want to learn and not google for answers. The purpose of problem sets in this class is to help you think about the material, not just give us the right answers. Therefore, please restrict attention to the books mentioned on the webpage when solving problems on the problem set. If you do happen to use other material, it must be acknowledged clearly with a citation on the submitted solution.

Collaboration policy

Homeworks will be done individually: each student must hand in their own answers. In addition, each student must write their own code in the programming part of the assignment. It is acceptable, however, for students to collaborate in figuring out answers and helping each other solve the problems. We will be assuming that, as participants in a graduate course, you will be taking the responsibility to make sure you personally understand the solution to any work arising from such collaboration. In preparing your own writeup, you should not refer to any written materials from a joint study session. You also must indicate on each homework with whom you collaborated.

Late homework policy

Homework regrades policy

If you feel that we have made an error in grading your homework, please turn in your homework with a written explanation to Michelle, and we will consider your request. Please note that regrading of a homework may cause your grade to go up or down.

Final project

Students will work in groups of two or three to complete a final project. For project milestone, roughly half of the project work should be completed. A short, graded write-up will be required, and we will provide feedback.

Note to people outside CMU

Feel free to use the slides and materials available online here. However, please do not redistribute them without permission. (Linking to them is fine, as long as it is clear that they come from this site.) If you use our slides, videos, or other material, an appropriate attribution is requested. Please email the instructors with any corrections or improvements.