Linear programming focuses on solving optimization problems with a linear objective function subject to linear constraints.
Programming here means planning or scheduling, not computer programming. The term predates modern computing: the US military used “program” for a training or logistics schedule, and George Dantzig, who developed the simplex algorithm in 1947, called his method “programming in a linear structure” to describe planning resource allocation under constraints.
Decision Variable
A quantity () whose value is chosen by the solver to optimize the objective. The vector is determined by solving the LP.
Linear Objective Function
A function with , to be maximized or minimized. Linear in the .
Linear Constraint
A linear inequality or equality restricting , of the form
- Structural constraint
Limits imposed by resources, demand, or policy. - Non-negativity constraint
for every decision variable. Negative quantities are not physically meaningful. - Bound constraint
Fixes an upper or lower limit on a single variable.
Types by direction:
- Less than or equal to ()
Caps usage, common for limited resources. - Greater than or equal to ()
Enforces a minimum, common for demand or quality requirements. - Equal to ()
Forces exact equality, common for balance conditions.
Linear Program
A linear program is an optimization problem with a linear objective function subject to linear constraints. With variables and constraints:
In matrix form, with , , :
- : decision variables
- : objective coefficients
- : constraint coefficients
- : constraint bounds
To solve a linear program:
- Identify decision variables
- Express the objective and constraints as linear functions
- Use a linear programming solver to find the optimal solution
Standard Model Types
A standard model type is a recurring pattern of variables, objective, and constraints for building a linear program.
- Product mix
Maximize profit from products under limited resources. - Blending
Minimize cost of mixing ingredients into a product meeting quality specs.- Diet
Special case of blending. Minimize food cost subject to minimum nutrient requirements.
- Diet
- Transportation
Minimize shipping cost of one commodity from supply points to fixed demand points.- Assignment
Special case of transportation with unit supply and demand. Minimize cost of assigning agents to tasks, one-to-one.
- Assignment
- Transshipment
Minimize shipping cost when goods pass through intermediate nodes instead of direct supply-to-demand routes.
Choosing Between Models
LP requires linear relationships, a single objective, no time-staging, and no integrality restriction. Use instead:
- Nonlinear programming
Relationships aren’t linear. - Pure integer programming
Every variable must be an integer. - Mixed integer linear programming
Only some variables must be integers. - Goal programming
Multiple competing objectives balanced against targets. - Dynamic programming
Sequential, stage-based decisions where one stage affects later ones.