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 illconditioned nonlinear least squares problems and nonlinear systems
of equations. It may also be used for linear least squares.
Seven methods are implemented:
Method 
Reference 
FletcherXu hybrid method (default)

Fletcher, Xu 1987

AlBaaliFletcher hybrid method

AlBaali, Fletcher 1986

Huschens TSSM method

Huschens, SIAM J. Optimization. Vol 4, No 1, pp 108129,1994

GaussNewton with subspace minimization


Wang, Li, Qi Structured MBFGS method


LiFukushima MBFGS method


Broydens method


Main features:

An activeset 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
QRfactorization, 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 builtin 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 quasiNewton
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.
