X

Linear programming and its applications to computer science

By Prof. Rajat Mittal   |   IIT Kanpur
Learners enrolled: 768   |  Exam registration: 6
ABOUT THE COURSE:
Linear programming is a special class of mathematical optimization problems where the constraints as well as the cost function is linear. This class of problems have known efficient algorithms, deep structural properties and wide applications in various fields.
In this course we not only introduce and learn about linear programming, but also see its uses in different areas of computer science (algorithms, algorithmic game theory, theoretical computer science, machine learning).

INTENDED AUDIENCE: Senior undergraduate (3rd or 4th year) and masters/phd students in CSE

PREREQUISITES: Linear algebra

Summary
Course Status : Upcoming
Course Type : Elective
Language for course content : English
Duration : 8 weeks
Category :
  • Computer Science and Engineering
  • Data Science
Credit Points : 2
Level : Undergraduate/Postgraduate
Start Date : 17 Feb 2025
End Date : 11 Apr 2025
Enrollment Ends : 17 Feb 2025
Exam Registration Ends : 24 Feb 2025
Exam Date : 03 May 2025 IST

Note: This exam date is subject to change based on seat availability. You can check final exam date on your hall ticket.


Page Visits



Course layout

Week 1:  After talking about the motivation behind studying linear programming, we will move to the basics of liner algebra. In particular, we will cover Gaussian elimination, rank-nullity, column space-row space duality. The definition and basics of linear programming will be covered.

The other part of the background will cover the basics of linear and affine combinations, convex sets, cones and polyhedras; essential to understand the structure behind convex optimization and motivate why so many special cases of it can be solved efficiently. This will lead to simplex algorithm.(Contd)

Week 2: After talking about the motivation behind studying linear programming, we will move to the basics of liner algebra. In particular, we will cover Gaussian elimination, rank-nullity, column space-row space duality. The definition and basics of linear programming will be covered.

The other part of the background will cover the basics of linear and affine combinations, convex sets, cones and polyhedras; essential to understand the structure behind convex optimization and motivate why so many special cases of it can be solved efficiently. This will lead to simplex algorithm.(Contd)

Week 3: After talking about the motivation behind studying linear programming, we will move to the basics of liner algebra. In particular, we will cover Gaussian elimination, rank-nullity, column space-row space duality. The definition and basics of linear programming will be covered.

The other part of the background will cover the basics of linear and affine combinations, convex sets, cones and polyhedras; essential to understand the structure behind convex optimization and motivate why so many special cases of it can be solved efficiently. This will lead to simplex algorithm.

Week 4: This module will start with hyperplane separation theorems. Duality theory, one of the main reasons why linear programming has so many applications, will be covered in detail.

As an application of strong duality, we will start with Von Neumann’s minimax theorem. The minimax theorem will be used to show the existence of Nash equilibria (from John Nash of “a beautiful mind”); we will also cover Yao’s technique to give lower bounds in communication complexity setting. (Contd)

Week 5: This module will start with hyperplane separation theorems. Duality theory, one of the main reasons why linear programming has so many applications, will be covered in detail.

As an application of strong duality, we will start with Von Neumann’s minimax theorem. The minimax theorem will be used to show the existence of Nash equilibria (from John Nash of “a beautiful mind”); we will also cover Yao’s technique to give lower bounds in communication complexity setting.

Week 6: The relation between primal and dual can be used to show the famous max flow-min cut theorem. We will discuss primal-dual methods too, this will allow us to develop an algorithm for the max flow problem.

Week 7: In many instance, the quantity in focus does not turn out to be a linear program, instead it is modeled as a integer linear program (ILP). We will introduce the concept of relaxation of a linear program. The concept of relaxation and its rounding will be used to give approximation algorithm for set cover problem.

Week 8: We will discuss some applications of linear programming in machine learning. In particular, tasks like linear regression and classification will be approached with linear programming tools.

If time permits, we will see other applications (like in the area of Boolean functions) of linear programming and possible extensions.

Books and references

Linear algebra and its applications, Gilbert Strang.
Convex optimization, Boyd and Vandenberghe.
Linear programming, Dantzig and Thapa.
Linear programming, Vasek Chvatal.

Instructor bio

Prof. Rajat Mittal

IIT Kanpur
Prof. Rajat Mittal is an associate professor at IIT Kanpur. He finished his PhD from Rutgers University and worked as a postdoctoral fellow at the Institute for Quantum Computing (Waterloo, Canada) for three years. He is interested in exploring the advantages as well as limits of quantum computing over classical computers using tools like linear/semidefinite programming and Fourier analysis.
He has received “1989 Batch faculty teaching award for innovation in teaching 2021” and “Excellence in teaching award 2019, IIT Kanpur”.

Course certificate

The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
Date and Time of Exams: May 3, 2025 Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
Registration url: Announcements will be made when the registration form is open for registrations.
The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.

CRITERIA TO GET A CERTIFICATE

Average assignment score = 25% of average of best 6 assignments out of the total 8 assignments given in the course.
Exam score = 75% of the proctored certification exam score out of 100

Final score = Average assignment score + Exam score

Please note that assignments encompass all types (including quizzes, programming tasks, and essay submissions) available in the specific week.

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.

Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Kanpur .It will be e-verifiable at nptel.ac.in/noc.

Only the e-certificate will be made available. Hard copies will not be dispatched.

Once again, thanks for your interest in our online courses and certification. Happy learning.

- NPTEL team


MHRD logo Swayam logo

DOWNLOAD APP

Goto google play store

FOLLOW US