Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

algorithm in nonlinear optimization

Hanyou_Chu
初學者
3,464 檢視
What's the algorithm used in nonlinear least squares optimization routine? Earlier manual claims that it is trust region algorithm. Is it based on the package TRON? How is the Hessian computed? I needed to know before I decide whether I should test it.
0 積分
1 解決方案
Nikita_S_Intel
3,464 檢視

The solver for nonlinear least squares problem is based on trust-region algorithm and doesnt calculate Hessian matrix directly. It makes approximation by H = JTJ.

在原始文章中檢視解決方案

5 回應
mecej4
榮譽貢獻者 III
3,464 檢視
There are ready-to-run examples in C and Fortran in the MKL examples/solverc and examples/solverf directories.

Typically, nonlinear least-squares routines avoid the expensive calculation of the Hessian. This is one of the reasons why we should not apply a general multivariate optimization routine to a least-squares problem.
Hanyou_Chu
初學者
3,464 檢視
I wasn't asking how to use it or what problems it tries to solve. I want to know the internal details so that I can decide whether I should use it to replace other packages I am using. For example if it is simply using J^T J for the Hessian at every step of the iteration, it's not even worthy of considering.
Nikita_S_Intel
3,465 檢視

The solver for nonlinear least squares problem is based on trust-region algorithm and doesnt calculate Hessian matrix directly. It makes approximation by H = JTJ.

mecej4
榮譽貢獻者 III
3,464 檢視
> if it is simply using J^T J for the Hessian at every step of the iteration, it's not even worth{y} of considering

That statement is probably based on a literal interpretation of a mathematical description of what is done in the MKL routines.

Typically, instead of forming the normal equations JT(xk) J(xk) sk = -JT(xk) r(xk) and solving them, as compact mathematical notation in algorithm descriptions may indicate, the overdetermined equations J(xk) sk = -r(xk) are solved using orthogonal factorization. A similar situation: we may write the solution of (n linear equations in n unknowns) A x = b as x = A-1 b, but in software the inverse is never formed and used this way.
Hanyou_Chu
初學者
3,464 檢視
Thanks. I am curious, is it based on TRON? I tried TRON over 10 years ago and wasn't happy with it. With the right choice of initial trust region parameter, it at best matches MINPACK performance.
回覆