Linear Programming and Combinatorial Optimization (Jointly offered with B. Srivathsan)
		The course aims to cover basics of linear programming, algorithms to find an optimum solution to a linear program, combinatorial optimization 
		and applications of LP
		
		References
		[SV] For initial part, these notes by Prof. Sundar Vishwanathan will be used.
		Evaluation
		There will be two quizzes, midsem and endsem.
		
		Tutorials
		
			- 
				Jan 7: Tutorial 1
 
			- 			Jan 18: Tutorial 2
 
			- 	Feb 8: Tutorial 3
 
		
		
		Lectures
 ([S] and [P] denote lectures by Srivathsan and Prajakta respectively.)
		
			Module 1: Linear programming: Theory and simplex method
			- [S] Jan 2: Introduction, linear algebra basics: Gaussian elimination, vector spaces, subspaces, linear independence, basis, dimension (Ref: Lectures 1-3 from [SV])
 
			- [S] Jan 4: Linear algebra continued: null space of a matrix, rank-nullity theorem (Ref: Lectures 4-6 from [SV])
 
			- [S] Jan 9: Convex sets, extreme points, linear functions (Ref: Lectures 7,8 of [SV])
 
			- [S] Jan 11: Convex combinations, maximization of a linear function over a convex polytope (Ref: Lectures 9,10 of [SV])
 
			- [S] Jan 16: Simplex algorithm and its correctness (Ref: Lectures 11,12 of [SV])
 
			- [S] Jan 28: Duality: geometric interpretation (Ref: Lectures 13, 14 of [SV])
 
			Module 2: Combinatorial optimization
			- [P] Feb 4: Duality from lower bounds, primal-dual algorithm for the shortest paths problem (Ref: Lectures 16 and 22 of [SV])
 
			- [P] Feb 6: Informal introduction to integrality gap, Primal-dual algorithm for minimum 
				spanning trees (Ref: Lectures 20, 21 of [SV])
 
			- [S] Feb 11: Weak and strong duality, complementary slackness
				(Ref: Lecture 15 of [SV])
 
			- [P] Feb 13: Bipartite matchings: Algorithmic proof of König's theorem (Ref)
 
			- [P] Feb 15: Primal-dual algorithm for minimum cost
				perfect matching in bipartite graphs (Ref: Same as in the previous lecture)
 
			- [P] Feb 18: Minimum weight vertex cover: 2-approximation using the primal-dual method (Ref), half-integrality of the
				vertex-cover polytope (Section 3 of this)
 
			
			
Mar 4: Midsem discussion
			- [P] Mar 6: Total unimodularity (Relevant parts from Chapter 19 of Scrijver's book (Theory of linear and integer programming))
 
			- [P] Mar 8: Integrality of non-bipartite matching polytope (LP with odd-set constraints) (Ref)
 
			Module 3: Simplex method: Implementation, and complexity
			- [S] Mar 13: LPs in Equational form, Basic feasible solutions,
If optimal exists, it is obtained from a basic feasible solution
			(Reference:
			Sections 4.1 and 4.2 from book:
			Understanding and using Linear Programming, by Matousek and Gartner (2006 edition)
 
			- [S] Mar 15: Simplex tableau - examples
			Handline Unboundedness
			(Ref: Sections 5.1, 5.2 from Matousek's book)
 
			- [S] Mar 20: 
Exception handing in simplex: Degeneracy and Infeasibility
(Reference: Sections 5.3 and 5.4 from Matousek's book)
 
			- [S] Mar 22: Formalizing the Simplex Tableau, each step gives a valid tableau, Bland's rule for pivoting
(Reference: Sections 5.5 and 5.6)
 
			- [S] Mar 25: Bland's rule continued, Complexity of simplex: Klee-Minty examples
 
			- [S] Mar 27: Farkas' lemma (Chapter 6)
 
			- [S] Mar 29: Farkas' lemma and duality from Farkas' lemma
 
			Module 4: Polynomial-time algorithms for LP
			- [P] Apr 3: Ellipsoid algorithm (Section 7.1 of Matousek's book and these notes)
 
			- [P] Apr 8: Details of ellipsoid algorithm
 
			- [P] Apr 10: Application of ellipsoid algorithm for solving LP with exponentially many constraints and polynomial-time separation oracle: Non-bipartite matching (Reference, also see Section 6.5 of this)
 
			- [P] Apr 15: A brief overview of interior point
				methods (Section 7.2 of Matousek's book), Complexity of ILP (Reference)