Computer Science & Engineering Department, SUNY at Buffalo
Brief Course Description

This course has twomain components: (a) linear programming and network flows, (c) NP-completeness and approximation algorithms. We shall spend roughly one half of the semester on each topic. We shall attempt to cover a broad range of commonly faced optimization problems, mostly on graphs, which can be naturally modelled and/or solved using linear programming, network flows, and approximation techniques. In addition to that, students are expected to gain substantial discrete mathematics problem solving skills essential for computer engineers and scientists.

The textbooks are meant mainly for references. We shall cover many topics not covered in the texts. Appropriate lecture notes shall be given.

This course is highly mathematical in nature. One aim is for students to be able to formulate a practical problems mathematically, and find familiar techniques to solve them if possible.

Class Syllabus
Prerequisites: A solid background on basic algorithms. (A formal course like CSE531 suffices.) Ability to read and quickly grasp new discrete mathematics concepts and results. Ability to do rigorous formal proofs.
Teaching staff and related info
  • Instructor
    • Prof. Hung Q. Ngo (
    • Office Hours: Thursdays 1-3pm. 239 Bell Hall. Generally, you could stop by any time if my door is opened. If the door is closed, then either I'm not in or I do not wish to be disturbed. However, please try your best to come during office hours. For questions that other students might potentially be interested in, please use the class news group at sunyab.cse.594, it is also more efficient that way.

Place and Time: Tuesdays & Thursdays 08:00 - 09:20, Clemen 04..

Required Textbook 1: Vijay Vazirani, Approximation Algorithms, Springer-Verlag, 397 pages hardcover, ISBN: 3-540-65367-8, published 2001.

Required Textbook 2: Vašek Chvátal, Linear Programming, W. H. Freeman, 1983; Paperback, 1st ed., 478pp. ISBN: 0716715872 Publisher: W. H. Freeman Company, January 1983

Recommended Reference books:
  • Dorit Hochbaum (Editor), Approximation Algorithms for NP-Hard Problems, Hardcover: 624 pages ; Brooks/Cole Pub Co; ISBN: 0534949681; 1st edition (July 26, 1996)
  • Alexander Schrijver, Theory of Linear and Integer Programming, Paperback, 1st ed., 484pp. ISBN: 0471982326, Wiley, John & Sons, Incorporated, June 1998.
  • Michael R. Garey and David S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, Paperback, 338pp. ISBN: 0716710455, W. H. Freeman Company, November 1990.
  • Ravindra K. Ahuja, Thomas L. Magnanti, and James B. Orlin, Network Flows: Theory, Algorithms, and Applications, Hardcover, 1st ed., 846pp., ISBN: 013617549X, Prentice Hall, February 1993.

Announcements | Schedule | Assignments | Syllabus | Lecture Notes | Helpful Links