FMINLBFGS: Fast Limited Memory Optimizer

版本 1.8.0.0 (9.8 KB) 作者: Dirk-Jan Kroon
Quasi newton limited memory BFGS and Steepest decent optimizer for large amount of unknowns
9.0K 次下载
更新时间 2010/11/2

查看许可证

FMINLBFGS is a Memory efficient optimizer for problems such as image registration with large amounts of unknowns, and cpu-expensive gradients.

Supported:
- Quasi Newton Broyden–Fletcher–Goldfarb–Shanno (BFGS).
- Limited memory BFGS (L-BFGS).
- Steepest Gradient Descent optimization.

Advantages:
- Quasi-Newton thus no need to provide a hessian, instead the hessian is updated by analyzing successive gradient vectors instead.
- L-BFGS never explicitly forms or stores the Hessian matrix, which can be quite expensive when the number of dimensions becomes large.
- There is an input option to replace gradient calls during linesearch with normal function calls, if the gradient is cpu-expensive.

This function uses the same interface and options as Matlab functions such as fminunc and fminsearch. But optimset can be replaced by a simple struct when optimization toolbox not available.

Example:
options = optimset('GradObj', 'on' ,'Display', 'iter', 'HessUpdate', 'bfgs', 'GoalsExactAchieve',1);
[x,fval] = fminlbfgs(@myfun, [1 1 1 1 1], options);

引用格式

Dirk-Jan Kroon (2024). FMINLBFGS: Fast Limited Memory Optimizer (https://www.mathworks.com/matlabcentral/fileexchange/23245-fminlbfgs-fast-limited-memory-optimizer), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R2008b
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Nonlinear Optimization 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.8.0.0

Fixed Example and out of memory issues.

1.7.0.0

output.fval is now also set in case the initial position is already the minimum

1.5.0.0

Added option to visualize line search. Lless iterations used in simple line search. Solved imag. warning.

1.4.0.0

Small NaN error solved...

1.3.0.0

Help extended and all parameters are now available as option

1.1.0.0

Fixed an "oscillation" bug in simple-linesearch which could occur with a non-smooth error function.

1.0.0.0