- Key People:
- George Dantzig
- Related Topics:
- linear programming
simplex method
-
What is linear programming?
Linear programming is a mathematical technique to determine the optimal outcome of a linear function under constraints. It is often used to maximize profits or minimize costs in business, engineering, and other quantitative disciplines.
The simplex method is a standard technique in linear programming that solves an optimization problem, which typically involves a function and several constraints expressed as inequalities. The inequalities define a polygonal region, and the solution is typically at one of the vertices. The simplex method is a systematic procedure for testing the vertices as possible solutions.
3 Britannica SourcesCreated from Britannica articles using AI. AI can make mistakes, so verify using Britannica articles. -
What kinds of problems can linear programming solve?
Linear programming is a mathematical modeling technique used to maximize or minimize a linear function subject to constraints. It's valuable for making quantitative decisions in business planning, industrial engineering, and to some extent, the social and physical sciences.
Linear programming can address resource allocation problems, particularly in industrial production systems. Industries use linear programming techniques for optimizing tasks such as oil and chemical refinery blending, vendor selection, determining shipping routes and schedules, and managing truck fleets. The simplex method is a standard algorithm for solving these optimization problems.
3 Britannica SourcesCreated from Britannica articles using AI. AI can make mistakes, so verify using Britannica articles. -
What is the simplex method?
The simplex method is a standard technique in linear programming used to solve optimization problems with a function and constraints expressed as inequalities. These inequalities define a polygonal region, with the solution typically found at one of the vertices.
Devised in 1947 by George Dantzig, it is an efficient algorithm that systematically tests vertices to find the optimal solution. The method starts with a known extreme point and algebraically tests it for optimality. If the test fails, it seeks an adjacent extreme point along an edge that increases the objective function's value. The process repeats until an optimal extreme point is found or the objective function increases without bound.
2 Britannica SourcesCreated from Britannica articles using AI. AI can make mistakes, so verify using Britannica articles. -
How does the simplex method find the best solution?
The simplex method is a standard technique in linear programming that solves an optimization problem with a function and constraints expressed as inequalities. The method systematically tests vertices of a polygonal region defined by the inequalities to find a solution. It begins with an extreme point and algebraically tests it for optimality. If the test fails, the method searches for an adjacent extreme point along an edge where the objective function increases most rapidly. The process repeats until an optimal extreme point is found or the objective function increases without bound, indicating no solution.
2 Britannica SourcesCreated from Britannica articles using AI. AI can make mistakes, so verify using Britannica articles. -
What are constraints and variables in the simplex method?
In the simplex method, a standard technique in linear programming, constraints are restrictions expressed as inequalities that limit the values of the variables. These constraints define a feasible region within which the solution must lie.
Variables are the quantities that can be manipulated to optimize the objective function, which is the linear expression to be maximized or minimized. The goal of the simplex method is to find the values of these variables that result in the optimal value of the objective function, while satisfying all the constraints. Slack variables are sometimes added to convert inequality constraints into equalities, putting the problem into canonical form for easier solving.
3 Britannica SourcesCreated from Britannica articles using AI. AI can make mistakes, so verify using Britannica articles. -
Why is the simplex method important in real-world applications?
The simplex method is a standard and efficient algorithm in linear programming for solving optimization problems with constraints. Developed in 1947 by George Dantzig, it systematically tests vertices of a polygonal region defined by inequalities to find the optimal solution. It is still the standard method employed on computers to solve optimization problems.
The method involves identifying an extreme point, testing it for optimality, and, if necessary, moving to an adjacent extreme point to improve the objective function. This process repeats until an optimal extreme point is found or the objective function increases without bound.
1 Britannica SourceCreated from Britannica articles using AI. AI can make mistakes, so verify using Britannica articles.
simplex method, standard technique in linear programming for solving an optimization problem, typically one involving a function and several constraints expressed as inequalities. The inequalities define a polygonal region, and the solution is typically at one of the vertices. The simplex method is a systematic procedure for testing the vertices as possible solutions.
Some simple optimization problems can be solved by drawing the constraints on a graph. However, this method is useful only for systems of inequalities involving two variables. In practice, problems often involve hundreds of equations with thousands of variables, which can result in an astronomical number of extreme points. In 1947 George Dantzig, a mathematical adviser for the U.S. Air Force, devised the simplex method to restrict the number of extreme points that have to be examined. The simplex method is one of the most useful and efficient algorithms ever invented, and it is still the standard method employed on computers to solve optimization problems.
First, the method assumes that an extreme point is known. (If no extreme point is given, a variant of the simplex method, called Phase I, is used to find one or to determine that there are no feasible solutions.) Next, using an algebraic specification of the problem, a test determines whether that extreme point is optimal. If the test for optimality is not passed, an adjacent extreme point is sought along an edge in the direction for which the value of the objective function increases at the fastest rate. Sometimes one can move along an edge and make the objective function value increase without bound. If this occurs, the procedure terminates with a prescription of the edge along which the objective goes to positive infinity. If not, a new extreme point is reached having at least as high an objective function value as its predecessor. The sequence described is then repeated. Termination occurs when an optimal extreme point is found or the unbounded case occurs. Although in principle the necessary steps may grow exponentially with the number of extreme points, in practice the method typically converges on the optimal solution in a number of steps that is only a small multiple of the number of extreme points.
To illustrate the simplex method, consider the example of a factory producing two products, x1 and x2. If the profit on the second type is twice that on the first, then x1 + 2x2 represents the total profit. The function x1 + 2x2 is known as the objective function.
Clearly, the profit will be highest if the factory devotes its entire production capacity to making the second type of commodity. In a practical situation, however, this may not be possible; a set of constraints is introduced by such factors as availability of machine time, labour, and raw materials. For example, if the second type of commodity requires a raw material that is limited so that no more than five can be made in any batch, then x2 must be less than or equal to five; i.e., x2 ≤ 5. If the first commodity requires another type of material limiting it to eight per batch, then x1 ≤ 8. If x1 and x2 take equal time to make and the machine time available allows a maximum of 10 to be made in a batch, then x1 + x2 must be less than or equal to 10; i.e., x1 + x2 ≤ 10.
Two other constraints are that x1 and x2 must each be greater than or equal to zero, because it is impossible to make a negative number of either; i.e., x1 ≥ 0 and x2 ≥ 0. The problem is to find the values of x1 and x2 for which the profit is a maximum. Any solution can be denoted by a pair of numbers (x1, x2); for example, if x1 = 3 and x2 = 6, the solution is (3, 6). These numbers can be represented by points plotted on two axes, as shown in the . On this graph the distance along the horizontal axis represents x1 and that along the vertical represents x2. Because of the constraints given above, the feasible solutions must lie within a certain well-defined region of the graph. For example, the constraint x1 ≥ 0 means that points representing feasible solutions lie on or to the right of the x2 axis. Similarly, the constraint x2 ≥ 0 means that they also lie on or above the x1 axis. Application of the entire set of constraints gives the feasible solution set, which is bounded by a polygon formed by the intersection of the lines x1 = 0, x2 = 0, x1 = 8, x2 = 5, and x1 + x2 = 10. For example, production of three items of commodity x1 and four of x2 is a feasible solution since the point (3, 4) lies in this region. To find the best solution, however, the objective function x1 + 2x2 = k is plotted on the graph for some value of k, say k = 4. This value is indicated by the broken line in the figure. As k is increased, a family of parallel lines are produced, and the line for k = 15 just touches the constraint set at the point (5, 5). If k is increased further, the values of x1 and x2 will lie outside the set of feasible solutions. Thus, the best solution is that in which equal quantities of each commodity are made. It is no coincidence that an optimal solution occurs at a vertex, or “extreme point,” of the region. This will always be true for linear problems, although an optimal solution may not be unique. Thus, the solution of such problems reduces to finding which extreme point (or points) yields the largest value for the objective function.
In the simplex method, the problem is first put into canonical form by converting the linear inequalities into equalities by introducing “slack variables” x3 ≥ 0 (so that x1 + x3 = 8), x4 ≥ 0 (so that x2 + x4 = 5), x5 ≥ 0 (so that x1 + x2 + x5 = 10), and the variable x0 for the value of the objective function (so that x1 + 2x2 − x0 = 0). The problem may then be restated as that of finding nonnegative quantities x1, …, x5 and the largest possible x0 satisfying the resulting equations. One obvious solution is to set the objective variables x1 = x2 = 0, which corresponds to the extreme point at the origin. If one of the objective variables is increased from zero while the other one is fixed at zero, the objective value x0 will increase as desired (subject to the slack variables satisfying the equality constraints). The variable x2 produces the largest increase of x0 per unit change; so it is used first. Its increase is limited by the nonnegativity requirement on the variables. In particular, if x2 is increased beyond 5, x4 becomes negative.
At x2 = 5, this situation produces a new solution—(x0, x1, x2, x3, x4, x5) = (10, 0, 5, 8, 0, 5)—that corresponds to the extreme point (0, 5) in the figure. The system of equations is put into an equivalent form by solving for the nonzero variables x0, x2, x3, x5 in terms of those variables now at zero; i.e., x1 and x4. Thus, the new objective function is x1 − 2x4 = −10, while the constraints are x1 + x3 = 8, x2 + x4 = 5, and x1 − x4 + x5 = 5. It is now apparent that an increase of x1 while holding x4 equal to zero will produce a further increase in x0. The nonnegativity restriction on x3 prevents x1 from going beyond 5. The new solution—(x0, x1, x2, x3, x4, x5) = (15, 5, 5, 3, 0, 0)—corresponds to the extreme point (5, 5) in the figure. Finally, since solving for x0 in terms of the variables x4 and x5 (which are currently at zero value) yields x0 = 15 − x4 − x5, it can be seen that any further change in these slack variables will decrease the objective value. Hence, an optimal solution exists at the extreme point (5, 5).

" height="20" alt="HEW Logo">