LearnViz CompSci
Home / Learn / Math for Computing / Linear Programming

Advanced Topic 38 of 51 Math for Computing

Linear Programming

Optimizing a linear objective under linear constraints.

How it works

Linear programming optimizes a linear objective function subject to linear equality and inequality constraints. The feasible region is a convex polyhedron, and an optimum, if it exists, occurs at a vertex. Standard form maximizes c transpose x subject to Ax at most b and x at least 0. Algorithms include the simplex method, which moves along edges of the polyhedron, and interior-point methods, which travel through the interior and have polynomial worst-case bounds. Duality links each problem to a dual and gives sensitivity information as shadow prices.

Where it is used

Production planning, diet and blending problems, transportation and assignment, network flow, scheduling, portfolio optimization and approximations for hard problems use linear programming.

Common pitfall

Problems may be infeasible or unbounded. Integer requirements make it integer programming, which is NP-hard. Modeling mistakes with wrong units or missing constraints give unrealistic answers. Degeneracy and cycling can occur in simplex implementations. Use mature solvers such as HiGHS, Gurobi and CPLEX, and check results with sensitivity analysis.

Where it fits in the course

Linear Programming is topic 38 of 51 in Math for Computing, rated Advanced. It follows Lagrange Multipliers. The next topic is Simplex Method.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Math for Computing quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Linear Programming?
Optimizing a linear objective under linear constraints. It belongs to Math for Computing and is an advanced-level topic.
Where do people use Linear Programming?
Production planning, diet and blending problems, transportation and assignment, network flow, scheduling, portfolio optimization and approximations for hard problems use linear programming.
What is the most common mistake with Linear Programming?
Problems may be infeasible or unbounded.
What should I learn before this topic?
Start with Lagrange Multipliers, the topic just before it in Math for Computing.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Math for Computing quiz.
Is Linear Programming hard to learn?
It is an Advanced topic. Expect to read the explanation more than once and to connect it with earlier topics. Working through a small example by hand helps most.
How long does it take to learn Linear Programming?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Linear Programming?
Lagrange Multipliers, Simplex Method, Convex Optimization are closely connected. The full list is in the related topics section of this page.
What should I study after Linear Programming?
Continue with Simplex Method, the next topic in Math for Computing.

Related topics