1. Introduction
Let us consider the nonlinear least squares problem (NLSP) [
1,
2,
3,
4]. It is necessary to find
such that
Here,
is a vector-valued function that is nonlinear in the variable
x and
. Problem (
1) is said to have zero residual if
, and nonzero residual otherwise. The problem (
1) with zero residual and
can be viewed as a system of nonlinear algebraic or transcendental equations.
Nonlinear least squares problems arise in a wide range of scientific and engineering applications, including the solution of overdetermined systems of equations, parameter estimation for physical processes based on measurement data, construction of nonlinear regression models, parameter estimation and hypothesis testing in mathematical statistics, control of various objects and processes [
5,
6], and the solution of nonlinear complementarity problems [
7,
8,
9].
The basic numerical methods for solving problem (
1) are the Gauss–Newton method
and Levenberg–Marquardt method
Methods (
2) and (
3) have the convergence order equal to 2 in the case of zero residual [
10,
11,
12]. But, these iterative methods require the evaluation of derivatives, which can be computationally expensive. That is why there are many studies that try to eliminate this drawback. One of them is the construction of multi-step methods in which the matrix of derivatives is calculated once for several steps. In [
2,
13], the authors investigated the two-step Gauss–Newton Werner-type method under generalized Lipschitz conditions.
In practice, however, many problems involve functions whose values are obtained from experimental data, so analytical derivatives may not be available. Moreover, when functions are defined by complicated analytical expressions, computing their partial derivatives can be expensive. Therefore, derivative-free methods are particularly attractive in such situations. The derivative-free methods use a finite difference approximation of the Jacobian matrix [
3,
4,
14] or a matrix of divided differences computed similar to one in [
15]. The divided difference of the function
H at the points
x and
y is denoted by
. Elements of this matrix are computed using the following formula:
Here,
and
,
x and
y are distinct points in
. In particular, methods with divided differences include the Secant-type method
the Potra-type method with
or the Kurchatov-type method with
. Convergence analysis of these methods under classical Lipschitz conditions has been conducted in [
5,
16], estimates of method errors have been obtained, and it has been established that the convergence orders of these methods in the case of zero residual are equal to
,
and 2, respectively.
In [
3,
17], the authors considered a modification of the Levenberg–Marquardt method (
3) with approximation of
based on Broyden’s update formula. In [
17], a numerical study of the method was carried out, and its effectiveness for solving inverse problems of very complex physical models was shown. The convergence study of the Broyden method and its modification for systems of nonlinear equations can be found in [
1,
18,
19].
Several authors have investigated NLSP in which the nonlinear vector function is represented as the sum of two components [
20,
21,
22]:
where
and
. The goal is to find
such that
It is known that is a differentiable function, whereas is continuous and can be either unavailable analytically or represented by a complicated analytical expression or nondifferentiable on D. That is, can be either differentiable or nondifferentiable.
For the numerical solution of problems of this type, differential-difference methods are often used. They use the sum of the Jacobian matrix of the differentiable part
F and the divided difference of
G instead of the full Jacobian matrix. The most well-known methods for this type of problem are the Gauss–Newton–Secant method [
20]
the Gauss–Newton–Potra method [
21] and the Gauss–Newton–Kurchatov method [
22]. The local convergence of the Gauss–Newton–Secant and Gauss–Newton–Potra methods is investigated under classical Lipschitz conditions, and the Gauss–Newton–Kurchatov method under generalized conditions. Error estimates of the methods are obtained, and, for problems with zero residual, it is shown that their convergence orders coincide with those of the corresponding difference methods. Note that a similar approach has proven itself well for solving nonlinear equations with operator decomposition [
23,
24]. The computational complexity of one iteration of these methods is also somewhat different. The main difference lies in the computation of the divided differences. From Formula (
4), the Secant-type method requires the evaluation of
scalar functions of
n variables and
arithmetic operations, the Potra-type method requires the evaluation of
functions and
arithmetic operations, and the Kurchatov-type method requires the evaluation of
functions and
arithmetic operations. Taking into account that
,
,
and corrections are computed at the current and previous iterations, we can see that these estimates of the computational complexity can be slightly relaxed.
We introduce the Gauss–Newton–Broyden method for solving the NLSP (
5)
where
Here,
is a given matrix. To form the matrix
, it is necessary to evaluate
scalar functions of
n variables, compute the difference of two pairs of vectors of dimensions
m and
n, calculate the scalar product of two vectors of dimension
n, multiply an
matrix by an
n-dimensional column vector, compute the difference of two
m-dimensional vectors, compute the outer product of an
m-dimensional column vector and an
n-dimensional row vector, divide an
matrix by a scalar, and add two
matrices. Thus, the computational complexity of forming a matrix
is
arithmetic operations and the evaluation of
scalar functions of
n variables. Taking into account that some calculations are performed on the current and previous iterations, these estimates of the computational complexity can also be reduced. Therefore, for functions with a complex analytical form, the computational cost of one iteration of the Gauss–Newton–Broyden method (
7) is expected to be lower than that of the Gauss–Newton–Secant method (
6).
Also, a feature of the proposed method (
7) is that a partial, rather than a full, approximation of the Jacobian matrix is used. In Broyden-type methods,
[
3,
17]. Since the full calculation of
can be computationally expensive (or impossible), this approach can be considered as a trade-off between the computation cost of the derivative and the accuracy of the Jacobian matrix approximation. We also conduct the convergence study of the Gauss–Newton–Broyden method (
7) under classical Lipschitz conditions. A number of numerical experiments have been conducted to demonstrate the applicability and effectiveness of this approach.
3. Numerical Experiments
This section shows the results of applying the Gauss–Newton–Broyden method (
7) for solving NLSP and systems of nonlinear equations. Numerical experiments were performed using GNU Octave 7.3.0 on a computer equipped with an Intel Core i5-1035G1 processor (Intel Corporation, Santa Clara, CA, USA) and 8 GB of RAM. The iterative process was stopped under the following conditions:
As an additional stopping criterion, a maximum number of 150 iterations was imposed to prevent the iterative process from continuing indefinitely. The matrix was primarily computed according to the formula , where . Throughout the numerical analysis, the Euclidean norm is used.
The Gauss–Newton–Broyden method was compared with the Broyden method
and also with a Gauss–Newton–Secant type method (
6). Method (
21) uses the Broyden rank-one update formula to compute matrix
[
17]. For the Broyden method,
.
The algorithm of the methods for NLSP (
5) is presented below. As can be seen, the main difference between the methods occurs at step 2. For the Broyden method (
21), steps 1 and 2 of Algorithm 1 should be replaced by the following: compute the matrix
according to the corresponding formula, and set
.
First, let us verify that Theorem 1 holds. To this end, consider Example 1.
Let
. Since
then
| Algorithm 1: Gauss–Newton–Broyden and Gauss–Newton–Secant Methods. |
Input: a nonlinear function , where ; initial approximations and ; a tolerance ; a maximum number of iterations .
For : - 1.
compute vector and matrix ; - 2.
compute matrices ( 8) and for the Gauss–Newton–Broyden method or and for the Gauss–Newton– Secant method; - 3.
solve the linear system with respect to the correction - 4.
compute the next approximation: - 5.
check the stopping criterion: if
then stop iterative process and accept as an approximate solution.
|
Let the matrix
. Then,
,
,
,
,
. As a result, we get that the radius
,
and
. Let us choose initial approximation
. The value of the error’s norm at each iteration is given in
Table 1. We have obtained that all
, and Estimate (
16) is valid.
To demonstrate the applicability of the proposed method, the following problems were used. For the considered problems, the vector function was chosen as the part of containing functions with absolute values.
Table 2 presents the results for Examples 2–4. The initial approximation for Examples 3 and 4 was chosen according to the formula
, where
p is a real number and
is an exact solution and
for Example 2. The calculation was performed for
. In the numerical experiments, the dimension of the problem in Example 4 was chosen as 100.
From the obtained results (see
Table 2), we see that for a good initial approximation, the Gauss–Newton–Broyden method converges no slower than the Gauss–Newton–Secant-type method. The Broyden method exhibits slower convergence. The sign “–” means that the method did not converge for a given initial approximation. We also applied the proposed method to problems with nonzero residual (Example 2,
). The numerical results indicate that the method also converges for this class of problems, although this behavior is observed empirically and is not covered by the theoretical convergence result.
The diagrams in
Figure 1 show the average execution time of the Gauss–Newton–Broyden and Gauss–Newton–Secant algorithms for low- and high-dimensional problems (Example 4). Each algorithm was run 10 times, after which the average execution time was calculated. The results were obtained for the initial approximation
. The number of iterations is 14 (
) and 15 (
) for the Gauss–Newton–Broyden method and 12 (
) and 13 (
) for the Gauss–Newton–Secant method. Despite the fact that the Gauss–Newton–Broyden method requires more iterations for convergence, its overall execution time is shorter. This behavior is typically observed when the difference between the number of iterations of the methods is not significant.
The graphs in
Figure 2 show the influence of the initial approximation
and
on the convergence of the Gauss–Newton–Broyden method (
7). The initial approximation
. Two methods of specifying the matrix
are considered:
means that
, and
means that the finite difference approximation
is used. In this case,
additionally depends on the initial approximation
. From the obtained results, we see that, if
and
are close enough (
Figure 2a), the choice of
has almost no effect on the results: at each iteration, the obtained values are quite close, and the errors smoothly decrease. If the initial approximations differ significantly (
Figure 2b), and
is calculated using method
, the error graphs may have significant jumps, which can lead to divergence of the iterative process. Therefore, it is advisable to use additional mechanisms that ensure the direction of the iterative process to the solution.
We also applied the proposed Gauss–Newton–Broyden method (
7) for solving nonlinear complementarity problems. The complementarity problem [
8,
25] consists of finding a vector
such that
where
is a continuously differentiable linear or nonlinear function. It is known that this problem reduces to a system of nonlinear equations
where
is some function. We chose it as a penalized Fischer–Burmeister function [
25]
where
, and
is a fixed parameter. The methods were tested on two problems.
Example 5. , where a matrix , a vector with components , and nonlinear functions , , . This problem has a solution , such that .
Table 3 presents the results obtained for Examples 5 and 6. For Example 5, the initial approximation was
; for Example 6,
.
Table 4 shows the dynamics of the residuals norms. Here,
is a vector with components
and
. The results are given for Example 6 and
.
From the obtained results, we observe that quasi-Newton-type methods are highly sensitive to the choice of the parameter .