Advanced Graph Algorithms and Optimization, Spring 2020

Lecturer: Rasmus Kyng
Assistant: Ahad N. Zehmakan
Lecture Time and Place: Wednesdays 09:00-11:00 at CAB G52
Exercise Session Time and Place: Wednesdays 11:00-12:00 at CAB G52
ECTS credits: 5 credits

INFORMATION ON ONLINE TEACHING (Posted Tuesday, March 17th, 12.25): We will email registered students with information on how to attend lectures online later today. There will be a Zoom livestream of the lecture at the usual time. If you are *NOT* a registered student, but wish to attend the online lecture, you have to send us an email to get the necessary information.

Course Objective: The course will take students on a deep dive into modern approaches to graph algorithms using convex optimization techniques. By studying convex optimization through the lens of graph algorithms, students should develop a deeper understanding of fundamental phenomena in optimization. The course will cover some traditional discrete approaches to various graph problems, especially flow problems, and then contrast these approaches with modern, asymptotically faster methods based on combining convex optimization with spectral and combinatorial graph theory.

Course Content: Students should leave the course understanding key concepts in optimization such as first and second-order optimization, convex duality, multiplicative weights and dual-based methods, acceleration, preconditioning, and non-Euclidean optimization. Students will also be familiarized with central techniques in the development of graph algorithms in the past 15 years, including graph decomposition techniques, sparsification, oblivious routing, and spectral and combinatorial preconditioning.

Prerequisites: This course is targeted toward masters and doctoral students with an interest in theoretical computer science. Students should be comfortable with design and analysis of algorithms, probability, and linear algebra. Having passed the course Algorithms, Probability, and Computing (APC) is highly recommended, but not formally required. If you are not sure whether you are ready for this class or not, please consult the lecturer.


  • Convex Optimization by Stephen Boyd and Lieven Vandenberghe.
    • This book is a helpful reference for convex optimization.
  • Differential Calculus by Henri Cartan.
    • If you have a powerful urge to learn all about multivariate calculus, you can start here. You shouldn't need it for the course though.
  • Convex Analysis by Rockafellar.
    • This is the classic text on basic convex analysis (not optimization). Again, you shouldn't need this.


Performance Assessment

Graded Homework 1 (April 5): 15% of grade. Homework consists entirely of exercises.

Graded Homework 2 (May 24): 15% of grade. 5% is for exercises, 10% is for a short written report on a paper. The lecturer will assign papers to students, possibly with some input from students. Assignments are done individually.

Oral Exam (First Week of June): 70% of the grade. Exam is 30 minutes, of which 15 minutes will be spent on the paper associated with the written report, and 15 minutes will be spent covering topics from the lectures.

Schedule, Lecture Notes, and Exercises

Date Lecture Problem Sets and Graded Homework
(with due dates)
02/19 Wed Lecture 1: Course Introduction (notes) Problem Set 1
02/26 Wed Lecture 2: Some Basic Optimization, Convex Geometry, and Linear Algebra (notes) Problem Set 2
03/04 Wed Lecture 3: Convexity and Second Derivatives, Gradient Descent and Acceleration (notes) Problem Set 3
03/11 Wed Lecture 4: Introduction to Spectral Graph Theory (notes) Problem Set 4
03/18 Wed Lecture 5: More Spectral Graph Theory (notes) (OneNote notes, password protected) Graded Homework 1 (due April 5)
03/25 Wed Lecture 6: Effective Resistance, Gaussian Elimination as Optimization (notes) (OneNote notes, password protected) No exercises this week.
04/01 Wed Lecture 7: An Additive Perspective on Gaussian Elimination, Introduction to Random Matrix Concentration (notes) (OneNote notes, password protected) No exercises this week.
04/08 Wed Lecture 8: Random Matrix Concentration and Spectral Graph Sparsification (notes) (OneNote notes, password protected) Problem Set 5
04/22 Wed Lecture 9: Solving Laplacian Linear Equations (notes) (OneNote notes, password protected) Problem Set 6
04/29 Wed Lecture 10: Classical Algorithms for Maximum Flow (notes) (OneNote notes, password protected) Problem Set 7
05/6 Wed Lecture 11: Classical Algorithms for Maximum Flow II (notes) (OneNote notes, password protected) Graded Homework 2 (due May 24)
05/13 Wed Lecture 12: Separating Hyperplane Theorem, Langrange Multipliers, and Convex Duality (notes) (OneNote notes, password protected) No exercises this week.
05/20 Wed Lecture 13: Karush-Kuhn-Tucker Conditions, Fenchel Conjugates, Newton's Method (notes) (OneNote notes, password protected) No exercises this week.
05/27 Wed Lecture 14: An Interior Point Method for Maximum Flow (draft notes) (OneNote notes, password protected) No exercises this week. The content of this lecture is NOT on the exam.