Class lectures: Mondays and Wednesdays 10:3011:50am in GHC 4307
Recitations: Thursdays 5:00  6:20, Hammerschlag Hall B103
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 graduatelevel 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 and combinatorial optimization problems. These general concepts will also be illustrated through applications in machine learning, AI, computer vision and robotics.
Students entering the class should have a preexisting 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 10701 or an equivalent machine learning class will be helpful, since we will use applications in machine learning and AI to demonstrate the concepts we cover in class.
Announcement Emails
 Class announcements will be broadcasted using a group email list:
 Please subscribe to the 10725announce list page.
 For changes (incl. additions or removal) to your membership in the course list, please make changes directly via the list administration page.
Discussion Group
 We have a discussion group where you can post questions, discuss issues, and interact with fellow students. Please join the group and check in often:
Textbooks
 Textbook: Convex Optimization, Boyd and Vandenberghe, which is available online for free.
 Optional textbook: Introduction to Linear Optimization, Dimitris Bertsimas and John N. Tsitsiklis.
 Optional textbook: Combinatorial Optimization: Algorithms and Complexity, Christos Papadimitriou and Kenneth Steiglitz.
 Optional textbook: Combinatorial Optimization, Alexander Schrijver.
 Optional textbook: Nonlinear Programming, Dimitri Bertsekas.
 Optional textbook: Approximation Algorithms, Vijay Vazirani
Grading
 Homeworks (5 assignments 50%)
 Final project (30%)
 Final exam (20%)  Out: April 28th Due: May 3rd by Noon
Auditing

We don't know for sure yet whether we will be able to allow
auditors. If you are considering auditing, you should attend the
first class. In any case, students wishing to audit must register to
audit the class. To satisfy the auditing requirement, you must
either:
 Do *two* homeworks, and get at least 75% of the points in each; or
 Take the final, and get at least 50% of the points; or

Do a class project and do *one* homework, and get at least 75% of the
points in the homework
 Like any class project, it must address a topic related to machine learning and you must have started the project while taking this class (can't be something you did last semester). You will need to submit a project proposal with everyone else, and present a poster with everyone. You don't need to submit a milestone or final paper. You must get at least 80% on the poster presentation part of the project.
 Please, send us an email saying that you will be auditing the class and what you plan to do.
 If you are not a student and want to sit in the class, please get authorization from the instructors.
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. The final project may be completed individually or in teams of two students.Late homework policy
 Homeworks are due at the begining of class, unless otherwise specified.

You will be allowed 3 total late days without penalty for the entire
semester. For instance, you may be late by 1 day on three different
homeworks or late by 3 days on one homework. Each late day
corresponds to 24 hours or part thereof. Once those days are used,
you will be penalized according to the policy below:
 Homework is worth full credit at the beginning of class on the due date.
 For the next 24 hours, it will be graded so that the highest possible score is equal to the 70th percentile of the distribution of scores of the ontime homeworks. For example, if your raw score is 80 out of 100 points, but the 70th percentile of the HW distribution is 85/100, then you will get credit for 80 * (85/100) = 68 points.
 For the following 24 hours, it will be graded out of the 40th percentile of the ontime homeworks.
 Thereafter, it will be graded out of the 10th percentile.
 You must turn in all of the homeworks, even if for reduced credit, in order to pass the course. For verylate homeworks, it is your responsibility to avoid looking at each solution set until after you have turned in the corresponding homework.
 Turn in all late homework assignments to Michelle (GHC 8001) .
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 Monica, and we will consider your request. Please note that regrading of a homework may cause your grade to go up or down.Final project
 Project proposal due date March 3rd in class (strict deadline, no late days allowed).
 Graded milestone 1 due date March 24th in class (15% of project grade)
 Graded milestone 2 due date April 21st in class (15% of project grade). Poster session, May 7th 36pm in the NSH Atrium (20% of project grade)
 Paper due date  May 10th (Noon, no late days) (via electronic submission to the instructors list) (50% of project grade)