UDC 512.25/26 + 519.3 : 330.115
Unknown
Submitted 1965-01-01 | RussiaRxiv: ru-196501.10514 | Translated from Russian

Full Text

UDC 512.25/26 + 519.3 : 330.115

CYBERNETICS AND CONTROL THEORY

Yu. Yu. FINKELSHTEIN

ON AN ALGORITHM FOR SOLVING INTEGER LINEAR PROGRAMMING PROBLEMS WITH BOOLEAN VARIABLES

(Presented by Academician A. A. Dorodnitsyn, 3 III 1965)

The idea of the cutting-plane method first appeared in the work of Dantzig, Fulkerson, and Johnson (¹) (a more detailed exposition is given in (²)). The first algorithm implementing the cutting-plane method for integer linear programming (i.l.p.) problems of general form was proposed by Gomory (³) (a survey of various modifications of Gomory’s method is given in (⁴); see also (⁵)).

In the present note a substantially different algorithm is proposed for solving i.l.p. problems with integer variables taking the values 0 and 1*. The finiteness of the algorithm is proved and upper estimates are given for the number of iterations. An example is given of a class of problems for which the upper estimate of the number of iterations is substantially smaller than the size of complete enumeration (Theorem 5).

The algorithm proposed by us (briefly, the \(B\)-algorithm) uses the idea of the cutting-plane method; however, we give a new rule for constructing an additional linear constraint (l.c.). The \(B\)-algorithm solves not the original i.l.p. problem directly, but a certain number of canonical i.l.p. problems obtained from it (problems \(E_t\)). The number of canonical problems solved is estimated and, in a broad class of cases, proves to be small. The solution of the i.l.p. problem obtained with the help of the \(B\)-algorithm is approximate (with any prescribed accuracy). In an important special case, when only integer variables enter the objective function with nonzero coefficients (and these coefficients are rational), the \(B\)-algorithm makes it possible to obtain an exact solution.

In Gomory’s method the l.c. was constructed in the form \(\sum_{j \in N} \gamma_j x_j - \gamma_0 \geqslant 0\), where \(N\) is the set of nonbasic variables corresponding to the given stage of solving the i.l.p. problem, and the coefficients \(\gamma_0\) and \(\gamma_j\) \((j \in N)\) are nonnegative. The method proposed by us for constructing an l.c. essentially uses the specific character of the i.l.p. problem with Boolean variables.

Consider an i.l.p. problem with Boolean variables:

\[ f(x) \equiv \sum_{j=1}^{N} c_j x_j \to \max; \tag{1} \]

\[ \sum_{j=1}^{N} a_{ij}x_j \leqslant b_i,\qquad i=1,2,\ldots,m_1; \tag{2a} \]

\[ \sum_{j=1}^{N} a_{ij}x_j = b_i,\qquad i=m_1+1,\ m_1+2,\ldots,m_1+m_2; \tag{2b} \]

\[ x_j \geqslant 0,\qquad j=1,2,\ldots,N; \tag{3} \]

\[ x_j \leqslant 1,\qquad j=1,2,\ldots,n_1; \tag{4} \]

\[ x_j\ \text{is an integer},\qquad j=1,2,\ldots,n_1. \tag{5} \]

* It is known (see (⁶)) that any i.l.p. problem for which the set of feasible solutions of the corresponding l.p. problem is bounded can be reduced to an i.l.p. problem with Boolean integer variables. However, under such a reduction the number of variables may increase substantially.

The nonnegative variables that turn the inequalities (2a) into equalities will be denoted by \(x_{N+i}\):

\[ x_{N+i}\equiv b_i-\sum_{j=1}^{N} a_{ij}x_j,\quad i=1,2,\ldots,m_1. \tag{2c} \]

Here \(N=n_1+n_2,\ n_1>0,\ n_2\ge 0\).

Let \(\operatorname{sign}|c_j|=\delta_{kj}\), where \(\delta_{kj}\) is the Kronecker symbol, \(1\le k\le n_1\). Then the \(B\)-algorithm may be applied directly (generally speaking, after some renumbering of the variables) to problem (1)—(5). Therefore, in what follows, when reducing problem (1)—(5) to a certain number of canonical problems, we shall assume that, if \(c_j=0,\ n_1+1\le j\le N\), then

\[ \sum_{j=1}^{n_1} \operatorname{sign}|c_j|\ge 2. \]

In addition, we shall require that the objective function \(f(x)\) be bounded on the set \(G\) of feasible solutions \(x=(x_1,\ldots,x_N)\) of the l.p. problem (2)—(4). The set of feasible solutions \(x\) of the i.l.p. problem (2)—(5) will be denoted by \(G^{\mathrm{ц}}\).

Denote:

\[ m=\min_{x\in G} f(x); \tag{6} \]

\[ M=\max_{x\in G} f(x). \tag{7} \]

Let \(\tilde{x}\) be an optimal solution of problem (1)—(5), and let \(\varepsilon>0\). We shall call \(\bar{x}\) an \(\varepsilon\)-optimal solution of problem (1)—(5) if: a) \(\bar{x}\in G^{\mathrm{ц}}\); b) \(f(\tilde{x})-f(\bar{x})<\varepsilon\).

Remark. Let: 1) \(c_j=0,\ n_1+1\le j\le N\); 2) \(c_j\) be rational, \(1\le j\le n_1\). Then there exists a number \(q\) (\(q\) is the least common multiple of the denominators of the irreducible fractions \(p_j/q_j=c_j,\ 1\le j\le n_1\)) such that, if \(\varepsilon_q=1/q\), then an \(\varepsilon_q\)-optimal solution of problem (1)—(5) will be an optimal solution of problem (1)—(5).

Denote

\[ G^{\mathrm{ц}}(t)=\{x\mid x\in G^{\mathrm{ц}};\ f(x)\ge t\}; \tag{8a} \]

\[ G(t)=\{x\mid x\in G;\ f(x)\ge t\}, \tag{8b} \]

and we shall call the following problem canonical:

Problem \(E_t\). Indicate some \(x\equiv x(t)\in G^{\mathrm{ц}}(t)\) or prove that the set \(G^{\mathrm{ц}}(t)\) is empty.

Theorem 1. In order to find an \(\varepsilon\)-optimal solution of problem (1)—(5), it is sufficient to compute \(m,\ M\) and to solve no more than

\[ \left(2+\left[\log_2\left(\frac{M-m}{\varepsilon}\right)\right]\right) \]

problems of type \(E_t\).

To apply the apparatus of linear programming to the solution of the problem \(E_t\), we lexicographically order the points \((x_1,\ldots,x_{n_1})\) and shall seek a point \((x_1,\ldots,x_N)\) for which

\[ (x_1,x_2,\ldots,x_{n_1})\to \max *; \tag{9} \]

\[ x\equiv (x_1,\ldots,x_N)\in G^{\mathrm{ц}}(t). \tag{10} \]

Of course, the objective function of problem (9)—(10) depends on the choice of the numbering of the integer variables.

* What is meant is lexicographic maximization of the vector \((x_1,\ldots,x_{n_1})\), i.e., maximization of the function

\[ \sum_{j=1}^{n_1}\eta^{j-1}x_j, \]

where \(\eta\) is an arbitrarily small positive parameter.

The \(B\)-algorithm is applied precisely to problem (9)—(10), and in solving problem (9)—(10) we follow the general scheme proposed by Gomory (3), but use another rule for constructing an additional linear constraint. Let us recall the general scheme of the cutting-plane method for solving integer linear programming problems (we shall present it as applied to problem (9)—(10)).

The 0-th iteration. Find \(\max_{x\in G(t)}(x_1,\ldots,x_{n_1}) \equiv (x_1^0,\ldots,x_{n_1}^0)\). If the set \(G(t)\) is empty, then \(G^{\mathrm{ц}}(t)\) is also empty, i.e., problem (9)—(10) has no solution. If \(x^0 \equiv (x_1^0,\ldots,x_N^0) \in G^{\mathrm{ц}}(t)\), then \(x^0\) is a solution of problem (9)—(10). If \(G(t)\) is nonempty and \(x^0 \notin G^{\mathrm{ц}}(t)\), then we pass to the 1st iteration.

To describe the \(k\)-th iteration (\(k \ge 1\)) we shall need the following notation: \(g_r\) is an additional linear constraint-inequality introduced at the \(r\)-th iteration, \(r \ge 1\); \(\eta_r\) is a nonnegative variable supplementing the inequality \(g_r\), \(r \ge 1\), to an equality; \(N_r\) is the set of nonbasic variables obtained after the end of the \(r\)-th iteration, \(r \ge 0\); \(\bar g_r\) is the set of points \(x \equiv (x_1,\ldots,x_N)\) satisfying the additional linear constraint \(g_r\), \(r \ge 1\).

The \(k\)-th iteration (\(k \ge 1\)). We construct the additional constraint \(g_k\). Put

\[ G_k(t)= \begin{cases} G(t)\cap \bar g_1, & \text{if } k=1,\\[6pt] \left(G(t)\cap \bar g_k\right)\cap \left( \displaystyle\bigcap_{\substack{r=1\\ \eta_r\in N_{k-1}}}^{k-1}\bar g_r \right), & \text{if } k\ge 2, \end{cases} \tag{11} \]

and formulate the following problem. Find

\[ \max_{x\in G_k(t)}(x_1,\ldots,x_{n_1})\equiv (x_1^k,\ldots,x_{n_1}^k). \tag{12} \]

If the set \(G_k(t)\) is empty, then problem (9), (10) has no solution. If \(x^k \equiv (x_1^k,\ldots,x_N^k)\in G^{\mathrm{ц}}(t)\), then \(x^k\) is a solution of problem (9)—(10). If \(G_k(t)\) is nonempty and \(x^k\notin G^{\mathrm{ц}}(t)\), then we pass to the \((k+1)\)-st iteration.

Rule for constructing the additional linear constraint \(g_k\) (at the \(k\)-th iteration, \(k\ge 1\)). Let \(G_{k-1}(t)\) be nonempty, \(x^{k-1}\notin G^{\mathrm{ц}}(t)\), and let \(x_{\alpha_{k-1}}^{k-1}\) be the first (by number) noninteger component of \(x^{k-1}\), \(1\le \alpha_{k-1}\le n_1\). Then the additional linear constraint \(g_k\) is constructed in the following form:

\[ \varphi_k(x_1,x_2,\ldots,x_{n_1}) \equiv \sum_{j=1}^{\alpha_{k-1}-1} \left[(1-x_j)\operatorname{sign}x_j^{k-1} +x_j\operatorname{sign}(1-x_j^{k-1})\right] + \]

\[ +(1-x_{\alpha_{k-1}})\ge 1. \tag{13} \]

The algorithm (for solving an integer linear programming problem with Boolean integer variables and an objective function of type (9)), constructed according to the scheme given above and using the rule (13) for constructing an additional linear constraint, will be called the \(B\)-algorithm.

Theorem 2. The \(B\)-algorithm solves the problem of lexicographic maximization of \((x_1,\ldots,x_{n_1})\) on a set defined by relations of type (2)—(5), and moreover in a finite number of iterations.

Theorem 3. Suppose that, with the aid of the \(B\)-algorithm, the problem of lexicographic maximization of \((x_1,\ldots,x_{n_1})\) on a set defined by relations of type (2)—(5) is solved. Then for the number of iterations \(I\) (counting the zero-th iteration) the estimate holds

\[ I\le 2^{n_1}. \tag{14} \]

Theorem 4. Suppose that, by means of the \(B\)-algorithm, the problem of lexicographic maximization of \((x_1,\ldots,x_{n_1})\) is solved on the set specified by relations of type (2)—(5).

Assume that the set of indices \(H=\{j\mid j=1,2,\ldots,n_1\}\) can be partitioned into disjoint subsets \(H_r,\ r=1,2,\ldots,(v+w)\), having the following properties:

a)
\[ \sum_{j\in H_r} x_j = 1,\quad r=1,2,\ldots,v; \tag{15} \]

b)
\[ \sum_{j\in H_r} x_j \leq 1,\quad r=v+1,\ v+2,\ldots,(v+w); \tag{16} \]

c) if \(H_r=\{j_{r1},\ldots,j_{rh_r}\},\ r=1,2,\ldots,(v+w)\), then \(j_{rs}=j_{r1}+(s-1),\ s=1,2,\ldots,h_r,\ r=1,2,\ldots,(v+w)\).

Then for the number of iterations \(I\) (counting the zero iteration) the estimate holds
\[ I \leq \left[\prod_{r=1}^{v} h_r\right]\cdot \left[\prod_{r=v+1}^{v+w} (h_r+1)\right], \tag{17} \]
where \(h_r\) is the number of distinct indices \(j\) belonging to the set \(H_r\).

Theorem 5. Suppose that, by means of the \(B\)-algorithm, the problem of lexicographic maximization of \((x_1,\ldots,x_{n_1})\) is solved on the set specified by relations of type (2)—(5).

Assume that: 1) the set \(G^{\mathrm{ц}}\) is nonempty; 2) there exists a natural number \(k\) \((1\leq k\leq n_1-1)\) having the following property: if \((\gamma_1,\ldots,\gamma_N)\in G\) and
\[ (\gamma_1,\ldots,\gamma_{n_1})> \max_{x\in G^{\mathrm{ц}}}(x_1,\ldots,x_{n_1}), \]
then among the numbers \(\gamma_1,\ldots,\gamma_k\) there are nonintegral ones.

Then for the number of iterations \(I\) (counting the zero iteration) the estimate holds
\[ I \leq 2^k. \tag{18} \]

Central Economic-Mathematical
Institute
Academy of Sciences of the USSR

Received
2 III 1965

CITED LITERATURE

  1. G. B. Dantzig, D. R. Fulkerson, S. Johnson, Operat. Res., 2, No. 3, 393 (1954).
  2. G. B. Dantzig, D. R. Fulkerson, S. M. Johnson, Operat. Res., 7, No. 1, 58 (1959).
  3. R. E. Gomory, Bull. Am. Math. Soc., 64, No. 5, 275 (1958).
  4. A. Ben-Israel, A. Charnes, Cahiers du Centre d’études de recherche Opérationnelle, 4, No. 4, 215 (1962).
  5. G. T. Martin, In: Recent Advances in Math. Program., N. Y., 1963, p. 311.
  6. G. B. Dantzig, Operat. Res., 5, No. 2, 266 (1957).

Submission history

UDC 512.25/26 + 519.3 : 330.115