method of sequential plan improvement
A method for solving the general linear programming problem:
where
The simplex method is the most widespread linear programming method. It consists of moving over adjacent vertices of the polyhedral set defined by the constraints of the linear programming problem and requires a finite sequence of iterations. The basis of a vertex
(in particular,
If
the remaining components
Then the vertex
Case
means that along every edge of the polyhedral set beginning at
and
correspond to the existence of an edge along which the objective function increases, where in case
this edge is a ray, and in case
an interval with
The implementation of the simplex method, used when the problem is of a sufficiently large size, is usually based on another of its algorithmic implementations, in which the basis of the input for every iteration is the inverse matrix
An important part of the algorithm of the simplex method is the strategy used to select vectors
There are implementations of the simplex method for the solution of linear programming problems having sparse constraint matrices, with
Several variants of the simplex method have been developed that take into account the peculiarities of various special classes of linear programming problems (block problems, transportation problems and others).
In spite of the fact that the simplex method is theoretically not sufficiently effective (its worst-case efficiency estimate on the class of linear programming problems is exponential, although the algorithmic complexity of the class as a whole is only polynomial), until now (1990) no serious competitors have been suggested.
[1] | D.B. Yudin, E.G. Gol'shtein, "Linear programming" , Israel Program Sci. Transl. (1965) (Translated from Russian) |
[2] | J. Danzig, "Linear programming and extensions" , Princeton Univ. Press (1963) |
[3] | S.A. Ashmanov, "Linear programming" , Moscow (1981) (In Russian) |
For negative results on the worst-case performance of the simplex algorithm, see [a1]; for positive results on its average-case performance, see [a2], [a3]. Alternative algorithms for linear programming with a polynomial-time worst-case behaviour have been proposed by L.G. Khachiyan [a4] and N. Karmarkar [a5]. While Khachiyan's result settled the question of the computational complexity of linear programming, Karmarkar's method seems to be practically competitive with the simplex method. For a recent survey of the simplex algorithm, the Karmarkar algorithm (interior algorithms) and ellipsoid methods in relation to each other, cf. [a8].
[a1] | V.L. Klee, G.J. Minty, "How good is the simplex algorithm?" O. Shisha (ed.) , Inequalities , III , Acad. Press (1972) pp. 159–175 |
[a2] | K.H. Borgwardt, "The average number of pivot steps required by the simplex-method is polynomial" Z. Oper. Res. , 26 (1982) pp. 157–177 |
[a3] | R. Shamir, "The efficiency of the simplex method: a survey" Management Science , 33 : 3 (1987) pp. 301–334 |
[a4] | L.G. Khachiyan, "A polynomial algorithm in linear programming" Soviet Math. Dokl. , 20 : 1 (1979) pp. 191–194 Dokl. Akad. Nauk SSSR , 244 (1979) pp. 1093–1096 |
[a5] | N. Karmarkar, "A new polynomial-time algorithm for linear programming" Combinatorica , 4 : 4 (1984) pp. 373–395 |
[a6] | A.R.G. Heesterman, "Matrices and simplex algorithms" , Reidel (1983) |
[a7] | S. Zionts, "Linear and integer programming" , Prentice-Hall (1974) |
[a8] | M.J. Todd, "Recent developments and new directions in linear programming" M. Iri (ed.) K. Tanabe (ed.) , Mathematical Programming , Kluwer (1989) pp. 109–157 |