|
|
|
clsSolve
Solves sparse or dense nonlinear least squares
optimization problems with explicit handling of linear inequality and equality
constraints and simple bounds on the variables. The solver is suitable
for ill-conditioned nonlinear least squares problems and nonlinear systems
of equations. It may also be used for linear least squares.
Seven methods are implemented:
Method |
Reference |
Fletcher-Xu hybrid method (default)
|
Fletcher, Xu 1987
|
Al-Baali-Fletcher hybrid method
|
Al-Baali, Fletcher 1986
|
Huschens TSSM method
|
Huschens, SIAM J. Optimization. Vol 4, No 1, pp 108-129,1994
|
Gauss-Newton with subspace minimization
|
|
Wang, Li, Qi Structured MBFGS method
|
|
Li-Fukushima MBFGS method
|
|
Broydens method
|
|
Main features:
-
An active-set strategy by Björkman and Holmström
handles simple bounds and linear constraints
-
If rank problem occurs, the solver is using subspace
minimization techniques. A rank tolerance parameter may be set by the user.
-
The equation systems are solved with sparse or dense
QR-factorization, in both cases using pivoting. Using dense SVD (singular
value decomposition) is an option.
-
If the flag Prob.LargeScale is set, clsSolve is using the sparse
QR package sqr2.
clsSolve then can avoid
forming the m by m orthogonal Q matrix.
Otherwise, if the number of residuals, m, is very large,
this Q matrix occupies very much memory.
-
For illustrative purposes, the equation system may
also be solved with the pseudoinverse (pinv) in Matlab or the built-in inverse.
These methods are not for practical use.
-
The line search is a modified version of an algorithm
by Fletcher (1987)
-
The hybrid methods are using BFGS safeguarded quasi-Newton
updates. The initial matrix may be given by the user.
-
The initial feasible point is found solving a special
quadratic programming problem. This problem is solved by QPOPT in
Tomlab /MINOS
or qpSolve in the Tomlab Base Module.
-
If missing, unknown gradients and Jacobians are estimated
using any of the Tomlab methods.
-
Since no second order derivative information is used,
clsSolve may not be able to determine the type of stationary point converged
to.
|
|