Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Linear Programming basics
Rating: 4.7 out of 5(101 ratings)
13,796 students

Linear Programming basics

Number 1 linear programming course. Learn the simplex method, duality and sensitivity analysis for linear programs
Created byKrunal Patel
Last updated 9/2022
English

What you'll learn

  • Describe what a linear program is.
  • Solve a linear program using graphical and simplex methods.
  • Compute the dual of the given linear program.
  • Use the primal and dual values to prove optimality or infeasibility of the given linear program..
  • Compute how the solution value changes under minor modification of the given linear program.

Course content

5 sections32 lectures3h 6m total length
  • Introduction3:07
  • Example of a linear program3:09
  • Standard Format and Matrix representation7:01

    Convert linear programs to the standard equality format with nonnegative variables, using surplus variables and constraint splitting, and learn shifting for free variables and matrix representation.

  • Types of optimality1:36

    Explain global versus local optimality, identify locally and globally optimal solutions, and compare strict and non-strict optima with relationships that globally optimal implies locally optimal, but not vice versa.

  • Existence of Optimal Solution5:38
  • Convexity6:47
  • Assignment 10:04

Requirements

  • Basic knowledge of linear algebra is required to understand various proofs presented.
  • No programming experience needed.

Description

Linear programming is a widely used optimization tool in various applications (data science, engineering, transportation, supply chain, etc.). Linear programming also makes the basic foundation behind complex optimization tools like Mixed Integer Linear Programming (MILP) and Column generation. In this course, we will study the basic theoretical concepts related to linear programming.


The course is organized as follows. In the first section, we will introduce linear programming, and we will explore the convexity and types of optimalities. Then, in the second section, we will build up on the basics to learn ways to solve the linear program using the simplex method. We will then explore the concept of linear programming duality. We will also go through some of the hardest-to-understand concepts like strong duality, complementary slackness, and Farkas' lemma. Furthermore, we try to understand these concepts in an easy-to-follow way. This allows one to obtain lower bounds on the minimization problem and provide proof of optimality or Infeasibility. In the last section, we will explore how to perform sensitivity analysis (the effects of changing parts of a linear program). At the end of each section, there are assignments to help you evaluate your knowledge.


As you would have noticed, this course doesn't explore modeling optimization problems as a linear program much. That is a separate topic and deserves an entire course on it.


A background in basic linear algebra is needed to understand the proofs. In case you face trouble with any of the lectures or assignments, feel free to reach out to me. I am always eager to help students. You can also schedule office hours from my website once a week (first come, first served) to clear your doubts.

Who this course is for:

  • Students and professionals working with optimization and artificial intelligence.