BUSINESS ANALYTICS • PRESCRIPTIVE ANALYTICS

Linear Programming

A mathematical optimization technique that allocates scarce resources to maximize profit or minimize cost under constraints.

Historical Context & Motivation

Every organization faces the same fundamental challenge: how to make the best use of limited resources. Whether a manufacturer is deciding how many units of each product to produce, or a logistics company is routing shipments across a network of warehouses, decision-makers must navigate a web of constraints—budget caps, labor hours, machine capacities, contractual obligations—while pursuing a clear objective such as maximizing revenue or minimizing total cost. Linear programming (LP) emerged in the mid-twentieth century as the first rigorous, general-purpose framework for solving these resource-allocation problems, and it remains one of the most widely used tools in prescriptive analytics today.

The roots of LP lie in wartime logistics. During World War II, military planners needed systematic methods to schedule training, deploy troops, and allocate supplies across multiple fronts simultaneously. Traditional trial-and-error approaches could not cope with the scale and urgency of these decisions, creating a demand for mathematical techniques that could guarantee optimal or near-optimal solutions under well-defined conditions.

1939
Kantorovich's Allocation Model
Soviet mathematician Leonid Kantorovich formulated an optimization problem for plywood production, introducing the idea of maximizing output subject to linear constraints. His work was largely unknown in the West for decades.
1947
Dantzig's Simplex Method
George B. Dantzig, working for the U.S. Air Force, developed the simplex algorithm—a systematic procedure for moving along the edges of a feasible region to reach the optimal vertex. This became the workhorse algorithm for LP.
1975
Nobel Prize for LP Economics
Leonid Kantorovich and Tjalling Koopmans shared the Nobel Prize in Economics for their contributions to the theory of optimum allocation of resources, underscoring LP's immense practical and theoretical impact.
1984
Karmarkar's Interior-Point Method
Narendra Karmarkar at Bell Labs introduced a polynomial-time interior-point algorithm, providing a powerful alternative to the simplex method for very large-scale problems and spurring renewed research.
2000s–Present
LP in Modern Business Analytics
LP is embedded in enterprise software (e.g., SAP, Oracle), supply-chain platforms, and cloud-based solvers like Gurobi and CPLEX, enabling real-time optimization across industries from airlines to finance.

The central question that linear programming addresses is deceptively simple: given a set of linear relationships among decision variables and constraints, what combination of variable values yields the best possible outcome? Understanding how to frame, solve, and interpret LP models is an essential competency for any business professional engaged in operations, finance, marketing, or strategy.

Core Principles & Definitions

A linear programming model is built from three fundamental components: decision variables that represent the choices available to the decision-maker, an objective function that quantifies the goal (profit to maximize or cost to minimize), and a set of constraints that encode the resource limitations and business rules. The word "linear" means that both the objective function and the constraints are expressed as linear equations or inequalities—no squared terms, no products of variables, and no logarithms.

1

Decision Variables

Unknown quantities the model determines. For example, x₁ might represent units of Product A to produce and x₂ units of Product B. These variables are typically restricted to non-negative values.
2

Objective Function

A linear expression of the decision variables that you wish to maximize or minimize. It might represent total profit, total cost, total revenue, or any other measurable outcome that is linear in the decision variables.
3

Constraints

Linear inequalities (or equalities) that limit the values the decision variables can take. They typically represent resource capacities (labor hours, raw materials, machine time) or minimum requirements (demand targets, regulatory floors).
4

Feasible Region

The set of all points (variable combinations) that satisfy every constraint simultaneously. In two dimensions, this region is a convex polygon; in higher dimensions, it is a convex polytope.
5

Optimal Solution

The point within the feasible region that yields the best (maximum or minimum) value of the objective function. A fundamental theorem guarantees that, if a solution exists, at least one optimal solution lies at a vertex (corner point) of the feasible region.
KEY TAKEAWAY
Think of linear programming like planning the most efficient road trip with a fixed budget and a set of must-visit cities. The decision variables are the routes you could choose, the objective function is minimizing total fuel cost, and the constraints are your budget ceiling and the requirement to visit every city. LP guarantees you the cheapest feasible route among all options—no guessing required.

Graphical Representation of a Two-Variable LP

For problems with two decision variables, linear programming can be solved and understood graphically. Each constraint defines a half-plane in two-dimensional space, and the intersection of all these half-planes forms the feasible region—a convex polygon. The objective function is then represented as a family of parallel lines (called iso-profit lines for maximization or iso-cost lines for minimization), and the optimal solution is found where the most extreme iso-profit line still touches the feasible region. The following diagram illustrates a classic two-variable maximization problem.

The shaded polygon represents the feasible region formed by the intersection of all constraint half-planes and the non-negativity requirements. The dashed violet lines are iso-profit lines for Z = 5x₁ + 4x₂; as we push these lines outward (northeast), the last point of contact with the feasible region is the optimal vertex.

Observe that the optimal solution sits at a vertex of the polygon, not in its interior or along an edge. This is not a coincidence; the Fundamental Theorem of Linear Programming states that if a linear program has a bounded optimal value, then at least one optimal solution occurs at a corner point (vertex) of the feasible region. This property is what makes LP computationally tractable: instead of searching an infinite set of points, we need only evaluate a finite number of vertices.

Mathematical Framework

A general linear programming model can be expressed in standard form using compact mathematical notation. Understanding this notation is critical for translating a real-world business scenario into a solvable model and for interpreting the output from optimization software.

OBJECTIVE FUNCTION
Maximize (or Minimize) Z = c₁x₁ + c₂x₂ + ··· + cₙxₙ
Z is the objective value (e.g., total profit or total cost). Each cⱼ is the per-unit contribution of decision variable xⱼ to the objective.
STRUCTURAL CONSTRAINTS
a₁₁x₁ + a₁₂x₂ + ··· + a₁ₙxₙ ≤ b₁ a₂₁x₁ + a₂₂x₂ + ··· + a₂ₙxₙ ≤ b₂ ⋮ aₘ₁x₁ + aₘ₂x₂ + ··· + aₘₙxₙ ≤ bₘ
Each constraint i represents a resource limitation. The coefficient aᵢⱼ indicates how much of resource i is consumed per unit of variable xⱼ, and bᵢ is the total available quantity of resource i. Constraints may also be ≥ or = depending on the problem.
NON-NEGATIVITY RESTRICTIONS
x₁, x₂, …, xₙ ≥ 0
Decision variables cannot be negative in most business contexts—you cannot produce a negative number of units or ship a negative quantity.

In matrix notation, the LP can be written as: Maximize Z = cᵀx subject to Ax ≤ b and x ≥ 0, where c is the coefficient vector of the objective, A is the constraint coefficient matrix, b is the right-hand-side vector, and x is the vector of decision variables. This compact formulation is what solvers like Excel Solver, Gurobi, and CPLEX accept as input.

ℹ️ Assumptions of Linearity
LP assumes proportionality (doubling a variable doubles its contribution), additivity (total effect equals the sum of individual effects), divisibility (variables can take fractional values), and certainty (all coefficients are known constants). If any assumption is violated, extensions such as integer programming or stochastic programming may be needed.

Solution Methods & the Simplex Algorithm

While the graphical method is intuitive for two-variable problems, real business problems routinely involve hundreds or thousands of decision variables. The simplex algorithm is the most widely taught and historically significant method for solving LP problems of any size. It operates by moving from one vertex of the feasible region to an adjacent vertex that improves the objective function, repeating until no further improvement is possible. The algorithm is remarkably efficient in practice, typically solving problems in a number of iterations roughly proportional to the number of constraints, even though its worst-case theoretical complexity is exponential.

The simplex algorithm begins at an initial feasible vertex (yellow dot) and traverses edges of the feasible polytope, always moving to an adjacent vertex with a higher objective value. The process terminates at the optimal vertex (purple circle) where no neighboring vertex offers an improvement.

Beyond the simplex method, two other solution approaches are worth noting. The graphical method (useful for two-variable problems in textbook settings) involves plotting constraints, identifying the feasible region, and evaluating the objective at each corner point. Interior-point methods take a fundamentally different approach: rather than walking along edges, they travel through the interior of the feasible region along a carefully computed path. Interior-point methods have polynomial worst-case complexity and often outperform simplex on very large, sparse problems encountered in telecommunications, energy, and financial portfolio optimization.

Comparison of three LP solution methods
MethodBest ForKey Idea
Graphical2-variable problems; teaching intuitionPlot constraints, identify corner points, evaluate Z at each
SimplexGeneral LP; most practical problemsHop along vertices of the feasible polytope, improving Z at each step
Interior-PointVery large, sparse problemsTraverse the interior of the feasible region along a central path to the optimum

Worked Example: Product Mix Optimization

Consider a furniture company that manufactures two products: tables and chairs. Each table generates $70 in profit and each chair generates $50. Production is limited by two resources: carpentry hours (240 hours available per week) and finishing hours (100 hours available per week). Each table requires 4 hours of carpentry and 2 hours of finishing; each chair requires 3 hours of carpentry and 1 hour of finishing. How many tables and chairs should the company produce each week to maximize profit?

Product Mix LP — Step-by-Step
1
Step 1 — Define Decision VariablesLet x₁ = number of tables produced per week and x₂ = number of chairs produced per week.
2
Step 2 — Formulate the Objective FunctionMaximize Z = 70x₁ + 50x₂, where Z represents total weekly profit in dollars.
3
Step 3 — Write the ConstraintsCarpentry: 4x₁ + 3x₂ ≤ 240. Finishing: 2x₁ + x₂ ≤ 100. Non-negativity: x₁ ≥ 0, x₂ ≥ 0.
4
Step 4 — Identify Corner PointsPlot the constraints and find the vertices of the feasible region. The corner points are: (0, 0), (50, 0), (30, 40), and (0, 80). For example, the intersection of 4x₁ + 3x₂ = 240 and 2x₁ + x₂ = 100 is found by solving the system: multiply the second equation by 3 to get 6x₁ + 3x₂ = 300, subtract the first to get 2x₁ = 60, so x₁ = 30 and x₂ = 100 − 2(30) = 40.
Corner points: (0, 0), (50, 0), (30, 40), (0, 80)
5
Step 5 — Evaluate Objective at Each CornerZ(0, 0) = $0. Z(50, 0) = 70(50) + 50(0) = $3,500. Z(30, 40) = 70(30) + 50(40) = $2,100 + $2,000 = $4,100. Z(0, 80) = 70(0) + 50(80) = $4,000.
Maximum profit = $4,100 at (x₁, x₂) = (30, 40)
6
Step 6 — Interpret the SolutionThe company should produce 30 tables and 40 chairs per week. This uses 4(30) + 3(40) = 240 carpentry hours (fully utilized) and 2(30) + 1(40) = 100 finishing hours (also fully utilized). Both resources are binding constraints with zero slack, meaning any additional hour of either resource would increase profit.
Optimal plan: 30 tables, 40 chairs → $4,100 weekly profit

Strengths, Limitations, and Sensitivity Analysis

Linear programming is one of the most powerful and widely adopted tools in prescriptive analytics, but like any modeling framework, it has inherent strengths and limitations that practitioners must understand. Equally important is sensitivity analysis—the post-optimality investigation of how the optimal solution changes when input parameters (objective coefficients, constraint right-hand sides) vary. In business contexts, sensitivity analysis often provides more actionable insight than the optimal solution itself, because it reveals which constraints are driving profitability and where additional investment would yield the greatest return.

Strengths and limitations of linear programming in business applications
StrengthsLimitations
Guaranteed global optimum—no risk of getting stuck at a local maximum or minimumAssumes linearity—relationships must be proportional and additive, which excludes economies of scale and interaction effects
Computationally efficient—modern solvers handle millions of variables and constraintsAssumes divisibility—decision variables are continuous; integer requirements need integer programming (IP)
Rich duality theory—provides shadow prices that quantify the marginal value of each resourceAssumes certainty—all coefficients are known precisely; real-world data often contains uncertainty
Widely supported—available in Excel Solver, Python (PuLP, SciPy), R, AMPL, and enterprise platformsSingle objective—LP optimizes one objective; multi-goal decisions require goal programming or multi-objective extensions
KEY TAKEAWAY
Think of sensitivity analysis as a stress test for your optimal plan. Just as a financial analyst models how portfolio returns change with interest rate shifts, an LP analyst examines shadow prices (the dollar improvement in Z per additional unit of a scarce resource) and allowable ranges (how much a coefficient can change before the current optimal basis shifts). These outputs transform a static solution into a dynamic decision-support tool.

Connection to Advanced Optimization Models

Linear programming serves as the foundational building block for a family of more advanced optimization techniques. When decision variables must take integer or binary values—as in facility location, crew scheduling, or capital budgeting—the problem becomes an integer linear program (ILP). When the objective or constraints involve nonlinear terms (e.g., quadratic portfolio variance), the problem extends into nonlinear programming (NLP). Understanding LP deeply equips you to recognize when a business problem fits the LP mold—and when a more complex formulation is needed.

LP compared to more advanced optimization paradigms
FeatureLinear Programming (LP)Integer Programming (IP)Nonlinear Programming (NLP)
VariablesContinuous (any real number ≥ 0)Integer or binary (0/1)Continuous
Objective & ConstraintsAll linearLinear with integrality requirementsMay include quadratic, exponential, or other nonlinear terms
Solution GuaranteeGlobal optimum in polynomial practical timeGlobal optimum, but NP-hard—can be slowLocal optimum only (unless convex)
Business ExampleProduct mix, blending, transportationFacility location, project selection, schedulingPortfolio optimization, pricing with demand curves

As you progress in business analytics, you will encounter problems that blend these paradigms—mixed-integer linear programs (MILPs) that combine continuous and integer variables, or stochastic programming models that incorporate uncertainty via probability distributions. In every case, the LP relaxation—dropping the integrality or nonlinear terms—provides a bound on the true optimal value, making LP theory indispensable even when the final model is non-linear or integer-constrained.

Practice Problems

PROBLEM 1CONCEPTUAL
Explain why the Fundamental Theorem of Linear Programming guarantees that an optimal solution, if one exists, occurs at a vertex of the feasible region rather than in its interior. What property of the objective function and the feasible region makes this true?
PROBLEM 2BASIC CALCULATION
A bakery makes croissants (x₁) and muffins (x₂). Each croissant yields $3 profit; each muffin yields $2. Oven capacity allows 4x₁ + 2x₂ ≤ 120 and labor limits are 2x₁ + 3x₂ ≤ 90, with x₁, x₂ ≥ 0. Find all corner points of the feasible region and determine the product mix that maximizes profit.
PROBLEM 3INTERMEDIATE
A logistics firm must ship goods from two warehouses (W1, W2) to two retail stores (S1, S2). Supply at W1 is 300 units, at W2 is 200 units. Demand at S1 is 250 units, at S2 is 250 units. Shipping costs per unit are: W1→S1 = $4, W1→S2 = $6, W2→S1 = $5, W2→S2 = $3. Formulate a linear program to minimize total shipping cost.
PROBLEM 4APPLIED
A financial advisor allocates a client's $500,000 portfolio between stocks (x₁) and bonds (x₂). Expected annual returns are 12% for stocks and 5% for bonds. Regulatory and risk constraints require: at least 30% in bonds (x₂ ≥ 150,000), no more than 70% in stocks (x₁ ≤ 350,000), and total allocation equals the full portfolio (x₁ + x₂ = 500,000). Formulate and solve this LP. What is the shadow price of the bond-minimum constraint?
PROBLEM 5CRITICAL THINKING
A manufacturing firm's LP model for weekly production shows that the shadow price for machine hours is $18/hour and the shadow price for skilled labor is $0/hour. The allowable increase for machine hours is 40 hours and the current availability is 200 hours. Management can either (a) lease additional machine capacity at $12/hour for up to 30 extra hours, or (b) hire a temporary skilled worker adding 20 labor hours at $15/hour. Which option creates more value, and why? Discuss any caveats regarding the range of validity.

Linear Programming — Summary

Linear programming is a prescriptive analytics technique that finds the optimal value of a linear objective function subject to a set of linear constraints. The model is built from three components: decision variables representing choices, an objective function quantifying the goal, and constraints encoding resource limitations. The feasible region—the set of all points satisfying every constraint—is a convex polytope, and the Fundamental Theorem of LP guarantees that at least one optimal solution lies at a vertex of this region.

The simplex algorithm efficiently traverses vertices to find the optimum, while interior-point methods offer a polynomial-time alternative for very large problems. Post-optimality, sensitivity analysis reveals shadow prices and allowable ranges that transform the solution into actionable business intelligence. LP's assumptions of linearity, divisibility, and certainty mean that some real-world problems require extensions to integer programming, nonlinear programming, or stochastic programming—but in every case, LP theory provides the analytical foundation.

Varsity Tutors • Business Analytics • Linear Programming