Class Time: TuTh 12:30pm - 1:45pm. CSI 2118.
Overview: The main paradigm in the course will be the design and analysis of algorithms for combinatorial optimization. We will cover problems that can be solved optimally in polynomial time (matchings, flows, min-cost flows) as well as study problems that are NP-hard, and for which we can develop approximation algorithms. I expect that the students are already familiar with the material from CMSC 451 (minimum spanning trees, shortest paths, dynamic programming, NP-completeness etc.). I will spend the first two weeks covering some topics such as flows and matchings that you may or may not be familiar with from an undergraduate algorithms course.
Prerequisites: CMSC 451 (minimum spanning trees, shortest paths, dynamic programming, NP-completeness etc.).
Office Hours: Mon 2-4 p.m.. If you cannot make these hours, please make an appointment to see me at a different time.
Office Hours: Wed 2-4 p.m.. If you cannot make these hours, please make an appointment to see me at a different time.
I will update this page every week during the semester. I will place all homeworks as well as solutions to homeworks here. If you have any trouble accessing them, please let me know.
graph balancing with 2 edge type (arxiv 2016) Graph Balancing with Two Edge Types
graph balancing (soda 2008) Graph balancing: a special case of scheduling unrelated parallel machines
geometry setting: 1.9 hardness. Can it be stronger with outliers? Algorithms for facility location problems with outliers