In mathematics, linear programming (LP) problems involve the optimization of a linear objective function, subject to linear equality and inequality constraints.
Put very informally, LP problems determine the way to achieve the best outcome (such as maximum profit or lowest cost) given some list of requirements represented as linear equation.
More formally, given a polytope (for example, a polygon or a polyhedron), and a real-valued affine function
f(x_1, x_2, ..., x_n) = a_1x_1 + a_2x_2 + ... + a_nx_n + b
defined on this polytope, the goal is to find a point in the polytope where this function has the smallest (or largest) value. Such points may not exist, but if they do, searching through the polytope vertices is guaranteed to find at least one of them.
Linear programs are problems that can be expressed in canonical form:
Maximize c^Tx
Subject to Ax <= b
Where x >= 0
x represents the vector of variables, while c and b are vectors of coefficients and A is a matrix of coefficients. The expression to be maximized or minimized is called the objective function (c^Tx in this case). The equations Ax <= b are the constraints which specify a convex polyhedron over which the objective function is to be optimized.
Linear programming can be applied to various fields of study. Most extensively it is used in business and economic situations, but can also be utilized for some engineering problems. Some 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.
Reference:
http://en.wikipedia.org/wiki/Linear_programming