CS 261: Optimization and Algorithmic Paradigm

Winter 2020-21

TuTh 2:30-3:50pm week 1
Th 2:30-3:50pm thereafter
on zoom (links in Canvas)

Ashish Goel
ashishg@stanford.edu, 650 814 1478
Office Hours: Tu 4-5:30 pm, or by appointment, on zoom (links in Canvas), starting week 2

Bryan Cai, bxcai@stanford.edu
Office Hours: Wed 9-10 am and 7-8 pm, or by appointment, on zoom (links in Canvas), starting week 2

Please use the email cs261-win2021-staff@lists.stanford.edu for the fastest response time.
Please sign on Piazza and use it often, since your questions may get answered by other students.

The first half of the class will use Linear Programming as a lens to study several classical problems: max-flow, matchings, min-cost flow and applications, game theory, and sequential decision making. We will then spend some time discussing sketching, an increasingly useful tool in algorithms design and its application, getting an introduction to Bayesian decision making, and exploring approximation algorithms. We will also see applications to market-design.

We will use a mix of old notes by Tim Roughgarden, notes made for an earlier version of the class, and new notes. Feel free to check out an earlier version of this class for an approximate preview of the notes and exercises.

From the Course Bulletin

Algorithms for network optimization: max-flow, min-cost flow, matching, assignment, and min-cut problems. Introduction to linear programming. Use of LP duality for design and analysis of algorithms. Approximation algorithms for NP-complete problems such as Steiner Trees, Traveling Salesman, and scheduling problems. Randomized algorithms. Introduction to online algorithms.

Prerequisite: 161 or equivalent.

The course requirements will be:
  1. 80% of your grade will be based on 4 HW sets (released during weeks 3, 5, 7, and 9, and due on the Fridays of weeks 4, 6, 8, and 10. You will be asked to do the HWs in groups of 3 (or in exceptional situations, 2). Let us know if you need help forming a group.
  2. The remaining 20% of your grade will be based on a project that you can do in groups of 2 or 3. Topics will be handed out at the end of week 4 and projects will be due the Fri of week 9 (March 12th). (Note: this has been amended, so that a nearly final report is due on the 12th, and the final report is due on the 16th.)
  3. Starting week 2, recorded lectures will be made available by 11:59pm on Monday, and there will be no Tue meeting. The Thu meeting will be for discussion and Q&A. During the first week, we will meet on both Tue and Thu.
  4. There may occasionally be quizzes that are part of the recorded lectures. These are mandatory and need to be 100% completed before the Thu lecture, or in exceptional cases with permission from the instructor or the TA, by the Sat of that week.
  5. There will also be an optional individual 10-15 minute zoom meeting with the instructor, so we can ask you what you think of the class and you can ask any open-ended questions. We will post a sign-up sheet soon.
  6. We will also provide occasional exercise sets, which will be an important part of the learning of the class, but not graded. You don't have to turn these in, but please do catch us during office hours or after class to ask any questions or discuss your answers.

NOTES AND HANDOUTS (needs sign in)

Please sign in to the mailing list cs261-win2021-guests@lists.stanford.edu at mailman and also sign in to Piazza. The Canvas site will be open at the beginning, and we will post zoom links on Piazza or send them over email. No additional permission is needed from the course staff, but please do let us know as a courtesy. We can not accommodate non-Stanford auditors this year.