It is well-known that most combinatorial and geometric optimization problems arising out of real world scenarios turn out to be NP-hard. From computational complexity theory, we know that it is impossible to design efficient algorithms for solving such problems exactly unless P=NP, which is very unlikely to be the case. This does not obviate the need for designing efficient polynomial time algorithms for these problems. However, we may relax the stringent requirement of computing an exact optimal solution. In practice, it serves our purpose well enough if we can obtain a near optimal solution instead of an exact optimal, especially when the former can be computed much faster. This results in the notion of the “approximate” solution of an optimization problem. As a computer scientist and engineer, it is often worthwhile to focus on designing efficient algorithms that output an approximate solution, but at the same time provide a relative performance guarantee that the value of the solution is within some factor (this factor is called the “approximation ratio”) of the optimal value.
In the same spirit of approximation ratios, the performance of an online algorithm is measured in terms of “competitive ratios”. Many algorithmic problems that arise in practice are of online nature. In these problems, the input is only partially available because some relevant input arrives only in future, and ia not available at the time of making certain decisions. An online algorithm must generate output without the knowledge of the entire input.
Introduction and performance measures.
Greedy Algorithms and Local Search: graph algorithms, job scheduling algorithms, set cover, combinatorial problems such as bin packing and knapsack etc., and geometric problems.
Rounding Data and Dynamic Programming: Approximation Schemes for knapsack, binpacking and scheduling problems.
Deterministic Rounding of Linear Programs: Scheduling, facility location and optimization problems such as bin packing.
The Primal-dual Method: Set cover, vertex cover and weighted vertex cover, etc.
Online algorithmsCompetitive analysis of online algorithms; The Paging Problem; Amortized analysis of online algorithms; The List Update Problem; Problems of searching for a target in a bounded or an unbounded region; Online graph coloring; the K-server problem; online scheduling algorithms.
(a) graph algorithms [4 hrs] (b) job scheduling algorithms [2 hours] (c) set cover [1 hour] (d) combinatorial problems such as bin packing and knapsack etc. [4 hours] and (e) geometric problems [2 hours].
Class Coverage (Last modified on April 13, 2024)
CS60023 - 2024 (Last modified on April 14, 2024)
Randomized and deterministic construction of epsilon nets
Approximation and online algorithms: CS60023: Spring 2020
Assignment-1- Deadline: Jan 22, 2024, 5pm
Assignment-2- Deadline: Jan 29, 2024, 5pm
Assignment-3- Deadline: Mar 11, 2024, 5pm
Two class tests will be conducted for this course.