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
- Open the interactive lesson, with a mini quiz.
- Take the Math for Computing quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- 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?
Where do people use Linear Programming?
What is the most common mistake with Linear Programming?
What should I learn before this topic?
How can I practice it?
Is Linear Programming hard to learn?
How long does it take to learn Linear Programming?
Which topics are related to Linear Programming?
What should I study after Linear Programming?
Related topics
- Lagrange Multipliers (Math for Computing)
- Simplex Method (Math for Computing)
- Convex Optimization (Math for Computing)
- Numerical Methods (Math for Computing)
- Programming Paradigms (Languages & Compilers)
- Linear Search (Algorithms)
- Linear Regression (AI & Machine Learning)