HOME

TheInfoList



OR:

In
mathematical optimization Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
, the revised simplex method is a variant of
George Dantzig George Bernard Dantzig (; November 8, 1914 – May 13, 2005) was an American mathematical scientist who made contributions to industrial engineering, operations research, computer science, economics, and statistics. Dantzig is known for his de ...
's
simplex method In mathematical optimization, Dantzig's simplex algorithm (or simplex method) is a popular algorithm for linear programming. The name of the algorithm is derived from the concept of a simplex and was suggested by T. S. Motzkin. Simplices are no ...
for
linear programming Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships. Linear programming is ...
. The revised simplex method is mathematically equivalent to the standard simplex method but differs in implementation. Instead of maintaining a tableau which explicitly represents the constraints adjusted to a set of basic variables, it maintains a representation of a
basis Basis may refer to: Finance and accounting *Adjusted basis, the net cost of an asset after adjusting for various tax-related items *Basis point, 0.01%, often used in the context of interest rates * Basis trading, a trading strategy consisting o ...
of the
matrix Matrix most commonly refers to: * ''The Matrix'' (franchise), an American media franchise ** '' The Matrix'', a 1999 science-fiction action film ** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchi ...
representing the constraints. The matrix-oriented approach allows for greater computational efficiency by enabling sparse matrix operations.


Problem formulation

For the rest of the discussion, it is assumed that a linear programming problem has been converted into the following standard form: : \begin \text & \boldsymbol^ \boldsymbol \\ \text & \boldsymbol = \boldsymbol, \boldsymbol \ge \boldsymbol \end where . Without loss of generality, it is assumed that the constraint matrix has full row rank and that the problem is feasible, i.e., there is at least one such that . If is rank-deficient, either there are redundant constraints, or the problem is infeasible. Both situations can be handled by a presolve step.


Algorithmic description


Optimality conditions

For linear programming, the
Karush–Kuhn–Tucker conditions In mathematical optimization, the Karush–Kuhn–Tucker (KKT) conditions, also known as the Kuhn–Tucker conditions, are first derivative tests (sometimes called first-order necessary conditions) for a solution in nonlinear programming to be ...
are both
necessary and sufficient In logic and mathematics, necessity and sufficiency are terms used to describe a conditional or implicational relationship between two statements. For example, in the conditional statement: "If then ", is necessary for , because the truth of ...
for optimality. The KKT conditions of a linear programming problem in the standard form is : \begin \boldsymbol & = \boldsymbol, \\ \boldsymbol^ \boldsymbol + \boldsymbol & = \boldsymbol, \\ \boldsymbol & \ge \boldsymbol, \\ \boldsymbol & \ge \boldsymbol, \\ \boldsymbol^ \boldsymbol & = 0 \end where and are the
Lagrange multiplier In mathematical optimization, the method of Lagrange multipliers is a strategy for finding the local maxima and minima of a function subject to equality constraints (i.e., subject to the condition that one or more equations have to be satisfied ...
s associated with the constraints and , respectively. The last condition, which is equivalent to for all , is called the ''complementary slackness condition''. By what is sometimes known as the ''fundamental theorem of linear programming'', a vertex of the feasible polytope can be identified by being a basis of chosen from the latter's columns. Since has full rank, is nonsingular. Without loss of generality, assume that . Then is given by : \boldsymbol = \begin \boldsymbol \\ \boldsymbol \end = \begin \boldsymbol^ \boldsymbol \\ \boldsymbol \end where . Partition and accordingly into : \begin \boldsymbol & = \begin \boldsymbol \\ \boldsymbol \end, \\ \boldsymbol & = \begin \boldsymbol \\ \boldsymbol \end. \end To satisfy the complementary slackness condition, let . It follows that : \begin \boldsymbol^ \boldsymbol & = \boldsymbol, \\ \boldsymbol^ \boldsymbol + \boldsymbol & = \boldsymbol, \end which implies that : \begin \boldsymbol & = (\boldsymbol^)^ \boldsymbol, \\ \boldsymbol & = \boldsymbol - \boldsymbol^ \boldsymbol. \end If at this point, the KKT conditions are satisfied, and thus is optimal.


Pivot operation

If the KKT conditions are violated, a ''pivot operation'' consisting of introducing a column of into the basis at the expense of an existing column in is performed. In the absence of degeneracy, a pivot operation always results in a strict decrease in . Therefore, if the problem is bounded, the revised simplex method must terminate at an optimal vertex after repeated pivot operations because there are only a finite number of vertices. Select an index such that as the ''entering index''. The corresponding column of , , will be moved into the basis, and will be allowed to increase from zero. It can be shown that :\frac = s_q, i.e., every unit increase in results in a decrease by in . Since :\boldsymbol + \boldsymbol_q x_q = \boldsymbol, must be correspondingly decreased by subject to . Let . If , no matter how much is increased, will stay nonnegative. Hence, can be arbitrarily decreased, and thus the problem is unbounded. Otherwise, select an index as the ''leaving index''. This choice effectively increases from zero until is reduced to zero while maintaining feasibility. The pivot operation concludes with replacing with in the basis.


Numerical example

Consider a linear program where : \begin \boldsymbol & = \begin -2 & -3 & -4 & 0 & 0 \end^, \\ \boldsymbol & = \begin 3 & 2 & 1 & 1 & 0 \\ 2 & 5 & 3 & 0 & 1 \end, \\ \boldsymbol & = \begin 10 \\ 15 \end. \end Let : \begin \boldsymbol & = \begin \boldsymbol_4 & \boldsymbol_5 \end, \\ \boldsymbol & = \begin \boldsymbol_1 & \boldsymbol_2 & \boldsymbol_3 \end \end initially, which corresponds to a feasible vertex . At this moment, : \begin \boldsymbol & = \begin 0 & 0 \end^, \\ \boldsymbol & = \begin -2 & -3 & -4 \end^. \end Choose as the entering index. Then , which means a unit increase in results in and being decreased by and , respectively. Therefore, is increased to , at which point is reduced to zero, and becomes the leaving index. After the pivot operation, : \begin \boldsymbol & = \begin \boldsymbol_3 & \boldsymbol_4 \end, \\ \boldsymbol & = \begin \boldsymbol_1 & \boldsymbol_2 & \boldsymbol_5 \end. \end Correspondingly, : \begin \boldsymbol & = \begin 0 & 0 & 5 & 5 & 0 \end^, \\ \boldsymbol & = \begin 0 & -4/3 \end^, \\ \boldsymbol & = \begin 2/3 & 11/3 & 4/3 \end^. \end A positive indicates that is now optimal.


Practical issues


Degeneracy

Because the revised simplex method is mathematically equivalent to the simplex method, it also suffers from degeneracy, where a pivot operation does not result in a decrease in , and a chain of pivot operations causes the basis to cycle. A perturbation or lexicographic strategy can be used to prevent cycling and guarantee termination.


Basis representation

Two types of
linear systems In systems theory, a linear system is a mathematical model of a system based on the use of a linear operator. Linear systems typically exhibit features and properties that are much simpler than the nonlinear case. As a mathematical abstraction o ...
involving are present in the revised simplex method: : \begin \boldsymbol & = \boldsymbol, \\ \boldsymbol^ \boldsymbol & = \boldsymbol. \end Instead of refactorizing , usually an
LU factorization In numerical analysis and linear algebra, lower–upper (LU) decomposition or factorization factors a matrix as the product of a lower triangular matrix and an upper triangular matrix (see matrix decomposition). The product sometimes includes a pe ...
is directly updated after each pivot operation, for which purpose there exist several strategies such as the Forrest−Tomlin and Bartels−Golub methods. However, the amount of data representing the updates as well as numerical errors builds up over time and makes periodic refactorization necessary.


Notes and references


Notes


References


Bibliography

* * {{Mathematical programming Exchange algorithms Linear programming