S. N. CHERNIKOV
Unknown
Submitted 1962-01-01 | RussiaRxiv: ru-196201.00544 | Translated from Russian

Abstract

Full Text

S. N. CHERNIKOV

ALGORITHMS FOR FINDING VERTEX SOLUTIONS OF A SYSTEM OF LINEAR INEQUALITIES

(Presented by Academician A. N. Kolmogorov on 13 II 1962)

Of the two algorithms proposed below, the first (called the algorithm of successive puncturing) gives, for a given solution of a system of linear inequalities

\[ T_j(x)=L_j(x)-a_j\equiv a_{j1}x_1+\ldots+a_{jn}x_n-a_j\leqslant 0 \quad (j=1,2,\ldots,m), \tag{1} \]

of rank \(r>0\), some vertex solution of it, i.e., a solution that turns into equalities its inequalities with linearly independent forms \(L_j(x)\); the second (called the algorithm of successive folding) gives, for a given vertex solution of a system of linear inequalities of rank equal to the number of its unknowns, a certain solution (vertex) with the greatest (least) value of a specified coordinate.

The second algorithm can be used (best of all in conjunction with the first) to solve the main problem of linear programming, i.e., the problem of the greatest (least) value of a linear function \(f(x)=c_1x_1+\ldots+c_nx_n\) on the set of solutions of system (1). In fact, this problem reduces to finding a solution of the system

\[ \begin{gathered} a_{j1}x_1+\ldots+a_{jn}x_n-a_j\leqslant 0 \quad (j=1,2,\ldots,m),\\ -c_1x_1-\ldots-c_nx_n+x'_1\leqslant 0 \end{gathered} \]

with the greatest value of the coordinate \(x'_1\). If by \(x'_2,\ldots,x'_{r+1}\) one denotes any \(r\) linearly independent forms \(L_j(x)\) of system (1) (\(r>0\) is its rank), then either, with the aid of the expressions thereby obtained, the unknowns \(x_1,\ldots,x_n\) can be eliminated from this system, or there does not exist the greatest value of the function \(f(x)\) that interests us. After elimination one obtains a system of rank \(r+1\) with \(r+1\) unknowns \(x'_1,\ldots,x'_{r+1}\).

  1. Let \(x^0=(x^0_1,\ldots,x^0_n)\) be some solution of system (1). Choose \(\bar{x}=(\bar{x}_1,\ldots,\bar{x}_n)\) satisfying one of the inequalities \(T_j(x)\geqslant 0\). Let \(x(t)=x^0+t(\bar{x}-x^0)\), \(t'\) be the least of the nonnegative values of the parameter \(t\) satisfying at least one of the equations \(T_j(x(t))=0\), \(x'=(x_1(t'),\ldots,x_n(t'))=(x'_1,\ldots,x'_n)\), and let \(j=j'\) be some index for which \(T_{j'}(x')=0\). We shall say that the equation \(T_{j'}(x)=0\) is obtained by puncturing the polyhedron of system (1) from the point \(x=x^0\). A certain simplification of the computations here can be obtained by choosing \(\bar{x}\) so that \(n-1\) coordinates of \(\bar{x}\) and \(x^0\) coincide. Let, for example, \(\bar{x}=(\bar{x}_1,x^0_2,\ldots,x^0_n)\). Then instead of \(x(t)\) one takes \(x(x_1)=(x_1,x^0_2,\ldots,x^0_n)\) and then, among the solutions of the equations \(T_j(x(x_1))=0\), one chooses the number \(x'_1\) equal, when \(\bar{x}_1-x^0_1\geqslant 0\) (when \(\bar{x}_1-x^0_1\leqslant 0\)), to the least (greatest) of those solutions which satisfy the inequality \(x_1-x^0_1\geqslant 0\) (the inequality \(x_1-x^0_1\leqslant 0\)). By \(x'=(x'_1,\ldots,x'_n)\) we now denote the solution \((x'_1,x^0_2,\ldots,x^0_n)\) of system (1). If \(a_{j'l}\ne 0\), we say that the system

\[ T_j^{(1)}(x)=T_j(x)-\frac{a_{jl}}{a_{j'l}}\,T_{j'}(x)\leqslant 0 \quad (1\leqslant j\leqslant m;\ j\ne j') \tag{2} \]

and its solution \(x'\) with coordinates \(x'_i\) \((1\leqslant i\leqslant n;\ i\ne l)\) have been obtained by puncturing the polyhedron of system (1) (from the point \(x=x^0\)). Every solution of system (2), obviously, can be extended to a solution of system (1) by the value

of the missing \(l\)-th coordinate, found from the equation \(T_{j'}(x)=0\) after substituting into it the solution of system (2) that has been obtained.

If \(x^{(1)}\) is some solution of system (2), for example, the solution obtained when piercing the polyhedron of system (1), then, using it, the piercing procedure can now be carried out for system (2).

The process of successive piercing defined here will obviously terminate at the \(r\)-th step (\(r\) is the rank of system (1)) with a system containing none of the unknowns \(x_1,\ldots,x_n\) (with nonzero coefficients).

The system obtained at the \(k\)-th piercing \((k=1,2,\ldots,r)\) may, without loss of generality, be written in the form

\[ T_j^{(k)}(x)=T_j^{(k-1)}(x)-\frac{a_{jk}^{(k-1)}}{a_{kk}^{(k-1)}}T_k^{(k-1)}(x)\leqslant 0 \quad (j=k+1,\ldots,m), \tag{3} \]

where \(a_{ji}^{(k-1)}\) are the coefficients of the system \(T_j^{(k-1)}(x)\leqslant 0\) \((j=k,\ldots,m)\), with \(T_j^0(x)=T_j(x)\). We shall denote some fixed solution of it, for example the solution obtained when piercing the polyhedron of the system \(T_j^{(k-1)}(x)\leqslant 0\), by
\(x^{(k)}=(x_{k+1}^{(k)},\ldots,x_n^{(k)})\).

In the process of piercing, the equations

\[ T_k^{(k-1)}(x)=0 \quad (k=1,2,\ldots,r) \tag{4} \]

appear successively. Since the system

\[ T_k(x)=0 \quad (k=1,2,\ldots,r) \tag{5} \]

of these equations is obtained from the system by combining its equations according to the Gaussian elimination method for eliminating unknowns, these systems are equivalent, i.e., they have the same solutions.

Let \(x^{(r-1)}=(x_r^{(r-1)},\ldots,x_n^{(r-1)})\) be some solution of system (3) with \(k=r-1\) satisfying the equation \(T_r^{(r-1)}(x)=0\), for example the solution obtained at the \(r\)-th piercing. Substituting it into the equation \(T_{r-1}^{(r-2)}(x)=0\), we find a solution of this equation satisfying system (3) with \(k=r-2\); substituting the found solution into the equation \(T_{r-2}^{(r-3)}(x)=0\), we find its solution satisfying system (3) with \(k=r-3\), and so on. As a result a solution of system (4) is obtained, evidently satisfying system (1). Since, in view of the equivalence of systems (4) and (5), the solution obtained also satisfies (5), and since the rank of (5) is obviously equal to the rank of (1), it is a vertex solution of system (1).

The system \(T_k(x)\leqslant 0\) \((k=1,2,\ldots,r)\) of inequalities corresponding to the equations of system (5) has the following properties: a) its rank coincides with the rank of system (1); b) all its inequalities become equalities for at least one solution of system (1). Each subsystem of system (1) possessing these properties is called its vertex subsystem.

  1. We now turn to the consideration of the second algorithm. Let \(x^0=(x_1^0,\ldots,x_n^0)\) be some vertex solution of system (1), which has rank \(n\). It is required to find its solution with a value of the coordinate \(x_1\) greater than \(x_1^0\). If the solution \(x^0\) was found by the method of successive piercing, then together with it a certain corresponding vertex subsystem of system (1) has been found. Let such a subsystem be the subsystem \(S_1\), composed of the first \(n\) inequalities of system (1). We denote by \(S_0\) the subsystem of all inequalities of system (1) that become equalities for \(x=x^0\).

Introducing nonnegative parameters \(t_j\), we write system (1) in the form

\[ L_j(x)\equiv a_{j1}x_1+\cdots+a_{jn}x_n=a_j-t_j \quad (j=1,2,\ldots,m). \]

We denote by \(D_1\) the coefficient matrix of the first \(n\) linear forms \(L_j(x)\). Using the Gaussian method of eliminating unknowns, we obtain

\[ x_i=a'_{i1}t_1+\cdots+a'_{in}t_n+x_i^0 \quad (i=1,2,\ldots,n). \tag{6} \]

The matrix of coefficients \(a'_{ik}\) in these formulas coincides with \(-D_1^{-1}\). For arbitrary nonnegative values of the parameters \(t\), formulas (6) give the coordinates of an arbitrary point of the polyhedron (cone) \(C_1\) of solutions of the system \(S_1\). The point \(A^0(x_1^0,\ldots,x_n^0)\) is its vertex. The formulas

\[ x_i=a'_{ik}t_k+x_i^0 \quad (i=1,2,\ldots,n) \tag{7} \]

determine, for \(t_k\geq 0\), its edge \(H_k\) \((k=1,2,\ldots,n)\), lying in the intersection of the planes \(\overline{P}_j\) with equations \(L_j(x)-a_j=0\) \((1\leq j\leq n;\ j\ne k)\). Below, by \(\overline{P}_j\) we shall denote the boundary plane of the half-space \(P_j\), corresponding in the space \(R^n\) to an arbitrary inequality \(L_j(x)-a_j\leq 0\) of system (1). By \(B_k\) we denote the point of the edge \(H_k\) corresponding to \(t_k=1\) in the formulas (7) found for it; by \(S_1(k)\), the subsystem of the system \(S_1\) defining the edge \(H_k\).

If, in the formulas (6) obtained here, all \(a'_{1k}\) \((k=1,2,\ldots,n)\) are nonpositive, then \(x^0\) is a solution of system (1) with the greatest value of the coordinate \(x_1\). In this case there is no solution of system (1) with \(x_1>x_1^0\). Suppose at least one of the coefficients \(a'_{1k}\) is positive. Introducing the notation \(t_l^0=(a'_{1l},\ldots,a'_{nl})\) \((l=1,2,\ldots,n)\), we construct the table (\(T_1\)-matrix):

\(j\) \(L_j(x^0)-a_j\) \(L_j(t_1^0)\) \(L_j(t_2^0)\) \(\cdots\) \(L_j(t_n^0)\)
1 \(b_1\) \(c_{11}\) \(c_{12}\) \(\cdots\) \(c_{1n}\)
\(\cdot\) \(\cdots\) \(\cdots\) \(\cdots\) \(\cdots\) \(\cdots\)
\(\cdot\) \(\cdots\) \(\cdots\) \(\cdots\) \(\cdots\) \(\cdots\)
\(\cdot\) \(\cdots\) \(\cdots\) \(\cdots\) \(\cdots\) \(\cdots\)
\(m\) \(b_m\) \(c_{m1}\) \(c_{m2}\) \(\cdots\) \(c_{mn}\)

If the elements of some column \(L_j(t_{k_1}^0)\) with \(k_1\), satisfying the condition \(a'_{1k_1}>0\), which stand opposite the zero elements of its first column, are nonpositive, then the coordinates of the point \(B_{k_1}\) satisfy the system \(S_0\). In this case, obviously, all points of the edge \(H_{k_1}\) also satisfy the system \(S_0\). But then all points of some nonzero segment of this edge with initial point \(A^0\), and perhaps even all its points, must satisfy all the inequalities of system (1). Substitution of the coordinates of an arbitrary point of this edge (defined by formulas (7)) into the inequalities of system (1) gives (here one should use the \(T_1\)-matrix) the system of inequalities

\[ \bigl(L_j(x^0)-a_j\bigr)+t_{k_1}L_j(t_{k_1}^0)\leq 0 \quad (j=1,2,\ldots,m). \]

Let \(t'_{k_1}\) be its greatest solution. If \(t'_{k_1}=+\infty\), then, obviously, there is no solution of system (1) with the greatest value of the coordinate \(x_1\). In this case the problem posed by us is solved in an obvious way. If \(t'_{k_1}<+\infty\), then, substituting \(t_{k_1}=t'_{k_1}\) into formulas (7) for the edge \(H^*_{k_1}\), we obtain some new nodal solution of system (1) with \(x_1>x_1^0\). With the aid of the \(T_1\)-matrix it is not difficult to indicate an inequality of system (1) whose adjoining to the system \(S_1(k_1)\) gives a nodal subsystem of system (1) associated with the new nodal solution.

If, among the points \(B_k\) for \(k\) satisfying the condition \(a'_{1k}>0\), it is impossible to choose a point with coordinates satisfying the system \(S_0\), then, taking any one of them, we find, with the aid of the \(T_1\)-matrix, an inequality of the system \(S_0\) that is violated by its coordinates. Let \(j_1\) be its number. In this case the \(j_1\)-th inequality of system (1) will be called a cutting inequality for the system \(S_1\). If the coordinates of not a single point \(B_k\) satisfy it, then system (1) has, obviously, the unique solution \(x^0\), and hence there is no solution of it with \(x_1>x_1^0\). Let \(k'\) be the number of an arbitrary one of the points \(B_k\) with coordinates satisfying the \(j_1\)-th inequality. For each \(k'\), the \(j_1\)-th inequality is adjoined to the system \(S_1(k')\) corresponding to it. For each system \(S_1^{j_1}(k')\) thus obtained (we denote its matrix by \(D_1^{j_1}(k')\)), we compose the “edge formulas” (7). In the case where the coordinates

points \(B_{k'}\) satisfy the equation \(L_{j_1}(x)-a_{j_1}=0\) (the edge \(H_{k'}\) in this case lies in the plane \(\bar P_{j_1}\)); one simply takes the previously found formulas (7), which determine the edge \(H_{k'}\). In the other case the formulas of interest to us can be obtained as follows.

If
\[ (a'_{j_1 1},\ldots,a'_{j_1 n})=(a_{j_1 1},\ldots,a_{j_1 n})D_1^{-1}, \]
then we have
\[ L_{j_1}(x)=a'_{j_1 1}L_1(x)+\cdots+a'_{j_1 n}L_n(x); \]
here \(a'_{j_1 k'}\ne 0\), since \(B_{k'}\) does not lie in the plane \(\bar P_{j_1}\). Using the equations \(L_j(x)=a_j-t_j\) for \(j\ne k'\), we obtain
\[ L_{k'}(x)=b'_1t_1+\cdots+b'_{k'-1}t_{k'-1}+b'_{k'+1}t_{k'+1}+\cdots+b'_nt_n+b'_{j_1}t_{j_1}+b'_0. \]

If, in the linear forms obtained above from formulas (6), one replaces \(t_{k'}\) by the linear form in the parameters \(t\) entering here, then a system of linear forms is obtained which enters formulas (6) for the system \(S^{j_1}_1(k')\) (with matrix \(-[D^{j_1}_1(k')]^{-1}\)); the constant terms of these formulas are, obviously, \(x^0_1,\ldots,x^0_n\). Next we write formulas (7) for the edges \(H_{k'l}\); the edge \(H_{k'l}\) is determined by the subsystem \(S^{j_1}_1(k'l)\) of the system \(S^{j_1}_1(k')\), obtained from \(S^{j_1}_1(k')\) by striking out the inequality with number \(l\). On \(H_{k'l}\) we single out the points with unit value of the parameter.

From the edges \(H_{k'l}\) considered here, one selects (for each \(k'\)) those for which the singled-out points satisfy the system \(S_1\). By these edges, and also by the edges \(H_{k'}\) noted above, lying in the plane \(\bar P_{j_1}\), all edges of the cone \(C^{j_1}_1\) of solutions of the system \(S^{j_1}_1\), obtained by adjoining the \(j_1\)-st inequality to the system \(S_1\), are exhausted. If the coefficient of the parameter in the first of formulas (7) (the formula for \(x_1\)) is nonpositive for each of these edges, then \(x^0\) is a solution of system (1) with the greatest coordinate \(x_1\). Otherwise, those edges are selected for which this coefficient is positive. If, for any one of them, the point singled out on it satisfies the system \(S_0\), then, as above, a nodal solution of system (1) with \(x_1>x^0_1\) is found, or it is established that system (1) has no solution with the greatest value of the coordinate \(x_1\). Otherwise, a sliding inequality for the system \(S^{j_1}_1\) is sought (let \(j_2\) be its number), and those edges are selected for which the singled-out points satisfy this inequality. Next, to the systems determining these edges, the \(j_2\)-nd inequality is adjoined, and the preceding arguments are then repeated. It is clear that after a finite number of steps either a nodal solution of system (1) with \(x_1>x^0_1\) will be found, or it will be discovered that it has solutions with arbitrarily large coordinate \(x_1\), or it will be established that no solution of system (1) with \(x_1>x^0_1\) exists. Starting from the new nodal solution, the entire process considered can be repeated, etc., until (obviously, after a finite number of steps) a solution (nodal) of system (1) with the greatest coordinate \(x_1\) is found, or until it is established that such a solution does not exist. The process of finding a solution of system (1) with the least value of the coordinate \(x_1\) is analogous.

  1. If (1) is an arbitrary system of linear inequalities, then the system
    \[ a_{j1}x_1+\cdots+a_{jn}x_n+x_{n+1}-a_j\leq 0 \quad (j=1,2,\ldots,m),\quad x_{n+1}\leq 0, \]
    is, obviously, consistent for all sufficiently large in absolute value negative values of the coordinate \(x_{n+1}\). Taking any of its solutions, for example the solution \((0,\ldots,0,x^0_{n+1})\) with \(|x^0_{n+1}|\geq |a_j|\) \((j=1,2,\ldots,m)\), one can, applying to it the laying algorithm, find one of its nodal solutions and then, starting from it, find by means of the sliding algorithm its solution with the greatest value of \(x_{n+1}\). If \((x'_1,\ldots,x'_n,x'_{n+1})\) is such a solution, then for \(x'_{n+1}=0\) system (1) is consistent, and \((x'_1,\ldots,x'_n)\) is one of its nodal solutions. For \(x'_{n+1}\ne 0\) system (1) is inconsistent, and \(x'_{n+1}\) is the negative number smallest in absolute value which, when added to the left-hand sides of all inequalities (1), makes it consistent.

Received
13 II 1962

Submission history

S. N. CHERNIKOV