Abstract
Full Text
UDC 519.95
CYBERNETICS AND CONTROL THEORY
L. A. GUTNIK
ON THE QUESTION OF CYCLING IN LINEAR PROGRAMMING
(Presented by Academician A. I. Berg on 15 XII 1965)
A known difficulty arising in the solution of linear programming problems is the possibility of cycling. For the simplex method, a method of preventing cycling that is universal from the standpoint of algorithmic implementation was proposed by A. Charnes (¹) and by Dantzig, Orden, and Wolfe (²). An essential drawback of these methods is the increase in the number of divisions in comparison with the nondegenerate case. In the present paper a method is proposed for preventing cycling in which, at each step, for a fixed column in which the pivot element is sought, a special method, requiring no divisions or multiplications, is used to choose the column that plays, for determining the pivot element, the same role as the column of free terms plays in the nondegenerate case, and the set of rows in which the pivot element may be located, which, generally speaking, is smaller than the one usually considered. If the problem is nondegenerate, then the proposed method essentially coincides with the ordinary simplex method.
Terminology and notation. A polynomial \(p(z)\) is called positive if it assumes positive values for all sufficiently small positive \(z\). It is clear that a polynomial is positive if and only if that one of its nonzero coefficients which stands at the least degree of \(z\) is positive. We shall write \(p(z) < q(z)\) and say that the polynomial \(p(z)\) is lower than the polynomial \(q(z)\) if \(q(z) - p(z)\) is a positive polynomial. The definition just described leads to a lexicographic ordering of the set of polynomials. If the polynomial \(p(z)\) is nonzero, then by \(\nu(p(z))\) we denote the exponent of the greatest power of \(z\) dividing the polynomial \(p(z)\). If \(p(z)\) is the zero polynomial, then we set \(\nu(p(z)) = +\infty\). A table
\[ \begin{array}{c|c|c|c|c|c|c|c|c|c} & & x_1 & & & x_k & & & x_n \\ \hline x_{j_1} & a_{10} & a_{11} & & & a_{1k} & & & a_{1n} \\ \hline \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots \\ \hline x_{j_i} & a_{i0} & a_{i1} & & & a_{ik} & & & a_{in} \\ \hline \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots \\ \hline x_{j_r} & a_{r0} & a_{r1} & & & a_{rk} & & & a_{rn} \\ \hline x_0 & a_{00} & a_{01} & & & a_{0k} & & & a_{0n} \end{array} \tag{1} \]
is called simplex if
\[ a_{i j_i} = 1,\qquad i = 1,\ldots,r, \]
\[ a_{i j_s} = 0 \quad \text{for } i \ne s,\; 1 \le i \le r,\; 1 \le s \le r. \]
In what follows only simplex tables are considered.
The unknowns \(x_{j_1}, \ldots, x_{j_r}, x_0\) are called the basic unknowns of tableau (1), and the remaining ones the nonbasic unknowns. The system
\[ \begin{gathered} a_{i1}x_1+\cdots+a_{in}x_n=a_{i0},\qquad i=1,\ldots,r,\\ x_0+a_{01}x_1+\cdots+a_{0n}x_n=a_{00} \end{gathered} \tag{2} \]
is called the principal system of equations of tableau (1). If the nonbasic unknowns of tableau (1) are assigned zero values, then the basic unknowns \(x_{j_1}, \ldots, x_{j_r}, x_0\) are uniquely determined from system (2) and take, respectively, the values \(a_{10}, \ldots, a_{20}, a_{00}\). The solution of the principal system of tableau (1) obtained in this way will be called the solution determined by tableau (1).
Tableau (1) is called nonnegative if \(a_{i0}\geq 0\), \(i=1,\ldots,r\). Tableau (1) is called optimal if it is nonnegative and \(a_{0j}\geq 0\), \(j=1,\ldots,n\). If tableau (1) is optimal, then among the nonnegative solutions of its principal system of equations the solution determined by tableau (1) has the greatest value for \(x_0\). Tableau (1) is called infinite if it is nonnegative and there exists an integer \(k\), \(1\leq k\leq n\), such that
\[ a_{0k}<0,\qquad a_{ik}\leq 0,\qquad i=1,\ldots,r. \]
If tableau (1) is infinite, then there exist nonnegative solutions of its principal system of equations with arbitrarily large values for \(x_0\).
Let \((k_1,\ldots,k_n)\) be some permutation of the numbers \(1,\ldots,n\); let \(l\) be an integer, \(0\leq l\leq n\). The sequence of polynomials
\[ a_i(z)=\sum_{0\leq s\leq l} a_{ik_s}z^s,\qquad k_0=0;\qquad i=0,1,\ldots,r, \tag{3} \]
is called the \((l;\,k_1,\ldots,k_n)\)-special sequence of polynomials of tableau (1), and the polynomial \(a_0(z)\) is called the \((l;\,k_1,\ldots,k_n)\)-objective polynomial of tableau (1). For any \(i\), \(i=1,\ldots,r\), the number \(\nu(a_i(z))\) is called the \((l;\,k_1,\ldots,k_n)\)-estimate of the \(i\)-th row of tableau (1). If all the polynomials (3), except, possibly, \(a_0(z)\), are either positive or zero, then tableau (1) is called \((l;\,k_1,\ldots,k_n)\)-semipositive. The system of equations obtained by replacing the free terms of system (2), respectively, by the polynomials (3) is called the \((l;\,k_1,\ldots,k_n)\)-special system of equations of tableau (1). Tableau (1) and another tableau of the same dimensions are called similar if, for every permutation \((k_1,\ldots,k_n)\) of the numbers \(1,\ldots,n\) and every integer \(l\), \(0\leq l\leq n\): 1) their \((l;\,k_1,\ldots,k_n)\)-special systems are equivalent; 2) if the last equation is deleted from their \((l;\,k_1,\ldots,k_n)\)-special systems, then the resulting systems are also equivalent.
Lemma. If tableau (1) is similar to some other tableau whose set of basic unknowns coincides with the set of basic unknowns of tableau (1), then for any permutation \((k_1,\ldots,k_n)\) of the numbers \(1,\ldots,n\) and any integer \(l\), \(0\leq l\leq n\), the \((l;\,k_1,\ldots,k_n)\)-objective polynomials of these tableaus are equal.
It is important to have a method for obtaining, from a given tableau, tableaus similar to it. Here one may use the usual simplex transformations. Suppose that in tableau (1), for some \(i,k\), \(1\leq i\leq r\), \(1\leq k\leq n\), the inequality \(a_{ik}\neq 0\) holds. Consider the tableau
| $x_1$ | $x_n$ | |||
|---|---|---|---|---|
| $x_{l_1}$ | $b_{10}$ | $b_{11}$ | $b_{1n}$ | |
| $\cdots$ | $\cdots$ | $\cdots$ | $\cdots\cdots\cdots\cdots\cdots$ | $\cdots$ |
| $x_{l_i}$ | $b_{i0}$ | $b_{i1}$ | $b_{in}$ | |
| $\cdots$ | $\cdots$ | $\cdots$ | $\cdots\cdots\cdots\cdots\cdots$ | $\cdots$ |
| $x_{l_r}$ | $b_{r0}$ | $b_{r1}$ | $b_{rn}$ | |
| $x_0$ | $b_{00}$ | $b_{01}$ | $b_{0n}$ |
\[ \tag{4} \]
for which $l_i = k$,
\[ l_s = j_s \quad \text{for } s \ne i;\quad i \le s \le r, \]
\[ b_{it} = a_{it}/a_{ik}, \quad t = 0, 1, \ldots, n, \]
\[ b_{st} = a_{st} - a_{sk}\frac{a_{it}}{a_{ik}}, \quad t = 0, 1, \ldots, n;\quad s \ne i;\quad 0 \le s \le n. \]
It is not hard to show that tableau (4) is similar to tableau (1). We shall say that tableau (4) has been obtained from tableau (1) as a result of a simple transformation with entering unknown $x_k$ and leaving $x_{j_i}$.
Main theorem. Let tableau (1) be a nonnegative simplex tableau which is neither infinite nor optimal. Suppose, further, that the tableau
| $x_1$ | $x_n$ | |||
|---|---|---|---|---|
| $x_{n_1}$ | $\alpha_{10}$ | $\alpha_{11}$ | $\alpha_{1n}$ | |
| $\cdots$ | $\cdots$ | $\cdots$ | $\cdots\cdots\cdots\cdots\cdots$ | $\cdots$ |
| $x_{n_r}$ | $\alpha_{r0}$ | $\alpha_{r1}$ | $\alpha_{rn}$ | |
| $x_0$ | $\alpha_{00}$ | $\alpha_{01}$ | $\alpha_{0n}$ |
\[ \tag{5} \]
is similar to tableau (1), and that for some permutation $(k_1,\ldots,k_n)$ of the numbers $1,\ldots,n$ and some integer $l$, $0 \le l \le n$, tableau (1) is $(l;k_1,\ldots,k_n)$-semipositive, while the $(l;k_1,\ldots,k_n)$-objective polynomial of tableau (5) is lower than the $(l;k_1,\ldots,k_n)$-objective polynomial of tableau (1). Then for some permutation $(\lambda_1,\ldots,\lambda_n)$ of the numbers $1,\ldots,n$ and some integer $\mu$, $0 \le \mu \le n$, there exists a simplex tableau similar to (1) which is $(\mu;\lambda_1,\ldots,\lambda_n)$-semipositive, and whose $(\mu;\lambda_1,\ldots,\lambda_n)$-objective polynomial is higher than each of the $(\mu;\lambda_1,\ldots,\lambda_n)$-objective polynomials of tableaux (1) and (5).
By proving this theorem in different ways, one can obtain various methods for preventing cycling. We shall outline a proof of the theorem that contains the algorithm of the method proposed in the present paper. Since tableau (1) is not optimal, there exists such a $k$, $1 \le k \le n$, that $a_{0k} < 0$. Since tableau (1) is not infinite, among the numbers $a_{sk}$, $s = 1,\ldots,r$, there are positive ones. Denote by $\Xi$ the set of those indices $s$, $1 \le s \le r$, for which $a_{sk} > 0$. Put
\[ v_s = v(a_s(z)), \quad s = 1,\ldots,r; \qquad t = \max_{s \in \Xi} v_s. \]
Denote by $\Xi_0$ the set of those $s$ in $\Xi$ for which $v_s = t$. Two cases may occur:
\[ 1.\ t < +\infty. \qquad 2.\ t = +\infty. \]
- $t < +\infty$. Let $i$ be that index from $\Xi_0$ for which the ratio $a_{ik_0}/a_{ik}$ (if $t=0$, put $k_0=0$) is the smallest among the numbers
\(a_{s k_t}/a_{s k},\ s \in \Xi_0\). Subject table (1) to a simplex transformation, taking \(x_k\) as the entering unknown and \(x_{j_i}\) as the leaving one. Suppose that, as a result, table (4) is obtained.
Set
\[ \mu=t,\qquad \lambda_s=k_s,\quad s=1,\ldots,n, \]
\[ \lambda_0=0,\qquad b_q(z)=\sum_{0\le s<t} b_{q\lambda_s}z^s,\quad q=0,1,\ldots,r, \]
\[ \nu_q'=\nu(b_q(z)),\quad q=1,\ldots,r. \]
It is shown that as the table whose existence is to be proved one may take table (4), where for any \(s=1,\ldots,r\)
\[ \nu_s'= \begin{cases} t, & \text{if } s=i,\\ \nu_s, & \text{if } \nu_s<t,\\ t, & \text{if } s\in\Xi_0,\ s\ne i \text{ and } a_{s k_t}/a_{s k}\ne a_{i k_t}/a_{i k},\\ +\infty, & \text{if } s\in\Xi_0,\ s\ne i \text{ and } a_{s k_t}/a_{s k}=a_{i k_t}/a_{i k},\\ t, & \text{if } \nu_s=t \text{ and } s\notin\Xi,\\ t, & \text{if } \nu_s>t \text{ and } a_{s k}\ne 0,\\ +\infty, & \text{if } \nu_s>t \text{ and } a_{s k}=0. \end{cases} \]
Before passing to the consideration of case 2, let us make a remark important for solving the transportation problem of linear programming. Suppose that in table (1) all the numbers \(a_{\alpha;\gamma}\), \(\beta=1,\ldots,r\), \(\gamma=1,\ldots,n\), are integers not exceeding unity. Then \(a_{s k_t}/a_{s k}=a_{s k_t}=a_{s k}=1\), if \(s\in\Xi_0\). Therefore in the situation under consideration any element of the set \(\Xi_0\) may be taken as \(i\). This gives a method for overcoming cycling, different from the MODI method (3).
Consider case 2. Let \(k=k_m\). Since \(t=+\infty\), we have \(m>l\). Put \(\mu=l+1\), \(\lambda_j=k_j\), if \(j\ne l+1\), \(j\ne m\), \(1\le j\le n\); \(\lambda_{l+1}=k_m\); \(\lambda_m=k_{l+1}\). Let \(i\) be any element of \(\Xi_0\). Suppose that table (4) is obtained from table (1) as the result of a simplex transformation with entering unknown \(x_k\) and leaving \(x_{j_i}\). Put
\[ \lambda_0=0,\qquad b_s(z)=\sum_{0\le q<l+1} b_{s\lambda_q}z^q,\quad s=0,1,\ldots,r, \]
\[ \nu_s'=\nu(b_s(z)),\quad s=1,\ldots,r. \]
It is shown that as the table whose existence is to be proved one may take table (4), where
\[ \nu_i'=l+1,\quad \nu_s'=\nu_s,\quad \text{if } s\ne i,\ 1\le s\le r. \]
If a nonnegative simplex table (1) is given which is neither infinite nor optimal, then put
\[ l=0,\qquad k_j=j,\quad j=1,\ldots,n. \]
Next put, for any \(s=1,\ldots,r\),
\[ \nu_s=0,\quad \text{if } a_{s;0}\ne 0;\qquad \nu_s=+\infty,\quad \text{if } a_{s;0}=0. \]
Applying the main theorem successively and taking the lemma into account, in no more than \(C_n^r\) steps we obtain, from such a table (1), a table which is either optimal or infinite.
Let us make the following important remark. Since in the first case of the theorem \(\mu=t\le l\), and in the second \(m>l\), in order, starting from table (1), to carry out the described algorithm, it is sufficient to know only the numbers \(k_1,\ldots,k_l\).
I express my gratitude to A. L. Brudno for attention to the present work.
Received
7 XII 1965
REFERENCES
- A. Charnes, Econometrica, 20, No. 2, 160 (1952).
- G. B. Dantzig, A. Orden, P. Wolfe, Pacific J. Math., 5, No. 2, 183 (1955).
- G. B. Dantzig, In: Activity Analysis of Production and Allocation, N. Y., 1951, p. 359.