Linear Programming (also known as Linear Optimization) is a mathematical technique for determining parameters that will produce `the best outcome’ of an objective function. In its simplest form, a linear programming problem can be written as:
where vectors b; c, and matrix A are known already. The goal is to deduce the value for x which minimises cTx whilst adhering to the constraints. Linear Programming is a very powerful means of optimisation and also offers a clear and effective means of adding and removing constraints as required. A linear program is considered infeasible if there is no possible instantiation of x which satisfies all of the constraints at the same time. When the problem is drawn graphically (one axis per unknown), drawing the constraints reveals a convex region which contains all the possible instantiations of the unknowns which satisfy the constraints.