LBFGS 或其他优化算法 - 实现 MATLAB

计算科学 优化
2021-12-11 10:22:53

你知道一些好的免费 Matlab LBFGS 实现吗?

我唯一知道(并暂时使用)的是 Liam Stewart 的(可以在以下链接中找到:http ://www.cs.toronto.edu/~liam/software.shtml )

我的兴趣是在形状优化问题中使用这些算法,其中问题的大小往往会变得非常大。

您是否有任何其他可用于优化问题的优质和快速软件包的建议?

2个回答

“minFunc” MATLAB 软件包(由 Mark Schmidt 编写)是最好的软件包之一: http ://www.di.ens.fr/~mschmidt/Software/minFunc.html

这个包相当成熟,已经在 ML 社区中广泛使用。它包含一个稳定的 L-BFGS 实现以及相关的牛顿和准牛顿优化方法。

有限内存 BFGS 的一个很好的 Matlab 实现是 Tim Kelley 的《优化迭代方法》一书(SIAM,1999;可从出版商网站免费下载的 PDF)。你可以在这里找到他的 Matlab 代码

关于您的第二个问题:我建议您自己实现该算法,因为这样更容易适应您的特定问题的特殊结构(参数调整,利用衍生信息等)。