# Accelerating the DC algorithm for smooth functions

## Abstract

We introduce two new algorithms to minimise smooth difference of convex (DC) functions that accelerate the convergence of the classical DC algorithm (DCA). We prove that the point computed by DCA can be used to define a descent direction for the objective function evaluated at this point. Our algorithms are based on a combination of DCA together with a line search step that uses this descent direction. Convergence of the algorithms is proved and the rate of convergence is analysed under the Łojasiewicz property of the objective function. We apply our algorithms to a class of smooth DC programs arising in the study of biochemical reaction networks, where the objective function is real analytic and thus satisfies the Łojasiewicz property. Numerical tests on various biochemical models clearly show that our algorithms outperform DCA, being on average more than four times faster in both computational time and the number of iterations. Numerical experiments show that the algorithms are globally convergent to a non-equilibrium steady state of various biochemical networks, with only chemically consistent restrictions on the network topology.

## Keywords

DC function DC programming DC algorithm Łojasiewicz property Biochemical reaction networks## Mathematics Subject Classification

65K05 65K10 90C26 92C42## 1 Introduction

*composite functions*) and the class of functions that are representable as difference of convex functions (

*DC functions*).

In 1981, Fukushima and Mine [7, 17] introduced two algorithms to minimise a *composite function*. In both algorithms, the main idea is to linearly approximate the differentiable part of the composite function at the current point and then minimise the resulting convex function to find a new point. The difference between the new and current points provides a descent direction with respect to the composite function, when it is evaluated at the current point. The next iteration is then obtained through a line search procedure along this descent direction. Algorithms for minimising composite functions have been extensively investigated and found applications to many problems such as: inverse covariance estimate, logistic regression, sparse least squares and feasibility problems, see e.g. [9, 14, 15, 19] and the references quoted therein.

In 1986, Pham Dinh and El Bernoussi [23] introduced an algorithm to minimise *DC functions*. In its simplified form, the *Difference of Convex functions Algorithm* (DCA) linearly approximates the concave part of the objective function (\(-f_{2}\) in (1)) at the current point and then minimises the resulting convex approximation to the DC function to find the next iteration, without recourse to a line search. The main idea is similar to Fukushima–Mine approach but was extended to the non-differentiable case. This algorithm has been extensively studied by Le Thi, Pham Dinh and their collaborators, see e.g. [10, 12, 13, 22]. DCA has been successfully applied in many fields, such as machine learning, financial optimisation, supply chain management and telecommunication [6, 10, 24]. Nowadays, DC programming plays an important role in nonconvex programming and DCA is commonly used because of its key advantages: simplicity, inexpensiveness and efficiency [10]. Some results related to the convergence rate for special classes of DC programs have been also established [11, 13].

In this paper we introduce two new algorithms to find stationary points of DC programs, called *Boosted Difference of Convex function Algorithms* (BDCA), which accelerate DCA with a line search using an Armijo type rule. The first algorithm directly uses a backtracking technique, while the second uses a quadratic interpolation of the objective function together with backtracking. Our algorithms are based on both DCA and the proximal point algorithm approach of Fukushima–Mine. First, we compute the point generated by DCA. Then, we use this point to define the search direction. This search direction coincides with the one employed by Fukushima–Mine in [7]. The key difference between their method and ours is the starting point used for the line search: in our algorithms we use the point generated by DCA, instead of using the previous iteration. This scheme works thanks to the fact that the defined search direction is not only a descent direction for the objective function at the previous iteration, as observed by Fukushima–Mine, but is also a descent direction at the point generated by DCA. Unfortunately, as shown in Remark 1, this scheme cannot be extended in general for nonsmooth functions, as the defined search direction might be an ascent direction at the point generated by DCA.

Moreover, it is important to notice that the iterations of Fukushima–Mine and BDCA never coincide, as the largest step size taken in their algorithm is equal to one (which gives the DCA iteration). In fact, for smooth functions, the iterations of Fukushima–Mine usually coincide with the ones generated by DCA, as the step size equal to one is normally accepted by their Armijo rule.

We should point out that DCA is a descent method without line search. This is something that is usually claimed to be advantageous in the large-scale setting. Our purpose here is the opposite: we show that a line search can increase the performance even for high-dimensional problems.

Further, we analyse the rate of convergence under the Łojasiewicz property [16] of the objective function. It should be mentioned that the Łojasiewicz property is recently playing an important role for proving the convergence of optimisation algorithms for analytic cost functions, see e.g. [1, 3, 4, 13].

We have performed numerical experiments in functions arising in the study of biochemical reaction networks. We show that the problem of finding a steady state of these networks, which plays a crucial role in the modelling of biochemical reaction systems, can be reformulated as a minimisation problem involving DC functions. In fact, this is the main motivation and starting point of our work: when one applies DCA to find a steady state of these systems, the rate of convergence is usually quite slow. As these problems commonly involve hundreds of variables (even thousands in the most complex systems, as Recon 2^{1}), the speed of convergence becomes crucial. In our numerical tests we have compared BDCA and DCA for finding a steady state in various biochemical network models of different size. On average, DCA needed five times more iterations than BDCA to achieve the same accuracy, and what is more relevant, our implementation of BDCA was more than four times faster than DCA to achieve the same accuracy. Thus, we prove both theoretically and numerically that BDCA results more advantageous than DCA. Luckily, the objective function arising in these biochemical reaction networks is real analytic, a class of functions which is known to satisfy the Łojasiewicz property [16]. Therefore, the above mentioned convergence analysis results can be applied in this setting.

The rest of this paper is organised as follows. In Sect. 2, we recall some preliminary facts used throughout the paper and we present the main optimisation problem. Sect. 3 describes our main results, where the new algorithms (BDCA) and their convergence analysis for solving DC programs are established. A DC program arising in biochemical reaction network problems is introduced in Sect. 4. Numerical results comparing BDCA and DCA on various biochemical network models are reported in Sect. 5. Finally, conclusions are stated in the last section.

## 2 Preliminaries

Throughout this paper, the inner product of two vectors \(x,y\in \mathbb {R}^{m}\) is denoted by \(\langle x,y\rangle \), while \(\Vert \cdot \Vert \) denotes the induced norm, defined by \(\Vert x\Vert =\sqrt{\langle x,x\rangle }\). The nonnegative orthant in \(\mathbb {R}^{m}\) is denoted by \(\mathbb {R}_{+}^{m}=[0,\infty )^{m}\) and \(\mathbb {B}(x,r)\) denotes the closed ball of center *x* and radius \(r>0\). The gradient of a differentiable function \(f:\mathbb {R}^{m}\rightarrow \mathbb {R}^{n}\) at some point \(x\in \mathbb {R}^{m}\) is denoted by \(\nabla f(x)\in \mathbb {R}^{m\times n}\).

*convex*if

*f*is called

*strongly convex*with modulus \(\sigma >0\) if

*f*is said to be

*coercive*if \(f(x)\rightarrow +\infty \) whenever \(\left\| x\right\| \rightarrow +\infty .\)

*monotone*when

*F*is called

*strongly monotone*with modulus \(\sigma >0\) when

*F*is called

*Lipschitz continuous*if there is some constant \(L\ge 0\) such that

*F*is called locally Lipschitz continuous if for every

*x*in \(\mathbb {R}^{m}\), there exists a neighbourhood

*U*of

*x*such that

*F*restricted to

*U*is Lipschitz continuous.

We have the following well-known result.

## Proposition 1

Let \(f:\mathbb {R}^{m}\rightarrow \mathbb {R}\) be a differentiable function. Then f is (strongly) convex if and only if \(\nabla f\) is (strongly) monotone.

To establish our convergence results, we will make use of the Ł*ojasiewicz property*, defined next.

## Definition 1

Let \(f:\mathbb {R}^{n}\rightarrow \mathbb {R}\) be a differentiable function.

- (i)The function
*f*is said to have the Ł*ojasiewicz property*if for any critical point \(\bar{x}\), there exist constants \(M>0,\varepsilon >0\) and \(\theta \in [0,1)\) such thatwhere we adopt the convention \(0^{0}=0\). The constant \(\theta \) is called Ł$$\begin{aligned} |f(x)- f(\bar{x})|^{\theta }{{\le }}M\left\| \nabla f(x)\right\| ,\quad \text {for all }x\in \mathbb {B}(\bar{x},\varepsilon ), \end{aligned}$$(3)*ojasiewicz exponent*of*f*at \(\bar{x}.\) - (ii)
The function

*f*is said to be*real analytic*if for every \(x\in \mathbb {R}^{n}\),*f*may be represented by a convergent power series in some neighbourhood of*x*.

## Proposition 2

[16] Every real analytic function \(f:\mathbb {R}^{n}\rightarrow \mathbb {R}\) satisfies the Łojasiewicz property with exponent \(\theta \in \left[ 0,1\right) \).

*g*and

*h*are strongly convex functions with modulus \(\rho \) and \(g(x)-h(x)=\phi (x)\), for all \(x\in \mathbb {R}^{m}\). In this way, we obtain the equivalent problem

## 3 Boosted DC Algorithms

*Boosted DC Algorithm*

*with Backtracking*. The algorithm is a combination of Algorithm 1 and the algorithm of Fukushima–Mine [7].

The next proposition shows that the solution of \((\mathscr {P}_{k})\), which coincides with the DCA subproblem in Algorithm 1, provides a decrease in the value of the objective function. For the sake of completeness, we include its short proof.

## Proposition 3

## Proof

*h*implies

If \(\lambda _{k}=0\), the iterations of BDCA-Backtracking coincide with those of DCA, since the latter sets \(x_{k+1}:=y_{k}\). Next we show that \(d_{k}=y_{k}-x_{k}\) is a descent direction for \(\phi \) at \(y_{k}\). Thus, one can achieve a larger decrease in the value of \(\phi \) by moving along this direction. This simple fact, which permits an improvement in the performance of DCA, constitutes the key idea of our algorithms.

## Proposition 4

## Proof

*h*is strongly convex with constant \(\rho \). This implies that \(\nabla h\) is strongly monotone with constant \(\rho \); whence,

## Remark 1

*g*is not differentiable. In fact, the direction \(d_k\) might be an ascent direction, in which case Step 4 in Algorithm 2 could become an infinite loop. For instance, consider \(g(x)=|x|+\frac{1}{2}x^2+\frac{1}{2}x\) and \(h(x)=\frac{1}{2}x^2\) for \(x\in \mathbb {R}\). If \(x_0=\frac{1}{2}\), one has

As a corollary, we deduce that the backtracking Step 4 of Algorithm 2 terminates finitely when \(\rho >\alpha \).

## Corollary 1

## Proof

## Remark 2

*l*. The iterations would be the same if \(\beta ^{l}=\lambda +1\). Nevertheless, as \(0<\beta <1\), the step size \(\lambda =\beta ^{l}-1\) chosen in the Fukushima–Mine algorithm [7] is always less than or equal to zero, while in Algorithm 2, only step sizes \(\lambda \in \,]0,\bar{\lambda }]\) are explored. Moreover, observe that the Armijo type rule (5), as used in [7], searches for an \(l_{k}\) such that \(\phi (x_{k}+\beta ^{l_{k}}d_{k})<\phi (x_{k})\), whereas Algorithm 2 searches for a \(\lambda _{k}\) such that \(\phi (y_{k}+\lambda _{k}d_{k})<\phi (y_{k})\). We know from (6) and (9) that

## Remark 3

In a personal communication, Christian Kanzow pointed out that the assumption \(\rho >\alpha \) can be removed if one replaces the step size rule (9) by \(\phi \left( y_{k}+\lambda d_{k}\right) \le \phi (y_{k})-\alpha \lambda ^2\Vert d_{k}\Vert ^{2}.\) It can be easily checked that the convergence theory in the rest of the paper remains valid with some small adjustments.

The following convergence results were inspired by Attouch and Bolte [3], which in turn were adapted from the original ideas of Łojasiewicz; see also [5, Section 3.2].

## Proposition 5

- (i)
\(\phi (x_{k})\) is monotonically decreasing and convergent to some \(\phi ^{*}\).

- (ii)
Any limit point of \(\{x_{k}\}\) is a stationary point of \(\left( \mathscr {P}\right) \). If in addition, \(\phi \) is coercive then there exits a subsequence of \(\{x_{k}\}\) which converges to a stationary point of \(\left( \mathscr {P}\right) \).

- (iii)
\(\sum _{k=0}^{\infty }\Vert d_{k}\Vert ^{2}<\infty \) and \(\sum _{k=0}^{\infty }\Vert x_{k+1}-x_{k}\Vert ^{2}<\infty \).

## Proof

If \(\phi \) is coercive, since the sequence \(\{\phi (x_{k})\}\) is convergent, then the sequence \(\{x_{k}\}\) is bounded. This implies that there exits a subsequence of \(\{x_{k}\}\) converging to \(\bar{x}\), a stationary point of \(\left( \mathscr {P}\right) \), which proves (ii).

*N*, we obtain

We will employ the following useful lemma to obtain bounds on the rate of convergence of the sequences generated by Algorithm 2. This result appears within the proof of [3, Theorem 2] for specific values of \(\alpha \) and \(\beta \). See also [13, Theorem 3.3], or very recently, [15, Theorem 3].

## Lemma 1

- (i)
if \(\alpha =0\), the sequence \(\left\{ s_{k}\right\} \) converges to 0 in a finite number of steps;

- (ii)
if \(\alpha \in \left( 0,1\right] \), the sequence \(\left\{ s_{k}\right\} \) converges linearly to 0 with rate \(1-\frac{1}{\beta }\);

- (iii)if \(\alpha >1\), there exists \(\eta >0\) such that$$\begin{aligned} s_{k}\le \eta k^{-\frac{1}{\alpha -1}},\quad \text {for all }k\text { sufficiently large.} \end{aligned}$$

## Proof

*k*large enough. Thus, by (13), we have

*k*, then (13) implies \(s_{k+1}=0\). Then the sequence converges to zero in a finite number of steps, and thus (iii) trivially holds. Hence, we will assume that \(s_{k}>0\) and that (13) holds for all \(k\ge N\), for some positive integer

*N*. Consider the decreasing function \(\varphi :(0,+\infty )\rightarrow \mathbb {R}\) defined by \(\varphi (s):=s^{-\alpha }\). By (13), for \(k\ge N\), we have

*k*from

*N*to \(j-1\ge N\), we have

## Theorem 1

- (i)
if \(\theta =0\) then the sequences \(\{x_{k}\}\) and \(\{\phi (x_{k})\}\) converge in a finite number of steps to \(x^{*}\) and \(\phi ^{*}\), respectively;

- (ii)
if \(\theta \in \left( 0,\frac{1}{2}\right] \) then the sequences \(\{x_{k}\}\) and \(\{\phi (x_{k})\}\) converge linearly to \(x^{*}\) and \(\phi ^{*}\), respectively;

- (iii)if \(\theta \in \left( \frac{1}{2},1\right) \) then there exist some positive constants \(\eta _{1}\) and \(\eta _{2}\) such thatfor all large$$\begin{aligned}&\Vert x_{k}-x^{*}\Vert \le \eta _{1}k^{-\frac{1-\theta }{2\theta -1}},\\&\quad \phi (x_{k})-\phi ^{*}\le \eta _{2}k^{-\frac{1}{2\theta -1}}, \end{aligned}$$
*k*.

## Proof

*k*.

*N*large enough such that

*N*if needed, we can assure that

*P*one has

*i*to

*P*with \(N\le i\le P\), we have

## Example 1

*too expensive*to compute, it makes sense to construct a quadratic approximation of \(\phi \) with an interpolation using three pieces of information: \(\phi _{k}(0)=\phi (y_{k})\), \(\phi _{k}'(0)=\nabla \phi (y_{k})^{T}d_{k}\) and \(\phi _{k}(\bar{\lambda })\). This gives us the quadratic function

## Corollary 2

The statements in Theorem 1 also apply to Algorithm 3.

## Proof

Just observe that the proof of Theorem 1 remains valid as long as the step sizes are bounded above by some constant and below by zero. Algorithm 3 uses the same directions than Algorithm 2, and the step sizes chosen by Algorithm 3 are bounded above by \(\lambda _{\max }\) and below by zero. \(\square \)

One could also construct a cubic function that interpolates \(\phi _{k}(-1)\), \(\phi _{k}(0)\), \(\phi _{k}'(0)\) and \(\phi _{k}(\bar{\lambda })\), see [20, Section 3.5]. However, for the functions in Sect. 4, we have observed that this cubic function usually fits the function \(\phi _{k}\) worse than the quadratic function \(\varphi _{k}\) in (24).

## Remark 4

## Example 2

(Finding zeroes of systems of DC functions)

*p*(

*x*) and

*c*(

*x*) are nonnegative convex functions. Hence, both \(f_{1}(x):=2\left( \Vert p(x)\Vert ^{\text {2}}+\Vert c(x)\Vert ^{\text {2}}\right) \) and \(f_{2}(x):=\Vert p(x)+c(x)\Vert ^{\text {2}}\) are continuously differentiable convex functions, because they can be expressed as a finite combination of sums and products of nonnegative convex functions. Thus, we can either apply DCA or BDCA in order to find a solution to (26) by setting \(\phi (x):=f_{1}(x)-f_{2}(x).\)

*x*close to \(\bar{x}\), we have

*M*is an upper bound of \(\frac{1}{2}\Vert \left( \nabla f(x)\right) ^{-1}\Vert \) around \(\bar{x}\). Thus, \(\phi \) has the Łojasiewicz property at \(\bar{x}\) with exponent \(\theta =\frac{1}{2}\). Finally, for all \(\rho >0\), the function \(g(x):=f_{1}(x)+\frac{\rho }{2}\Vert x\Vert ^{2}\) is twice continuously differentiable, which in particular implies that \(\nabla g\) is locally Lipschitz continuous. Therefore, either Theorem 1 or Corollary 2 guarantee the linear convergence of \(\left\{ x_{k}\right\} \) to \(\bar{x}\).

## 4 A DC problem in biochemistry

Consider a biochemical network with *m* molecular species and *n* reversible elementary reactions.^{2} Define forward and reverse *stoichiometric matrices*, \(F,R\in \mathbb {\mathbb {Z}}_{\ge 0}^{m\times n}\), respectively, where \(F_{ij}\) denotes the *stoichiometry* ^{3} of the \(i\mathrm{th}\) molecular species in the \(j\mathrm{th}\) forward reaction and \(R_{ij}\) denotes the stoichiometry of the \(i\mathrm{th}\) molecular species in the \(j\mathrm{th}\) reverse reaction. We use the standard inner product in \(\mathbb {R}^{m}\), i.e., \(\langle x,y\rangle =x^{T}y\) for all \(x,y\in \mathbb {R}^{m}.\) We assume that *every reaction conserves mass*, that is, there exists at least one positive vector \(l\in \mathbb {R}_{>0}^{m}\) satisfying \((R-F)^{T}l=0_{n}\) [8] where \(R-F\) represents net reaction stoichiometry. We assume the cardinality^{4} of each row of *F* and *R* is at least one, and the cardinality of each column of \(R-F\) is at least two, usually three. Therefore, \(R-F\) may be viewed as the incidence matrix of a directed hypergraph. The matrices *F* and *R* are sparse and the particular sparsity pattern depends on the particular biochemical network being modelled.

*elementary reaction kinetics*for forward and reverse elementary reaction rates as \(s(k_{f},u):=\exp (\ln (k_{f})+F^{T}\ln (u))\) and \(r(k_{r},u):=\exp (\ln (k_{r})+R^{T}\ln (u))\), respectively, where \(\exp (\cdot )\) and \(\ln (\cdot )\) denote the respective componentwise functions. Then, the deterministic dynamical equation for time evolution of molecular species concentration is given by

*f*if and only if \(\Vert f(\bar{x})\Vert ^{2}=0\). Denoting

*p*(

*x*) and

*c*(

*x*) are positive and convex functions,

^{5}both

*f*is equivalent to the following optimisation problem:

*i*and

*j*, we conclude that the function \(\phi \) is real analytic (see Proposition 2.2.2 and Proposition 2.2.8 in [21]). It follows from Proposition 2 that the function \(\phi \) satisfies the Łojasiewicz property with some exponent \(\theta \in [0,1)\).

Finally, as in Example 2, for all \(\rho >0\), the function \(g(x):=f_{1}(x)+\frac{\rho }{2}\Vert x\Vert ^{2}\) is twice continuously differentiable, which implies that \(\nabla g\) is locally Lipschitz continuous. Therefore, either Theorem 1 or Corollary 2 guarantee the convergence of the sequence generated by BDCA, as long as the sequence is bounded.

## Remark 5

*mass conservation assumption*, \(\exists l\in \mathbb {R}_{>0}^{m}\) such that \((R-F)^{T}l=0_{n}\). This implies that \(\nabla f(x)\) is singular for every \(x\in \mathbb {R}^{m}\), because

*f*is strictly duplomonotone [2]. A function \(f:\mathbb {R}^{m}\rightarrow \mathbb {R}^{m}\) is called

*duplomonotone*with constant \(\bar{\tau }>0\) if

*strictly duplomonotone*if this inequality is strict whenever \(f(x)\ne 0_m\). If

*f*is differentiable and strictly duplomonotone then \(\nabla f(x)f(x)=0_m\) implies \(f(x)=0_m\) [2]. We previously established that some stoichiometric matrices do give rise to strictly duplomonotone functions [2], and our numerical experiments, described next, do support the hypothesis that this is a pervasive property of many biochemical networks.

Performance comparison of BDCA and DCA for finding a steady state of various biochemical reaction network models

Data | Instances | BDCA | DCA | Ratio (avg.) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

Model name | m | n | avg. | avg. | time (s) | iterations | time (s) | DCA/BDCA | |||||||

\(\phi (x_{0})\) | \(\phi (x_{\mathrm{end}})\) | min. | max. | avg. | min. | max. | avg. | min. | max. | avg. | iter. | time | |||

Ecoli core | 72 | 94 | 5.28e6 | 5.80 | 16.6 | 25.6 | 19.7 | 4101 | 6176 | 4861 | 68.0 | 104.7 | 86.8 | 4.9 | 4.4 |

L lactis MG1363 | 486 | 615 | 2.00e7 | 62.73 | 2926.1 | 4029.1 | 3424.4 | 4164 | 6362 | 5241 | 14522.4 | 18212.5 | 16670.1 | 5.2 | 4.9 |

Sc thermophilis | 349 | 444 | 1.95e7 | 84.99 | 290.8 | 552.7 | 358.4 | 4021 | 6303 | 4873 | 1302.1 | 2003.8 | 1611.1 | 4.9 | 4.5 |

T Maritima | 434 | 554 | 3.54e7 | 114.26 | 1333.0 | 2623.3 | 1919.7 | 3536 | 5839 | 4700 | 5476.2 | 12559.2 | 8517.1 | 4.7 | 4.4 |

iAF692 | 466 | 546 | 2.32e7 | 57.42 | 1676.8 | 2275.3 | 1967.4 | 4215 | 7069 | 5303 | 8337.0 | 11187.5 | 9466.3 | 5.3 | 4.8 |

iAI549 | 307 | 355 | 1.10e7 | 35.90 | 177.2 | 254.4 | 209.2 | 3670 | 5498 | 4859 | 665.1 | 1078.2 | 913.4 | 4.9 | 4.4 |

iAN840m | 549 | 840 | 2.58e7 | 105.18 | 3229.1 | 6939.3 | 4720.6 | 4254 | 5957 | 4971 | 16473.3 | 28956.7 | 21413.2 | 5.0 | 4.5 |

iCB925 | 416 | 584 | 1.52e7 | 67.54 | 1830.7 | 2450.5 | 2133.4 | 3847 | 6204 | 5030 | 7358.2 | 11464.6 | 9886.8 | 5.0 | 4.6 |

iIT341 | 425 | 504 | 7.23e6 | 139.71 | 1925.2 | 2883.1 | 2301.8 | 3964 | 9794 | 5712 | 9433.8 | 20310.3 | 12262.0 | 5.7 | 5.3 |

iJR904 | 597 | 915 | 1.47e7 | 139.63 | 6363.1 | 9836.2 | 7623.0 | 4173 | 5341 | 4776 | 24988.5 | 43639.8 | 33620.6 | 4.4 | 4.8 |

iMB745 | 528 | 652 | 2.77e7 | 305.80 | 2629.1 | 5090.7 | 4252.3 | 3986 | 7340 | 5020 | 16437.8 | 25171.6 | 20269.3 | 5.0 | 4.8 |

iSB619 | 462 | 598 | 1.64e7 | 40.64 | 2406.7 | 5972.2 | 3323.5 | 2476 | 6064 | 4260 | 8346.1 | 25468.1 | 13966.9 | 4.3 | 4.2 |

iTH366 | 587 | 713 | 3.42e7 | 63.37 | 3310.2 | 5707.3 | 4464.2 | 4089 | 6363 | 4965 | 13612.7 | 30044.1 | 20715.5 | 5.0 | 4.6 |

iTZ479 v2 | 435 | 560 | 1.97e7 | 78.12 | 1211.4 | 2655.8 | 2216.4 | 3763 | 6181 | 4857 | 7368.1 | 12591.6 | 10119.8 | 4.9 | 4.6 |

## 5 Numerical experiments

In Table 1 we report the numerical results comparing DCA and BDCA with quadratic interpolation (Algorithm 3) for 14 models arising from the study of systems of biochemical reactions. The parameters used were \(\alpha =0.4\), \(\beta =0.5\), \(\bar{\lambda }=50\) and \(\rho =100\). We only provide the numerical results for Algorithm 3 because it normally gives better results than Algorithm 2 for biochemical models, as it is shown in Fig. 3. In Fig. 4 we show a comparison of the rate of convergence of DCA and BDCA with quadratic interpolation for two big models. In principle, a relatively large value of the parameter \(\rho \) could slow down the convergence of DCA. This is not the case here: the behaviour of DCA is usually the same for values of \(\rho \) between 0 and 100, see Figs. 3 and 4 (left). In fact, for big models, we observed that a value of \(\rho \) between 50 and 100 normally accelerates the convergence of both DCA and BDCA, as shown in Fig. 4 (right). For these reasons, for the numerical results in Table 1, we applied both DCA and BDCA to the regularized version \(g(x)-h(x)\) with \(g(x) =f_1 (x)+\frac{100}{2}\Vert x\Vert ^2\) and \(h(x)=f_2(x)+\frac{100}{2}\Vert x\Vert ^2\), where \(f_1\) and \(f_2\) are given by (30).

## 6 Concluding remarks

In this paper, we introduce two new algorithms for minimising smooth DC functions, which we term *Boosted Difference of Convex function Algorithms* (BDCA). Our algorithms combine DCA together with a line search, which utilises the point generated by DCA to define a search direction. This direction is also employed by Fukushima–Mine in [7], with the difference that our algorithms start searching for the new candidate from the point generated by DCA, instead of starting from the previous iteration. Thus, our main contribution comes from the observation that this direction is not only a descent direction for the objective function at the previous iteration, as observed by Fukushima–Mine, but is also a descent direction at the point defined by DCA. Therefore, with the slight additional computational effort of a line search one can achieve a significant decrease in the value of the function. This result cannot be directly generalized for nonsmooth functions, as shown in Remark 1. We prove that every cluster point of the algorithms are stationary points of the optimisation problem. Moreover, when the objective function satisfies the Łojasiewicz property, we prove global convergence of the algorithms and establish convergence rates.

We demonstrate that the important problem of finding a steady state in the dynamical modelling of systems of biochemical reactions can be formulated as an optimisation problem involving a difference of convex functions. We have performed numerical experiments, using models of systems of biochemical reactions from various species, in order to find steady states. The tests clearly show that our algorithm outperforms DCA, being able to achieve the same decrease in the value of the DC function while employing substantially less iterations and time. On average, DCA needed five times more iterations to achieve the same accuracy as BDCA. Furthermore, our implementation of BDCA was also more than four times faster than DCA. In fact, the slowest instance of BDCA was always at least three times faster than DCA. This substantial increase in the performance of the algorithms is especially relevant when the typical size of the problems is big, as is the case with all realistic biochemical network models.

## Footnotes

- 1.
Recon 2 is the most comprehensive representation of human metabolism that is applicable to computational modelling [25]. This biochemical network model involves more than four thousand molecular species and seven thousand reversible elementary reactions.

- 2.
An elementary reaction is a chemical reaction for which no intermediate molecular species need to be postulated in order to describe the chemical reaction on a molecular scale.

- 3.
Reaction stoichiometry is a quantitative relationship between the relative quantities of molecular species involved in a single chemical reaction.

- 4.
By cardinality we mean the number of nonzero components.

- 5.
Note that

*p*(*x*) is the rate of production of each molecule and*c*(*x*) is the rate of consumption of each molecule.

## Notes

### Acknowledgements

The authors wish to thank Christian Kanzow for pointing out Remark 3, and Aris Daniilidis for his helpful information on the Łojasiewicz exponent. The authors are also grateful to an anonymous referee for their pertinent and constructive comments.

## References

- 1.Absil, P.A., Mahony, R., Andrews, B.: Convergence of the iterates of descent methods for analytic cost functions. SIAM J. Optim.
**16**(2), 531–547 (2005)MathSciNetCrossRefMATHGoogle Scholar - 2.Artacho Aragón, F.J., Fleming, R.M.T.: Globally convergent algorithms for finding zeros of duplomonotone mappings. Optim. Lett.
**9**(3), 569–584 (2015)MathSciNetCrossRefMATHGoogle Scholar - 3.Attouch, H., Bolte, J.: On the convergence of the proximal algorithm for nonsmooth functions involving analytic features. Math. Program.
**116**(1–2), 5–16 (2009)MathSciNetCrossRefMATHGoogle Scholar - 4.Bolte, J., Daniilidis, A., Lewis, A.: The Łojasiewicz inequality for nonsmooth subanalytic functions with applications to subgradient dynamical systems. SIAM J. Optim.
**17**(4), 1205–1223 (2007)CrossRefMATHGoogle Scholar - 5.Bolte, J., Sabach, S., Teboulle, M.: Proximal alternating linearized minimization for nonconvex and nonsmooth problems. Math. Program.
**146**(1–2), 459–494 (2013)MathSciNetMATHGoogle Scholar - 6.Collobert, R., Sinz, F., Weston, J., Bottou, L.: Trading convexity for scalability. In: Proceedings of the 23rd International Conference on Machine Learning, pp. 201–208. ACM (2006)Google Scholar
- 7.Fukushima, M., Mine, H.: A generalized proximal point algorithm for certain non-convex minimization problems. Int. J. Syst. Sci.
**12**(8), 989–1000 (1981)CrossRefMATHGoogle Scholar - 8.Gevorgyan, A., Poolman, M.G., Fell, D.A.: Detection of stoichiometric inconsistencies in biomolecular models. Bioinformatics
**24**(19), 2245–2251 (2008)CrossRefGoogle Scholar - 9.Huang, Y., Liu, H., Zhou, S.: A Barzilai–Borwein type method for stochastic linear complementarity problems. Numer. Algorithms
**67**(3), 477–489 (2014)MathSciNetCrossRefMATHGoogle Scholar - 10.Le Thi, H.A., Pham Dinh, T.: The DC (difference of convex functions) programming and DCA revisited with DC models of real world nonconvex optimization problems. Ann. Oper. Res.
**133**(1–4), 23–46 (2005)MathSciNetMATHGoogle Scholar - 11.Le Thi, H.A., Pham Dinh, T.: On solving linear complementarity problems by DC programming and DCA. Comput. Optim. Appl.
**50**(3), 507–524 (2011)MathSciNetCrossRefMATHGoogle Scholar - 12.Le Thi, H.A., Pham Dinh, T., Muu, L.D.: Numerical solution for optimization over the efficient set by D.C. optimization algorithms. Oper. Res. Lett.
**19**(3), 117–128 (1996)MathSciNetCrossRefMATHGoogle Scholar - 13.Le Thi, H.A., Huynh, V.N., Pham Dinh, T.: Convergence analysis of DC algorithm for DC programming with subanalytic data. Ann. Oper. Res. Technical Report, LMI, INSA-Rouen (2009)Google Scholar
- 14.Lee, J.D., Sun, Y., Saunders, M.A.: Proximal Newton type methods for minimizing composite functions. SIAM J. Optim.
**24**(3), 1420–1443 (2014)MathSciNetCrossRefMATHGoogle Scholar - 15.Li, G., Pong, T.K.: Douglas–Rachford splitting for nonconvex optimization with application to nonconvex feasibility problems. Math. Progr.
**159**(1), 371–401 (2016)MathSciNetCrossRefMATHGoogle Scholar - 16.Łojasiewicz, S.: Ensembles semi-analytiques. Institut des Hautes Etudes Scientifiques, Bures-sur-Yvette (Seine-et-Oise), France (1965)MATHGoogle Scholar
- 17.Mine, H., Fukushima, M.: A minimization method for the sum of a convex function and a continuously differentiable function. J. Optim. Theory Appl.
**33**(1), 9–23 (1981)MathSciNetCrossRefMATHGoogle Scholar - 18.Moudafi, A., Mainge, P.: On the convergence of an approximate proximal method for DC functions. J. Comput. Math.
**24**(4), 475–480 (2006)MathSciNetMATHGoogle Scholar - 19.Nesterov, Y.: Gradient methods for minimizing composite functions. Math. Program.
**140**(1), 125–161 (2013)MathSciNetCrossRefMATHGoogle Scholar - 20.Nocedal, J., Wright, S.J.: Numerical optimization. In: Mikosch, T.V., Resnick, S.I., Robinson, S.M. (eds.) Springer Series in Operations Research and Financial Engineering, 2nd edn. Springer, New York (2006)Google Scholar
- 21.Parks, H.R., Krantz, S.G.: A Primer of Real Analytic Functions. Birkhäuser, Basel (1992)MATHGoogle Scholar
- 22.Pham Dinh, T., Le Thi, H.A.: A DC optimization algorithm for solving the trust-region subproblem. SIAM J. Optim.
**8**(2), 476–505 (1998)MathSciNetCrossRefMATHGoogle Scholar - 23.Pham Dinh, T., Souad, E.B.: Algorithms for solving a class of nonconvex optimization problems. Methods of subgradients. In: Hiriart-Urruty, J.-B. (ed.) FERMAT Days 85: Mathematics for Optimization, Volume 129 of North-Holland Mathematics Studies, pp. 249–271. Elsevier, Amsterdam (1986)Google Scholar
- 24.Schnörr, C., Schüle, T., Weber, S.: Variational reconstruction with DC-programming. In: Herman, G.T., Kuba, A. (eds.) Advances in Discrete Tomography and its Applications, pp. 227–243. Springer, Berlin (2007)Google Scholar
- 25.Thiele, I., et al.: A community-driven global reconstruction of human metabolism. Nat. Biotechnol.
**31**(5), 419–425 (2013)CrossRefGoogle Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.