Linear programming (LP), also known as linear optimization, is a mathematical method used to achieve the best outcome—such as maximum profit or minimum cost—in a model whose relationships are linear. It is a key technique within mathematical optimization, widely applied in fields like economics, engineering, and operations research.
Formally, linear programming involves optimizing a linear objective function, subject to linear equality and inequality constraints. The feasible solutions form a convex polytope, and the optimal solution lies at one of its vertices.
A standard form of a linear programming problem can be expressed as:
Maximize:
cᵀx
Subject to:
Ax ≤ b, and x ≥ 0
where x represents the decision variables, c is the coefficient vector for the objective function, A is the constraint matrix, and b is the constraint vector.
Historical Background
The origins of linear programming trace back to Joseph Fourier (1827), who introduced methods for solving systems of linear inequalities. The modern development of LP began in the 1930s, when Leonid Kantorovich in the Soviet Union and Wassily Leontief in the United States explored its applications to resource allocation and economics.
The method gained importance during World War II, where it was used for logistics, transportation, and military resource planning. However, it was George Dantzig who, in 1947, formulated the general LP model and invented the Simplex algorithm, which efficiently solved large-scale optimization problems.
Later developments included duality theory (established with John von Neumann) and the discovery of polynomial-time algorithms such as Khachiyan’s Ellipsoid method (1979) and Karmarkar’s interior-point method (1984), which expanded LP’s computational feasibility.
Applications of Linear Programming
Linear programming has extensive applications across diverse fields:
- Business and Economics: Used for production scheduling, supply chain optimization, portfolio management, and resource allocation.
- Engineering: Helps in design optimization, energy distribution, and network planning.
- Transportation and Logistics: Applied in routing, scheduling, and capacity planning for airlines, shipping, and supply networks.
- Telecommunications: Optimizes bandwidth allocation and signal routing.
- Data Science: Used in machine learning models and statistical estimation through optimization formulations.
Even companies like Google have applied LP to enhance computational processes, such as stabilizing video rendering on YouTube.
Mathematical Structure and Standard Form
A linear programming model consists of:
- Objective Function: The goal to maximize or minimize, e.g. profit, efficiency, or production.
f(x₁, x₂) = c₁x₁ + c₂x₂ - Constraints: Linear inequalities defining feasible boundaries, such as resource limits.
a₁₁x₁ + a₁₂x₂ ≤ b₁ a₂₁x₁ + a₂₂x₂ ≤ b₂ x₁, x₂ ≥ 0 - Feasible Region: The convex polytope where all constraints are satisfied. The optimal point always lies on one of its vertices.
Illustrative Example
A farmer’s optimization problem can illustrate linear programming principles. Suppose a farmer has limited land, fertilizer, and pesticide to grow wheat and barley. Each crop requires specific amounts of these resources and yields certain profits.
To maximize revenue, the farmer sets up a linear programming problem:
Maximize:
S₁x₁ + S₂x₂
Subject to:
x₁ + x₂ ≤ L
F₁x₁ + F₂x₂ ≤ F
P₁x₁ + P₂x₂ ≤ P
x₁, x₂ ≥ 0
Here, x₁ and x₂ represent hectares of wheat and barley, S₁ and S₂ are their respective profits, and L, F, P are available land, fertilizer, and pesticide.
Duality and Complementary Slackness
Every LP problem, known as a primal, has an associated dual problem that provides upper or lower bounds to the optimal solution.
- Primal: Maximize cᵀx subject to Ax ≤ b, x ≥ 0
- Dual: Minimize bᵀy subject to Aᵀy ≥ c, y ≥ 0
Duality theory guarantees that both problems share the same optimal value under certain conditions. The Complementary Slackness Theorem provides conditions under which primal and dual solutions are optimal, emphasizing economic interpretations such as resource valuation and scarcity.
Algorithms and Solution Methods
Linear programming problems are solved through various computational methods:
- Simplex Algorithm (Dantzig, 1947): Traverses vertices of the feasible region until an optimum is reached. Despite exponential theoretical complexity, it performs efficiently in practice.
- Interior-Point Methods (Karmarkar, 1984): Move through the interior of the feasible region using projective transformations, offering polynomial-time performance.
- Ellipsoid Method (Khachiyan, 1979): The first algorithm to prove LP solvable in polynomial time.
- Criss-Cross Algorithm: Explores feasible and infeasible bases, ensuring global convergence.
- Modern Hybrid Approaches: Combine simplex and interior methods, leveraging computational advances for large-scale problems.
Extensions and Variants
- Integer Programming (IP): Requires variables to be integers; classified as NP-hard.
- Mixed-Integer Programming (MIP): Some variables are integers while others are continuous.
- Quadratic Programming (QP): Involves quadratic objective functions but linear constraints.
- Multi-Objective Linear Programming: Optimizes several objectives simultaneously.
These extensions are crucial in industries where decisions involve discrete units, such as scheduling, logistics, and financial planning.
Existence and Nature of Solutions
A linear program may be:
- Feasible: Has at least one point satisfying all constraints.
- Infeasible: No possible solutions meet all constraints.
- Unbounded: The objective function can increase indefinitely.
When feasible and bounded, the optimal solution always lies on the boundary of the feasible polytope, often at a vertex—a property exploited by the simplex algorithm.
Solvers and Software
Several open-source and proprietary solvers are available for implementing linear programming models:
- Open-Source:
- GLOP (Google)
- GLPK (GNU Linear Programming Kit)
- Pyomo, JuMP, SCIP
- Commercial Solvers:
- CPLEX
- Gurobi Optimizer
- XPRESS
- MATLAB (Optimization Toolbox)
These tools are used in research, education, and large-scale industrial optimization systems.
Open Problems and Modern Research
Despite vast progress, several open questions remain:
- Does a strongly polynomial-time algorithm exist for LP?
- Can all simplex variants achieve polynomial-time performance?
- Do all polytopal graphs have bounded diameter?
These questions remain at the heart of computational optimization and theoretical computer science, influencing how future algorithms for linear programming will evolve.





