Open fvanmaele opened 1 month ago
That does seem like a pretty good idea, and it could be turned off by default (i.e., only activated if an advanced user passes in the warm-start vectors) so it shouldn't interfere with legacy usage.
However, I'm not really able to spend time adding features at the moment or in the near future. But if you wanted to write that, and then make a pull request, I'd be happy to accept merge it
L-BFGS-B keeps
m
vector pairs<s_I,y_I>
, where the oldest pair is discarded at every iteration exceedingm
. I was wondering on an approach where L-BFGS-B could resume fromm
given vector pairs, with the vectors update performed manually.Specifically, the pairs
s_{I+1}, y_{I+1}
would be computed from some other descent method independent from L-BFGS-B, without requiring a restart of L-BFGS-B that generally lowers performance.A concrete use-case is multilevel optimization (e.g. https://doi.org/10.1137/08071524X) where a new point is updated on level
h
with objectivef_h
, based on information from a levelh+1
with objectivef_{h+1}
of some lower dimension.Thanks for the C and MATLAB implementation, not requiring a separate Fortran compiler is very useful on macOS. 😃