Abstract
In this paper, we describe a two-stage method for solving optimization problems with bound constraints. It combines the active-set estimate described in Facchinei and Lucidi (J Optim Theory Appl 85(2):265–289, 1995) with a modification of the non-monotone line search framework recently proposed in De Santis et al. (Comput Optim Appl 53(2):395–423, 2012). In the first stage, the algorithm exploits a property of the active-set estimate that ensures a significant reduction in the objective function when setting to the bounds all those variables estimated active. In the second stage, a truncated-Newton strategy is used in the subspace of the variables estimated non-active. In order to properly combine the two phases, a proximity check is included in the scheme. This new tool, together with the other theoretical features of the two stages, enables us to prove global convergence. Furthermore, under additional standard assumptions, we can show that the algorithm converges at a superlinear rate. Promising experimental results demonstrate the effectiveness of the proposed method.
Similar content being viewed by others
References
Conn, A.R., Gould, N.I., Toint, P.L.: Global convergence of a class of trust region algorithms for optimization with simple bounds. SIAM J. Numer. Anal. 25(2), 433–460 (1988)
Lin, C.J., Moré, J.J.: Newton’s method for large bound-constrained optimization problems. SIAM J. Optim. 9(4), 1100–1127 (1999)
Dennis, J., Heinkenschloss, M., Vicente, L.N.: Trust-region interior-point SQP algorithms for a class of nonlinear programming problems. SIAM J. Control Optim. 36(5), 1750–1794 (1998)
Heinkenschloss, M., Ulbrich, M., Ulbrich, S.: Superlinear and quadratic convergence of affine-scaling interior-point Newton methods for problems with simple bounds without strict complementarity assumption. Math. Program. 86(3), 615–635 (1999)
Kanzow, C., Klug, A.: On affine-scaling interior-point Newton methods for nonlinear minimization with bound constraints. Comput. Optim. Appl. 35(2), 177–197 (2006)
Bertsekas, D.P.: Projected Newton methods for optimization problems with simple constraints. SIAM J. Control Optim. 20(2), 221–246 (1982)
Facchinei, F., Lucidi, S., Palagi, L.: A truncated Newton algorithm for large scale box constrained optimization. SIAM J. Optim. 12(4), 1100–1125 (2002)
Hager, W.W., Zhang, H.: A new active set algorithm for box constrained optimization. SIAM J. Optim. 17(2), 526–557 (2006)
Schwartz, A., Polak, E.: Family of projected descent methods for optimization problems with simple bounds. J. Optim. Theory Appl. 92(1), 1–31 (1997)
Facchinei, F., Júdice, J., Soares, J.: An active set Newton algorithm for large-scale nonlinear programs with box constraints. SIAM J. Optim. 8(1), 158–186 (1998)
Cheng, W., Li, D.: An active set modified Polak-Ribiere-Polyak method for large-scale nonlinear bound constrained optimization. J. Optim. Theory Appl. 155(3), 1084–1094 (2012)
Andreani, R., Birgin, E.G., Martínez, J.M., Schuverdt, M.L.: Second-order negative-curvature methods for box-constrained and general constrained optimization. Comput. Optim. Appl. 45(2), 209–236 (2010)
Birgin, E.G., Martínez, J.M.: Large-scale active-set box-constrained optimization method with spectral projected gradients. Comput. Optim. Appl. 23(1), 101–125 (2002)
De Santis, M., Di Pillo, G., Lucidi, S.: An active set feasible method for large-scale minimization problems with bound constraints. Comput. Optim. Appl. 53(2), 395–423 (2012)
Facchinei, F., Lucidi, S.: Quadratically and superlinearly convergent algorithms for the solution of inequality constrained minimization problems. J. Optim. Theory Appl. 85(2), 265–289 (1995)
Barzilai, J., Borwein, J.M.: Two-point step size gradient methods. IMA J. Numer. Anal. 8(1), 141–148 (1988)
De Santis, M., Lucidi, S., Rinaldi, F.: A Fast Active Set Block Coordinate Descent Algorithm for \(\ell _1\)-regularized least squares. SIAM J. Optim. 26(1), 781–809 (2016)
Buchheim, C., De Santis, M., Lucidi, S., Rinaldi, F., Trieu, L.: A feasible active set method with reoptimization for convex quadratic mixed-integer programming. SIAM J. Optim. 26(3), 1695–1714 (2016)
Di Pillo, G., Grippo, L.: A class of continuously differentiable exact penalty function algorithms for nonlinear programming problems. In: System Modelling and Optimization, pp. 246–256. Springer, Berlin (1984)
Grippo, L., Lucidi, S.: A differentiable exact penalty function for bound constrained quadratic programming problems. Optimization 22(4), 557–578 (1991)
Zhang, H., Hager, W.W.: A nonmonotone line search technique and its application to unconstrained optimization. SIAM J. Optim. 14(4), 1043–1056 (2004)
Dembo, R.S., Steihaug, T.: Truncated-Newton algorithms for large-scale unconstrained optimization. Math. Program. 26(2), 190–212 (1983)
Grippo, L., Lampariello, F., Lucidi, S.: A class of nonmonotone stabilization methods in unconstrained optimization. Numer. Math. 59(1), 779–805 (1991)
Gould, N.I., Orban, D., Toint, P.L.: GALAHAD, a library of thread-safe Fortran 90 packages for large-scale nonlinear optimization. ACM Trans. Math. Softw. (TOMS) 29(4), 353–372 (2003)
Gould, N.I., Orban, D., Toint, P.L.: CUTEst: a constrained and unconstrained testing environment with safe threads for mathematical optimization. Comput. Optim. Appl. 60(3), 545–557 (2015)
Dolan, E.D., Moré, J.J.: Benchmarking optimization software with performance profiles. Math. Program. 91(2), 201–213 (2002)
Birgin, E.G., Gentil, J.M.: Evaluating bound-constrained minimization software. Comput. Optim. Appl. 53(2), 347–373 (2012)
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendices
Appendix A
Proof
(Proposition 3.2) Assume that \(\bar{x}\) satisfies (14)–(16). First, we show that
In order to prove (28), assume by contradiction that there exists an index \(i \in A_l(\bar{x})\) such that \(l_i < \bar{x} \le l_i + \epsilon \lambda _i(\bar{x})\). It follows that \(\lambda _i(\bar{x}) > 0\), and, from (12), that \(g_i(\bar{x})>0\), contradicting (14). Then, (28) holds. The same reasoning applies to prove (29).
Recalling (9), we have that \(g_i(\bar{x})>0\) for all \(i \in A_l(\bar{x})\). Combined with (28), it means that \(\bar{x}_i\) satisfies (2) for all \(i \in A_l(\bar{x})\). Similarly, since \(g_i(\bar{x})<0\) for all \(i \in A_u(\bar{x})\) and (29) holds, then \(\bar{x}_i\) satisfies (3) for all \(i \in A_u(\bar{x})\).
From (16), we also have that \(\bar{x}_i\) satisfies optimality conditions for all \(i \in N(\bar{x})\). Then, \(\bar{x}\) is a stationary point.
Now, assume that \(\bar{x}\) is a stationary point. First, we consider a generic index i such that \(\bar{x}_i = l_i\). For such an index, from (2) we get \(g_i(\bar{x})\ge 0\). If \(g_i(\bar{x})>0\), then, from (9), it follows that \(i \in A_l(\bar{x})\) and (14) is satisfied. Vice versa, if \(g_i(\bar{x})=0\), then we have that i belongs to \(N(\bar{x})\), satisfying (16). The same reasoning applies for a generic index i such that \(\bar{x}_i = u_i\).
Finally, for every index i such that \(l_i< \bar{x}_i < u_i\), from (4) we have that \(g_i(\bar{x}) = 0\). Then, \(\bar{x}\) satisfies (14)–(16). \(\square \)
Proof
(Proposition 3.3) Assume that (17) is verified. Namely,
Recalling the definition of \(A_l(\bar{x})\) and \(A_u(\bar{x})\), the previous relations imply that (14) and (15) are verified. Then, from Proposition 3.2, \(\bar{x}\) is a stationary point if and only if \(g_i(\bar{x}) = 0\) for all \(i\in N(\bar{x})\). \(\square \)
Proof
(Proposition 3.4) Assume that condition (18) is verified. If we have
from the definition of \(A_l(\bar{x})\) and \(A_u(\bar{x})\) it follows that
Then, conditions (2)–(4) are verified, and \(\bar{x}\) is a stationary point.
Conversely, if \(\bar{x}\) is a stationary point, we proceed by contradiction and assume that there exists \(\bar{x}_i \in (l_i,u_i)\) such that \(i \in A_l(\bar{x}) \cup A_u(\bar{x})\). From the definition of \(A_l(\bar{x})\) and \(A_u(\bar{x})\), it follows that \(g_i(\bar{x}) \ne 0\), violating (4) and thus contradicting the fact that \(\bar{x}\) is a stationary point. \(\square \)
Proof
(Proposition 3.5) By the second-order mean value theorem, we have
where \(z = x + \xi (\tilde{x}-x)\) for a \(\xi \in ]0,1[\). Therefore,
Recalling the definition of \(\tilde{x}\), we can also write
From the definitions of \(A_l(x)\) and \(A_u(x)\), and recalling (12) and (13), we have
and we can write
Hence, from (31), it follows that
Finally, from (30) and (32), we have
where the last inequality follows from equation (19) in Assumption 3.1. \(\square \)
Proof
(Proposition 3.6) Since the gradient is Lipschitz continuous over [l, u], there exists \(L<\infty \) such that for all \(s\in [0,1]\) and for all \(\alpha \ge 0\):
By the mean value theorem, we have:
Moreover, as the gradient is continuous and the feasible set is compact, there exists \(M > 0\) such that
From (20), (22) and (34), we can write
Now, let us define \(\theta _1,\dots ,\theta _n\) as:
We set
and define \(\hat{\alpha }\) as follows:
In the following, we want to majorize the right-hand-side term of (33). First, we consider the term \(g(\bar{x})^\mathrm{T}(\bar{x}(\alpha ) - x)\). We distinguish three cases:
-
(i)
\(i \in N(\bar{x})\) such that \(l_i< \bar{x}_i < u_i\). We distinguish two subcases:
-
if \(d_i \ge 0\):
$$\begin{aligned} l_i< \bar{x}_i + \alpha d_i \le \bar{x}_i + \frac{\tilde{\theta }}{\sigma _2 M} d_i \le x_i + \tilde{\theta }< u_i, \qquad \forall \alpha \in ]0,\hat{\alpha }], \end{aligned}$$ -
else, if \(d_i < 0\):
$$\begin{aligned} u_i> \bar{x}_i + \alpha d_i \ge \bar{x}_i + \frac{\tilde{\theta }}{\sigma _2 M} d_i \ge \bar{x}_i - \tilde{\theta } > l_i, \qquad \forall \alpha \in ]0,\hat{\alpha }]. \end{aligned}$$
So, we have
$$\begin{aligned} \bar{x}_i(\alpha ) = \bar{x}_i + \alpha d_i, \quad \forall \alpha \in ]0,\hat{\alpha }], \end{aligned}$$which implies
$$\begin{aligned} g_i(\bar{x})(\bar{x}_i(\alpha ) - \bar{x}_i) = \alpha g_i(\bar{x})d_i, \quad \forall \alpha \in ]0,\hat{\alpha }]. \end{aligned}$$(35) -
-
(ii)
\(i \in N(\bar{x})\) such that \(\bar{x}_i = l_i\). Recalling the definition of N(x), it follows that \(g_i(\bar{x}) \le 0\). We distinguish two subcases:
-
if \(d_i \ge 0\):
$$\begin{aligned} l_i \le \bar{x}_i + \alpha d_i \le \bar{x}_i + \frac{\tilde{\theta }}{\sigma _2 M} d_i \le \bar{x}_i + \tilde{\theta } < u_i, \qquad \forall \alpha \in ]0,\hat{\alpha }], \end{aligned}$$and then
$$\begin{aligned} \bar{x}_i(\alpha ) = \bar{x}_i + \alpha d_i, \quad \forall \alpha \in ]0,\hat{\alpha }], \end{aligned}$$which implies
$$\begin{aligned} g_i(\bar{x})(\bar{x}_i(\alpha ) - \bar{x}_i) = \alpha g_i(\bar{x})d_i, \quad \forall \alpha \in ]0,\hat{\alpha }]. \end{aligned}$$(36) -
else, if \(d_i < 0\), we have
$$\begin{aligned} \bar{x}_i(\alpha ) = \bar{x}_i, \quad \forall \alpha > 0, \end{aligned}$$and then
$$\begin{aligned} 0 = g_i(\bar{x})(\bar{x}_i(\alpha ) - \bar{x}_i) \le \alpha g_i(\bar{x})d_i, \quad \forall \alpha > 0. \end{aligned}$$(37)
-
-
(iii)
\(i \in N(\bar{x})\) such that \(\bar{x}_i = u_i\). Following the same reasonings done in the previous step, we have that
-
if \(d_i \le 0\):
$$\begin{aligned} g_i(\bar{x})(\bar{x}_i(\alpha ) - \bar{x}_i) = \alpha g_i(\bar{x})d_i, \quad \forall \alpha \in ]0,\hat{\alpha }]; \end{aligned}$$(38) -
else, if \(d_i > 0\), we have
$$\begin{aligned} 0 = g_i(\bar{x})(\bar{x}_i(\alpha ) - \bar{x}_i) \le \alpha g_i(\bar{x})d_i, \quad \forall \alpha > 0. \end{aligned}$$(39)
-
From (20), (35), (36), (37), (38) and (39), we obtain
Now, we consider the term \(\displaystyle \frac{L}{2}\Vert \bar{x}(\alpha ) - \bar{x}\Vert ^{2}\). For every \(i \in N(\bar{x})\) such that \(d_i \le 0\), we have that \(0 \le \bar{x}_i - \bar{x}_i(\alpha )\le -\alpha d_i\) holds for all \(\alpha >0\). Therefore,
Else, for every \(i \in N(\bar{x})\) such that \(d_i > 0\), we have that \(0 \le \bar{x}_i(\alpha ) - \bar{x}_i\le \alpha d_i\) holds for all \(\alpha > 0\). Therefore,
Recalling (20), from (41) and (42) we obtain
From (20), (33), (40) and (43), we can write
It follows that (23) is satisfied by choosing \(\bar{\alpha }\) such that
Thus, the proof is completed defining
\(\square \)
Appendix B
The scheme of the algorithm is reported in Algorithm 1. At Step 10, 17 and 25 there is the update of the reference value of the non-monotone line search \(f^j_R\): we set \(j := j+1\), \(l^j := k\) and the reference value is updated according to the formula
Appendix C
In this section, we prove Theorem 4.1. Preliminarily, we need to state some results.
Lemma C.1
Let Assumption 3.1 hold. Suppose that ASA-BCP produces an infinite sequence \(\{x^k\}\), then
-
(i)
\(\{f^j_R\}\) is non-increasing and converges to a value \(\bar{f}_R\);
-
(ii)
for any fixed \(j \ge 0\) we have:
$$\begin{aligned} f^h_R < f^j_R, \quad \forall h > j+M. \end{aligned}$$
Proof
The proof follows from Lemma 1 in [23]. \(\square \)
Lemma C.2
Let Assumption 3.1 hold. Suppose that ASA-BCP produces an infinite sequence \(\{x^k\}\) and an infinite sequence \(\{\tilde{x}^k\}\). For any given value of k, let q(k) be the index such that
Then, there exists a sequence \(\{\tilde{x}^{s(j)}\}\) and an integer L satisfying the following conditions:
-
(i)
\(f^j_R = f(\tilde{x}^{s(j)})\)
-
(ii)
for any integer k, there exist an index \(h^k\) and an index \(j^k\) such that:
$$\begin{aligned}&0< h^k - k \le L, \qquad h^k = s(j^k), \\&\quad f^{j^k}_R = f(\tilde{x}^{h^k}) < f^{q(k)}_R. \end{aligned}$$
Proof
The proof follows from Lemma 2 in [23] taking into account that for any iteration index k, there exists an integer \(\tilde{L}\) such that the condition of Step 9 is satisfied within the \((k+\tilde{L})\)th iteration. In fact, assume by contradiction that it is not true. If Step 9 is not satisfied at a generic iteration k, then \(x^{k+1} = \tilde{x}^k\). Since the sequences \(\{x^k\}\) and \(\{\tilde{x}^k\}\) are infinite, Proposition 3.4 implies that \(\tilde{x}^{k+1} \ne x^{k+1}\) and that the objective function strictly decreases. Repeating this procedure for an infinite number of steps, an infinite sequence of distinct points \(\{x^{k+1}, x^{k+2}, \dots \}\) is produced, where these points differ from each other only for the values of the variables at the bounds. Since the number of variables is finite, this produces a contradiction. \(\square \)
Lemma C.3
Let Assumption 3.1 hold. Suppose that ASA-BCP produces an infinite sequence \(\{x^k\}\) and an infinite sequence \(\{\tilde{x}^k\}\). Then,
Proof
We build two different partitions of the iterations indices to analyze the computation of \(x^{k+1}\) from \(\tilde{x}^k\) and that of \(\tilde{x}^k\) from \(x^k\), respectively. From the instructions of the algorithm, it follows that \(x^{k+1}\) can be computed at Step 21, Step 29 or Step 31. Let us consider the following subset of iteration indices:
Then, we have
As regards the computation of \(\tilde{x}^k\), we distinguish two further subsets of iterations indices:
Then, we have
Preliminarily, we point out some properties of the above subsequences. The subsequence \(\{\tilde{x}^k\}_{\mathcal K_1}\) satisfies
where the integer t increases with \(k \in \mathcal K_1\). Since \(\beta \in ]0,1)\), if \(\mathcal K_1\) is infinite, we have
Moreover, since \(\alpha ^k = 0\) and \(d^k = 0\) for all \(k \in \mathcal K_3\), if \(\mathcal K_3\) is infinite, we have
The subsequence \(\{\tilde{x}^k\}_{\mathcal K_4}\) satisfies
where the integer t increases with \(k \in \mathcal K_4\). Since \(\beta \in ]0,1[\), if \(\mathcal K_4\) is infinite, we have
Now we prove (44). Let s(j), \(h^k\) and q(k) be the indices defined in Lemma C.2. We show that for any fixed integer \(i \ge 1\), the following relations hold:
Without loss of generality, we assume that j is large enough to avoid the occurrence of negative apices. We proceed by induction and first show that (50)–(53) hold for \(i=1\). If \(s(j) \in \mathcal K_4\), relations (50) and (52) follow from (49) and the continuity of the objective function. If \(s(j) \in \mathcal K_5\), from the instructions of the algorithm and taking into account Proposition 3.5, we get
from which we get
and then, from point (i) of Lemma C.1, it follows that
which proves (52) for \(i=1\). From the above relation, and by exploiting Proposition 3.5 again, we have that
and then (50) holds for \(i=1\).
If \(s(j)-1 \in \mathcal K_1 \cup \mathcal K_3\), from (47) and (48) it is straightforward to verify that (51) holds for \(i=1\). By exploiting the continuity of the objective function, since (51) and (52) hold for \(i=1\), then also (53) is verified for \(i=1\). If \(s(j)-1 \in \mathcal {K}_2\), from the instruction of the algorithm, we obtain
and then
From (54), point (i) of Lemma C.1, and recalling (20)–(22), we have that
for every subsequence such that \(s(j)-1 \in \mathcal K_2\). Therefore, (51) holds for \(i=1\). Recalling that \(f(x^{s(j)}) = f(\tilde{x}^{s(j)-1} + \alpha ^{s(j)-1} d^{s(j)-1})\), and since (50) and (51) hold for \(i=1\), from the continuity of the objective function it follows that also (53) holds for \(i=1\).
Now we assume that (50)–(53) hold for a given fixed \(i \ge 1\) and show that these relations must hold for \(i + 1\) as well. If \(s(j) - i \in \mathcal K_4\), by using (49), it is straightforward to verify that (50) is verified replacing i with \(i+1\). Taking into account (53), this implies that
and then (52) holds for \(i+1\). If \(s(j) - i \in \mathcal K_5\), from the instructions of the algorithm, and taking into account Proposition 3.5, we get
Exploiting (53) and point (i) of Lemma C.1, we have that
which proves (52) for \(i+1\). From the above relation, and by exploiting Proposition 3.5 again, we can also write
and then (50) holds for \(i+1\).
If \(s(j)-i-1 \in \mathcal K_1 \cup \mathcal K_3\), from (47) and (48), we obtain that (51) holds for \(i=i+1\). Since \(x^{s(j)-i} = \tilde{x}^{s(j)-i-1} + \alpha ^{s(j)-i-1} d^{s(j)-i-1}\), exploiting (47), (48), (55) and the continuity of the objective function, we obtain that (53) holds replacing i with \(i+1\).
If \(s(j)-i-1 \in \mathcal {K}_2\), from the instruction of the algorithm, we obtain
and then
From (55), point (i) of Lemma C.1, and recalling (20)–(22), we have that
for every subsequence such that \(s(j)-1 \in \mathcal K_2\). Therefore, (51) holds for \(i+1\).
Recalling that \(f(x^{s(j)-i}) = f(\tilde{x}^{s(j)-i-1} + \alpha ^{s(j)-i-1} d^{s(j)-i-1})\), and since (50) and (51) hold replacing i with \(i+1\), exploiting the continuity of the objective function, we have
Therefore, if (53) holds at a generic \(i \ge 1\), it must hold for \(i+1\) as well. This completes the induction.
Now, for any iteration index \(k>0\), we can write
By exploiting the continuity of the objective function, and taking into account point (i) of Lemma C.1, the above relation implies that
which proves (44).
To prove (45), if \(k \in \mathcal K_1 \cup \mathcal K_3\), then from (47) and (48) we obtain
If \(k \in \mathcal K_2\), from the instruction of the algorithm, we get
and then, recalling conditions (20)–(22) and (44), we can write
From (56) and (57), it follows that (45) holds.
To prove (46), if \(k \in \mathcal K_4\), then from (49) we obtain
If \(k \in \mathcal K_5\), from the instruction of the algorithm and recalling Proposition 3.5, we get
From (44) and point (i) of Lemma C.1, we have that
By exploiting Proposition 3.5 again, we can write
and then
From (58) and (59), it follows that (46) holds. \(\square \)
The following theorem extends a known result from unconstrained optimization, guaranteeing that the sequence of the directional derivatives along the search direction converges to zero.
Theorem C.1
Let Assumption 3.1 hold. Assume that ASA-BCP does not terminate in a finite number of iterations, and let \(\{x^k\}\), \(\{\tilde{x}^k\}\) and \(\{d^k\}\) be the sequences produced by the algorithm. Then,
Proof
We can identify two iteration index subsets \(H,K \subseteq \{1,2,\dots \}\), such that:
-
\(N(\tilde{x}^k) \ne \emptyset \) and \(g_N(\tilde{x}^k) \ne 0\), for all \(k \in K\),
-
\(H := \{1,2,\dots \} \setminus K\).
By assumption, the algorithm does not terminate in a finite number of iterations, and then, at least one of the above sets is infinite. Since we are interested in the asymptotic behavior of the sequence produced by ASA-BCP, we assume without loss of generality that both H and K are infinite sets.
Taking into account Step 31 in Algorithm 1, it is straightforward to verify that
Therefore, we limit our analysis to consider the subsequence \(\{x^k\}_K\). Let \(\bar{x}\) be any limit point of \(\{x^k\}_K\). By contradiction, we assume that (60) does not hold. Using (46) of Lemma C.3, since \(\{x^k\}\), \(\{\tilde{x}^k\}\) and \(\{d^k\}\) are limited, and taking into account that \(A_l(x^k)\), \(A_u(x^k)\) and \(N(x^k)\) are subsets of a finite set of indices, without loss of generality we redefine \(\{x^k\}_K \) the subsequence such that
and
Since we have assumed that (60) does not hold, the above relations, combined with (21) and the continuity of the gradient, imply that
It follows that
and then, recalling (45) of Lemma C.3, we get
Consequently, from the instructions of the algorithm, there must exist a subsequence (renamed K again) such that the line search procedure at Step 28 is performed and \(\alpha ^k < 1\) for sufficiently large k. Namely,
where \(q(k) := \max \{ j :l^j \le k \}\). We can write the point \([\tilde{x}^k + \frac{\alpha ^k}{\delta }d^k]^{\sharp }\) as follows:
where
As \(\{\tilde{x}^k\}\) is a sequence of feasible points, \(\{\alpha ^k\}\) converges to zero and \(\{d^k\}\) is limited, we get
From (63) and (64), we can write
By the mean value theorem, we have
where
From (62) and (65), and since \(\{d^k\}\) is limited, we obtain
Substituting (67) into (66), and multiplying each term by \(\dfrac{\delta }{\alpha ^k}\), we get
From the definition of \(y^k\), it follows that
In particular, we have
From the above relation, it is straightforward to verify that
In the following, we want to majorize the left-hand side of (70) by showing that \(\{\frac{\alpha ^k}{\delta }g(z^k)^\mathrm{T}y^k\}\) converges to a nonnegative value. To this aim, we analyze three different cases, depending on whether \(\bar{x}_i\) is at the bounds or is strictly feasible:
-
(i)
\(i \in \hat{N}\) such that \(l_i< \bar{x}_i < u_i\). As \(\{\tilde{x}^k\}\) converges to \(\bar{x}\), there exists \(\tau > 0\) such that
$$\begin{aligned} l_i + \tau \le \tilde{x}^k \le u_i - \tau , \qquad k \in K, \, k \text { sufficiently large}. \end{aligned}$$Since \(\{\alpha ^k\}\) converges to zero and \(\{d^k\}\) is limited, it follows that \(\frac{\alpha ^k}{\delta } |d^k_i| < \tau \), for \(k \in K\), k sufficiently large. Then,
$$\begin{aligned} l_i< \tilde{x}^k_i + \frac{\alpha ^k}{\delta }d^k_i < u_i, \qquad k \in K, \, k \text { sufficiently large}, \end{aligned}$$which implies, from (71), that
$$\begin{aligned} y^k_i = 0, \qquad k \in K, \, k \text { sufficiently large}. \end{aligned}$$(74) -
(ii)
\(i \in \hat{N}\) such that \(\bar{x}_i = l_i\). First, we show that
$$\begin{aligned}&g_i(\bar{x}) \le 0, \end{aligned}$$(75)$$\begin{aligned}&y^k_i \le 0, \qquad k \in K, \, k \text { sufficiently large}. \end{aligned}$$(76)To show (75), we assume by contradiction that \(g_i(\bar{x}) > 0\). From (12) and recalling that \(\Vert \tilde{x}^k - x^k\Vert \) converges to zero from (46) of Lemma C.3, it follows that
$$\begin{aligned} \lim _{k\rightarrow \infty , \, k\in K} \lambda _i(\tilde{x}^k) = \lim _{k\rightarrow \infty , \, k\in K} g_i(\tilde{x}^k) = g_i(\bar{x}) > 0. \end{aligned}$$Then, there exist an iteration index \(\hat{k}\) and a scalar \(\xi > 0\) such that \(\lambda _i(\tilde{x}^k) \ge \xi > 0\), for all \(k \ge \hat{k}, \, k \in K\). As \(\{\tilde{x}^k_i\}\) converges to \(l_i\), there also exists \(\tilde{k} \ge \hat{k}\) such that
$$\begin{aligned} l_i \le \tilde{x}^k_i \le l_i + \epsilon \xi \le l_i + \epsilon \lambda _i(\tilde{x}^k),&\qquad k \in K, \, k \ge \tilde{k}, \\ g_i(\tilde{x}^k) > 0,&\qquad k \in K, \, k \ge \tilde{k}, \end{aligned}$$which contradicts the fact that \(i \in N(\tilde{x}^k)\) for k sufficiently large. To show (76), we observe that since \(\{\tilde{x}^k_i\}\) converges to \(l_i\), there exists \(\tau \in ]0,u_i-l_i]\) such that
$$\begin{aligned} l_i \le \tilde{x}^k_i \le u_i-\tau , \qquad k \in K, \, k \text { sufficiently large}. \end{aligned}$$Moreover, since \(\{\alpha ^k\}\) converges to zero and \(\{d^k\}\) is limited, it follows that \(\frac{\alpha ^k}{\delta } d^k_i \le \tau \), for \(k \in K\), k sufficiently large. Then,
$$\begin{aligned} \tilde{x}^k + \frac{\alpha ^k}{\delta } d^k_i \le u_i, \qquad k \in K, \, k \text { sufficiently large}. \end{aligned}$$The above relation, combined with (71), proves (76). Now, we distinguish two subcases, depending on the sign of \(d^k_i\):
-
for every subsequence \(\bar{K} \subseteq K\) such that \(d^k_i \ge 0\), from (72) it follows that \(y^k_i \ge 0\). Consequently, from (76) we can write
$$\begin{aligned} y^k_i = 0, \qquad k \in \bar{K}, \, k \text { sufficiently large}. \end{aligned}$$(77) -
for every subsequence \(\bar{K} \subseteq K\) such that \(d^k_i < 0\), we have two further possible situations, according to (75):
-
(a)
\(g_i(\bar{x}) < 0\). As \(\{z^k\}\) converges to \(\bar{x}\), then \(g_i(z^k) \le 0\) for \(k \in \bar{K}\), k sufficiently large. From (76), we obtain
$$\begin{aligned} \frac{\delta }{\alpha ^k}g_i(z^k)y^k_i \ge 0, \qquad k \in \bar{K}, \, k \text { sufficiently large}. \end{aligned}$$(78) -
(b)
\(g_i(\bar{x}) = 0\). From (73), we get
$$\begin{aligned} \frac{\delta }{\alpha ^k} |g_i(z^k)y^k_i| \le \frac{\delta }{\alpha ^k} |g_i(z^k)| |y^k_i| \le |g_i(z^k)| |d^k_i|. \end{aligned}$$Since \(\{d^k\}\) is limited, \(\{z^k\}\) converges to \(\bar{x}\), and \(g_i(\bar{x}) = 0\), from the continuity of the gradient we get
$$\begin{aligned} \lim _{k\rightarrow \infty , \, k\in \bar{K}} \frac{\delta }{\alpha ^k} g_i(z^k)d^k_i = 0. \end{aligned}$$(79)
-
(a)
-
-
(iii)
\(i \in \hat{N}\) such that \(\bar{x}_i = u_i\). Reasoning as in the previous case, we obtain
$$\begin{aligned} \lim _{k\rightarrow \infty , \, k\in K} \frac{\delta }{\alpha ^k} g_i(z^k)y^k_i \ge 0. \end{aligned}$$(80)
Finally, from (74), (77), (78), (79) and (80), we have
and, from (61), (69), (70), (80) and (81), we obtain
This contradicts the fact that we set \(\gamma < 1\) in ASA-BCP. \(\square \)
Now, we can prove Theorem 4.1.
Proof
(Theorem 4.1) Let \(x^*\) be any limit point of the sequence \(\{x^k\}\), and let \(\{x^k\}_K \) be the subsequence converging to \(x^*\). From (46) of Lemma C.3 we can write
and, thanks to the fact that \(A_l(x^k)\), \(A_u(x^k)\) and \(N(x^k)\) are subsets of a finite set of indices, we can define a further subsequence \(\hat{K} \subseteq K\) such that
for all \(k \in \hat{K}\). Recalling Proposition 3.2, we define the following function that measures the violation of the optimality conditions for feasible points:
By contradiction, we assume that \(x^*\) is a non-stationary point for problem (1). Then, there exists an index i such that \(\phi (x^*_i) > 0\). From (82) and the continuity of \(\phi \), there exists an index \(\tilde{k}\) such that
Now, we consider three cases:
-
(i)
\(i \in \hat{A}_l\). Then, \(\tilde{x}^k_i = l_i\). From (12) and (9), we get \(g_i(x^k) > 0, \, \forall k \in \hat{K}\). By continuity of the gradient, and since both \(\{\tilde{x}^k\}_{\hat{K}}\) and \(\{x^k\}_{\hat{K}}\) converge to \(x^*\), we obtain
$$\begin{aligned} g_i(\tilde{x}^k) \ge -\frac{\varDelta }{2}, \end{aligned}$$for \(k \in \hat{K}\), k sufficiently large. Then, we have \(\phi (\tilde{x}^k_i) \le \frac{\varDelta ^2}{4} < \varDelta \) for \(k \in \hat{K}\), k sufficiently large. This contradicts (83).
-
(ii)
\(i \in \hat{A}_u\). Then, \(\tilde{x}^k_i = u_i\). The proof of this case is a verbatim repetition of the previous case.
-
(iii)
\(i \in \hat{N}\). As \(\phi (x_i^*) > 0\), then \(g_i(x^*) \ne 0\). From Theorem C.1, we have
$$\begin{aligned} \lim _{k\rightarrow \infty ,\, k\in \hat{K}} g(\tilde{x}^k)^\mathrm{T} d^k = 0. \end{aligned}$$From (21), it follows that
$$\begin{aligned} \lim _{k\rightarrow \infty ,\, k\in \hat{K}} \Vert g_{\hat{N}}(\tilde{x}^k)\Vert = \Vert g_{\hat{N}}(x^*)\Vert = 0, \end{aligned}$$leading to a contradiction.\(\square \)
In order to prove Theorem 4.2, we need a further lemma.
Lemma C.4
Let Assumption 3.1 hold and assume that \(\{x^k\}\) is an infinite sequence generated by ASA-BCP. Then, there exists an iteration index \(\bar{k}\) such that \(N(x^k) \ne \emptyset \) for all \(k \ge \bar{k}\).
Proof
By contradiction, we assume that there exists an infinite index subset \(\bar{K} \subseteq \{1,2,\dots \}\) such that \(N(x^k) = \emptyset \) for all \(k \in \bar{K}\). Let \(x^*\) be a limit point of \(\{x\}_{\bar{K}}\), that is,
where \(K \subseteq \bar{K}\). Theorem 4.1 ensures that \(x^*\) is a stationary point. From (46) of Lemma C.3, we can write
Moreover, from Proposition 3.1, there exists an index \(\hat{k}\) such that
Let \(\tilde{k}\) be the smallest integer such that \(\tilde{k} \ge \hat{k}\) and \(\tilde{k} \in K\). From (84) and (85), we can write
Since \(N(x^k)\) is empty for all \(k \in K\), we also have
Consequently, \(\tilde{x}^{\tilde{k}} = x^*\), contradicting the hypothesis that the sequence \(\{x^k\}\) is infinite. \(\square \)
Now, we can finally prove Theorem 4.2.
Proof
(Theorem 4.2) From Proposition 3.1, exploiting the fact the sequence \(\{x^k\}\) converges to \(x^*\) and that strict complementarity holds, we have that for sufficiently large k,
From the instructions of the algorithm, it follows that \(\tilde{x}^k = x^k\) for sufficiently large k, and then, the minimization is restricted on \(N(\tilde{x}^k)\). From Lemma C.4, we have that \(N(\tilde{x}^k) = N(x^k) = N^* \ne \emptyset \) for sufficiently large k. Furthermore, from (27), we have that \(d_{N(\tilde{x}^k)}^k\) is a Newton-truncated direction, and then, the assertion follows from standard results on unconstrained minimization. \(\square \)
Rights and permissions
About this article
Cite this article
Cristofari, A., De Santis, M., Lucidi, S. et al. A Two-Stage Active-Set Algorithm for Bound-Constrained Optimization. J Optim Theory Appl 172, 369–401 (2017). https://doi.org/10.1007/s10957-016-1024-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10957-016-1024-9
Keywords
- Bound-constrained optimization
- Large-scale optimization
- Active-set methods
- Non-monotone stabilization techniques