4

I'm using gnls function of nlme package to fit a curve. When I try to know what optimizer it was using, I was directed to nlminb function documentation and it states:

Unconstrained and box-constrained optimization using PORT routines.

I don't know what is "PORT routines". Is it a series of optimization algorithms or it's just an optimization algorithm called "PORT routines"?

Can anyone please at least tell me some names in the "routines". For example, "gradient descent", "Levenberg–Marquardt", or "trust region"?

Thanks in advance!!

Artem
  • 3,304
  • 3
  • 18
  • 41
noobie2023
  • 721
  • 8
  • 25
  • 1
    Quasi Newton BFGS . – Erwin Kalvelagen Mar 20 '18 at 06:13
  • @ErwinKalvelagen Thank you!! And do you know why is this algorithm called "port routines"? What is their relationship...? I'm just curious – noobie2023 Mar 20 '18 at 16:06
  • It was a Fortran mathematical subroutine library designed to be *portable* over different types of computers. – Erwin Kalvelagen Mar 20 '18 at 18:39
  • @ErwinKalvelagen Hi Mr./Mrs. I have another question of "gnls" package, I would appreciate it if you'd like to have a look: https://stackoverflow.com/questions/49392598/how-to-understand-gnls-r-language-generalized-least-squares-for-non-linear-m – noobie2023 Mar 20 '18 at 19:27

1 Answers1

9

nlminb is an unconstrained and bounds-constrained quasi-Newton method optimizer. This code is based on a FORTRAN PORT library by David Gay in the Bell Labs designed to be portable over different types of computer (from comments by Erwin Kalvelagen). See more here (Section 2).

L-BFGS-B & BFGS, being a member of quasi-Newton family methods, are the closest analogs of nlminb "adaptive nonlinear least-squares algorithm".

You can see the original report at An Adaptive Nonlinear Least-Squares Algorithm by J.E. Dennis, Jr., David M. Gay, Roy E. Welsch (thanks to Ben Bolker's comment).

eco-model
  • 13
  • 2
Artem
  • 3,304
  • 3
  • 18
  • 41