Linear programming (LP) is a mathematical method for determining a way to achieve the best outcome (such as maximum profit or lowest cost) in a given mathematical model for some list of requirements represented as linear equations.

More formally, linear programming is a technique for the optimization of a linear objective function, subject to linear equality and linear inequality constraints. Given a polyhedron and a real-valued affine function defined on this polyhedron, a linear programming method will find a point on the polyhedron where this function has the smallest (or largest) value if such point exists, by searching through the polyhedron vertices.

Linear programs are problems that can be expressed in canonical form:

Maximize

Subject to

where represents the vector of variables (to be determined), and are vectors of (known) coefficients and is a (known) matrix of coefficients. The expression to be maximized or minimized is called the objective function ( in this case). The equations are the constraints which specify a convex polytope over which the objective function is to be optimized.

Linear programming can be applied to various fields of study. It is used most extensively in business and economics, but can also be utilized for some engineering problems. Industries that use linear programming models include transportation, energy, telecommunications, and manufacturing. It has proved useful in modeling diverse types of problems in planning, routing, scheduling, assignment, and design.