Linear programming is a mathematical technique used in a variety of practical fields to maximize the useful output of a process for a given input. This output can be profit, crop yield or the speed of a company's response to a customer's query.
Some railroad companies that also own freight train carriages use linear programming techniques to decide how many carriages to store at a particular location. This is so the supply of carriages matches the demand.
The classic example of the use of linear programming is in agriculture. Here the thing to be maximized is usually profit and the inputs are constraints like the cost of fertilizer for different crops, the amount of land available, the profit margin per unit of a particular crop,and the amount of a particular crop that can be grown per area of land.
Linear programming was originally developed during World War II to plan spending on military activities, so as to reduce the army's costs and increase losses for the enemy. Linear programming remains one of many operational research techniques used by armed forces worldwide.
Another application of linear algebra lies in telecommunications. If there are many telephone calls being transmitted across a multipoint phone line network, linear programming provides a technique to find where it is necessary to build extra capacity.
The design of very large scale integration (VLSI) integrated circuits requires the laying of tracks on a printed circuit board. These tracks must not cross and must be as short as possible. Linear programming is used by VLSI design software to find the optimum layout of conductive tracks.