UDC 519.95
S. I. ZUKHOVITSKII, R. A. POLYAK, M. E. PRIMAK
Submitted 1968-01-01 | RussiaRxiv: ru-196801.79863 | Translated from Russian

Full Text

UDC 519.95

CYBERNETICS AND CONTROL THEORY

S. I. ZUKHOVITSKII, R. A. POLYAK, M. E. PRIMAK

ON A PROBLEM OF CONCAVE PROGRAMMING

(Presented by Academician A. Yu. Ishlinskii on 26 V 1967)

1. By the general problem of concave programming we shall mean the problem of finding

\[ \min_{x \in \Omega} f(x) = f(x^*), \tag{1} \]

where \(f(x)\) is a concave function, and \(\Omega\) is a convex closed set in \(E_n\). The difficulty of the problem is due to the fact that the function \(f(x)\) may have local extrema on the boundary of the set \(\Omega\). The latter circumstance makes it impossible to apply algorithms (see, for example, \((^1)\)) developed for solving the problem of convex programming, which has no local extrema.

An attempt to overcome the indicated difficulties was made in \((^2)\), where a polyhedron was considered as \(\Omega\). Although the algorithm given in \((^2)\) for solving problem (1) makes it possible, theoretically, to obtain \(x^*\) in a finite number of steps by solving at each step a certain linear programming problem, nevertheless the number of steps is, generally speaking, so large that it makes this algorithm of little practical use.

In the present paper an efficient algorithm is constructed for solving one special case of a problem of type (1), where both the function \(f(x)\) and the domain \(\Omega\) have a special form.

2. The problem is formulated as follows. Let concave functions \(f_i(x_i)\) \((i=1,\ldots,n)\) and numbers \(0<\alpha_1<\alpha_2<\cdots<\alpha_n\) be given. It is necessary to find a point \(x^*=(x_1^*,\ldots,x_n^*)\) minimizing the function \(\sum_{i=1}^n f_i(x_i)\) on the polyhedron \(\Omega\) defined by the inequalities \(x_1 \leq \alpha_1,\ x_1+x_2\leq \alpha_2,\ldots,\ x_1+\cdots+x_n\leq \alpha_n;\ x_1\geq 0,\ldots,x_n\geq 0\):

\[ \sum_{i=1}^{n} f_i(x_i^*) = \min \left\{ \sum_{i=1}^{n} f_i(x_i)\ \middle|\ \sum_{\nu=1}^{i} x_\nu \leq \alpha_i;\ x_i \geq 0\ (i=1,\ldots,n) \right\}. \tag{2} \]

At the same time we do not exclude the case when some of the inequalities defining \(\Omega\) are strict equalities.

We arrive at a problem of this type when solving the following so-called problem of unification of parts \((^3)\). It is required to manufacture \(n\) types of parts in quantities respectively \(a_1,\ldots,a_n\). With the manufacture of \(x_i\) parts of the \(i\)-th type there are associated costs

\[ f_i(x_i)= \begin{cases} b_i x_i+c_i, & \text{if } x_i>0,\\ 0, & \text{if } x_i=0. \end{cases} \]

Suppose it is known that each part of a smaller number can be replaced by a part of any larger number (one for one), but not conversely.

* We owe the formulation of this problem to A. V. Perelmuter.

The problem consists in finding such a set \(x_1^*, \ldots, x_n^*\) of these parts for which the total costs of their manufacture would be minimal, i.e., it is necessary to find a point \(x^* = (x_1^*, \ldots, x_n^*)\) from the condition

\[ \sum_{i=1}^{n} f_i(x_i^*) = \min \left\{ \sum_{i=1}^{n} f_i(x_i)\ \middle|\ \sum_{\nu=1}^{i} x_\nu \leq \sum_{\nu=1}^{i} a_\nu,\quad (i=1,\ldots,n-1); \right. \]

\[ \left. \sum_{\nu=1}^{n} x_\nu = \sum_{\nu=1}^{n} a_\nu;\quad x_i \geq 0\quad (i=1,\ldots,n) \right\}. \tag{3} \]

  1. Since the function \(\sum_{i=1}^{n} f_i(x_i)\) is concave, the following holds.

Lemma 1. An optimal solution \(x^* = (x_1^*, \ldots, x_n^*)\) of problem (2) is some vertex of the polyhedron

\[ \Omega = \left\{ x:\ \sum_{\nu=1}^{i} x_\nu \leq a_i,\quad x_i \geq 0\ (i=1,\ldots,n) \right\}. \tag{4} \]

Consider each of the \(n\) pairs of linear inequalities

\[ x_1+\cdots+x_i \leq a_i,\quad x_i \geq 0 \quad (i=1,\ldots,n), \tag{5} \]

which define \(\Omega\). Obviously, any set of \(n\) equalities, one from each pair (5), determines some vertex of the polyhedron \(\Omega\). But the converse is also true: at any vertex \(x' \in \Omega\), exactly one of the inequalities of each pair (5) becomes an equality. This follows from the fact that, if \(x_1+\cdots+x_{i-1}+x_i=a_i\) and \(x_i=0\), then we would have \(x_1+\cdots+x_{i-1}=a_i>a_{i-1}\), contrary to the assumption made. Hence it follows that

Lemma 2. Let the first \(k\) \((k=1,\ldots,n-1)\) coordinates \(x_1',\ldots,x_k'\) of some vertex \(x' \in \Omega\) be defined. Then the \((k+1)\)-st coordinate \(x_{k+1}'\) is either equal to zero or equal to \(a_{k+1}-\sum_{\nu=1}^{n} x_\nu'\) (so that, when \(x_{k+1}'>0\), necessarily

\[ \sum_{\nu=1}^{k+1} x_\nu' = a_{k+1}. \]

).

By induction, for example, it is easy to establish

Lemma 3. For any vertex \(x' \in \Omega\), the sum \(\sum_{\nu=1}^{k} x_\nu'\) takes only one of the following \(k+1\) values: \(0, a_1,\ldots,a_{k-1}, a_k\), so that the coordinate \(x_{k+1}'\) is either equal to 0 or equal to one of the numbers

\[ a_{k+1},\ a_{k+1}-a_1,\ldots,\ a_{k+1}-a_k. \]

Remark. From the preceding it follows that, in finding the minimum of the function \(\sum_{i=1}^{n} f_i(x_i)\), the corresponding value of each function \(f_i(x_i)\) \((i=1,\ldots,n)\) need be sought only among its \(i+1\) values

\[ f_i(0), f_i(a_i), f_i(a_i-a_1), \ldots, f_i(a_i-a_{i-1}). \]

Fig. 1

Fig. 1

  1. The main point in the proposed method for solving problem (2) is the construction, on the basis of the lemmas given, of a network in which each arc represents one of the values of a specified coordinate of some vertex of \(\Omega\), and each path from the initial node to the final node represents one vertex of \(\Omega\). With an appropriate definition of arc lengths, this makes it possible to reduce problem (2) to the known problem (see, for example, (4)) of finding a shortest path in a network, for which convenient algorithms exist.

The construction given below of the indicated network means nothing other than a graphical representation of the branching of the values of consecutive coordinates of the vertices of the polyhedron \(\Omega\). Note that the values of the first co-

the ordinates \(x_1'\) are the numbers \(0\) and \(a_1\). We shall depict this by the following branching from the initial node: draw from it a horizontal arc to represent \(x_1' = 0\) and an inclined arc to represent \(x_1' = a_1 > 0\) (see Fig. 1). To obtain the values of the second coordinate \(x_2'\), we continue the branching process, starting from the second series of nodes at the ends of the constructed arcs, using the formula \(x_2'=\) either \(0\), or \(a_2 - x_1'\), so that we obtain the result shown in Fig. 2.

Fig. 2

Fig. 2

Fig. 3

Fig. 3

We note that in the third series of nodes one may combine the 3rd and 4th nodes, into which inclined arcs \(x_2' > 0\) enter, since \(x_1' + x_2' = a_2\) for \(x_2' > 0\) (by Lemma 2), and in continuing the branching from the 3rd and 4th nodes the values of the coordinate \(x_3'\) are computed by the formula \(x_3' = 0\), or \(a_3 - (x_1' + x_2') = a_3 - a_2\), i.e., they are the same both when branching from the 3rd node and from the 4th node. Therefore a network of the kind shown in Fig. 3 is obtained.

Fig. 4

Fig. 4

In general, the \((k+1)\)-st (\(k = 1,\ldots,n-1\)) series of nodes contains, instead of \(2^k\) nodes, only \(k+1\) nodes, one node more than the \(k\)-th series, since the lower \((k+1)\)-st node receives inclined arcs from all \(k\) nodes of the \(k\)-th series.

Figure 4 shows the scheme of the whole network.

Thus, in this network, each path from the initial node to the last corresponds (one-to-one) to some vertex \((x_1',\ldots,x_n') \in \Omega\).

Remark. If among the pairs of constraints (5) some inequality constraints are replaced by strict equalities, for example \(x_1 + \ldots + x_{i_0} = a_{i_0}\), then necessarily \(x_{i_0} > 0\), and, when branching from the nodes of the \(i_0\)-th series in order to determine the values of the coordinate \(x'_{i_0}\), we shall obtain only inclined arcs, and every path from the initial node to the last node will necessarily pass through the last node \((i_0 + 1, i_0 + 1)\) of the \((i_0 + 1)\)-st series.

  1. Let us now assign to each arc-coordinate \(x_i'\) of the constructed network the length \(f_i(x_i')\). Then the length of any path from the initial node \((1,1)\) to the final \((n + 1,1)\) is expressed by the sum \(f_1(x_1') + \ldots + f_n(x_n')\), and problem (2) of finding the minimum of this sum is reduced to the problem of finding, in the network, a path of minimum length from \((1,1)\) to \((n + 1,1)\), i.e., to a problem effectively solvable, for example, by Ford’s algorithm \((^4)\), with the solution obtained in a single scan of the nodes.

Moscow Civil Engineering Institute
named after V. V. Kuibyshev

Computing Center of the State Planning Committee of the Ukrainian SSR

Received
17 V 1967

REFERENCES

\(^1\) S. I. Zukhovitskii, L. I. Avdeeva, Linear and Convex Programming, “Nauka,” 1967. \(^2\) H. Owen–Tuy, DAN, 159, No. 1 (1964). \(^3\) Yu. Enuste, Economics of Construction, 10 (1963). \(^4\) L. Ford, D. Fulkerson, Flows in Networks, Moscow, 1966.

Submission history

UDC 519.95