Linear programming, sometimes known as linear optimization, is the problem of maximizing or minimizing a linear function over a convex polyhedron specified by linear and non-negativity constraints. Simplistically, linear programming is the optimization of an outcome based on some set of constraints using a linear mathematical model.
Linear programming is implemented in the Wolfram Language as LinearProgramming[c,
m, b], which finds a vector which minimizes
the quantity subject to the constraints and for .
Linear programming theory falls within convex optimization theory and is also considered to be an important part of operations
research. Linear programming is extensively used in business and economics, but
may also be used to solve certain engineering problems.
Examples from economics include Leontief’s input-output model, the determination of shadow prices, etc., an example of a business application would be maximizing profit in a factory that manufactures a number of different products from the same raw material using the same resources, and example engineering applications include Chebyshev approximation and the design of structures (e.g., limit analysis of a planar truss).
Linear programming can be solved using the simplex method (Wood and Dantzig 1949, Dantzig 1949) which runs along polytope
edges of the visualization solid to find the best answer. Khachian (1979) found
time algorithm. A much more efficient polynomial
time algorithm was found by Karmarkar (1984). This
method goes through the middle of the solid (making it a so-called interior
point method), and then transforms and warps. Arguably, interior point methods
were known as early as the 1960s in the form of the barrier function methods, but
the media hype accompanying Karmarkar’s announcement led to these methods receiving
a great deal of attention.
Linear programming in which variables may take on integer values only is known as
In the Season 4 opening episode “Trust Metric” (2007) of the television crime drama NUMB3RS, math genius Charlie
Eppes uses the phrase “you don’t need Karmarkar’s algorithm” to mean “you
don’t need to be a rocket scientist to know….”