基于牛顿的优化方法与求解非线性方程组

计算科学 优化 最小二乘
2021-12-16 02:09:19

我要求澄清最近关于 minpack的问题,并得到以下评论:

任何方程组都相当于一个优化问题,这就是为什么基于牛顿的优化方法看起来很像求解非线性方程组的基于牛顿的方法。

什么让我对这个评论感到困惑(以及对像 minpack 这样的专业非线性最小二乘求解器的相关负面意见)可能最好在共轭梯度方法的例子中得到解释。此方法适用于系统Ax=b具有对称正定矩阵A. 它也可以用来解决一般的最小二乘问题minx||Axb||2对于任意矩阵A,但不建议这样做。我们不应该这样做的一种解释是系统的条件数会显着增加。

但是,如果将方程组转化为优化问题即使对于线性情况也被认为是有问题的,那么为什么对于一般情况来说问题应该更小呢?它似乎与使用最先进的优化算法有关,而不是使用稍微老化的非线性最小二乘求解器。但是关于丢弃信息和增加系统条件数的问题不是相对独立于实际使用的优化算法吗?

2个回答

如果给定的非线性系统是优化问题的一阶最优条件,那么我们通常可以通过使用该信息来生成更稳健的算法。例如,考虑方程

原始目标图

这显然有一个唯一的最小值,我们希望我们的优化方法无论起点如何都能找到它。但是如果我们只看一阶最优条件,我们正在寻找 [Wolfram Alpha]xf(x)=0

坡度

它有一个独特的解决方案,但许多寻根方法可能会卡在局部最小值。

如果我们重新设计一个新的优化问题以最小化梯度平方的范数,我们正在寻找具有多个局部最小值 [Wolfram Alpha]xf(x)2

在此处输入图像描述

总而言之,我们从一个优化问题开始,它有一个独特的解决方案,我们可以保证找到一个方法。我们将其重新表述为一个非线性求根问题,它有一个我们可以在本地识别的独特解决方案,但求根方法(如牛顿)可能会在达到它之前停滞不前。然后,我们将求根问题重新表述为具有多个局部解的优化问题(没有局部度量可用于识别我们不是处于全局最小值)。

一般来说,每次我们将问题从优化转换为求根,反之亦然,我们都会使可用的方法和相关的收敛保证更弱。这些方法的实际机制通常非常相似,因此可以在非线性求解器和优化之间重用大量代码。

由于我的答案之一已被引用,我将尝试澄清为什么我建议使用 IPOPT 而不是 MINPACK。

我对使用MINPACK 的反对与MINPACK 使用的算法无关,也与它们的实现有关。我的主要反对意见是该软件可以追溯到 1980 年,最后一次更新是在 1999 年。我怀疑他或该软件的任何其他作者是否会再密切关注它,并且没有团队积极支持它。我能在该软件上找到的唯一文档是 Jorge Moré 和其他 MINPACK 作者撰写的 1980 Argonne 技术报告。(第 1-3 章可以在这里找到,第 4 章可以在这里找到.) 在搜索MINPACK 源代码并仔细阅读文档(PDF 是扫描图像,无法搜索)后,我看不到任何适应约束的选项。由于非线性最小二乘问题的原始发布者想要解决受约束的非线性最小二乘问题,MINPACK 甚至不会解决该问题。

如果您查看 IPOPT 邮件列表,一些用户表示该软件包在非线性最小二乘 (NLS) 问题上的性能相对于 Levenberg-Marquardt 算法和更专业的 NLS 算法(参见此处此处此处)是混合的。IPOPT 相对于 NLS 算法的性能当然取决于问题。鉴于用户反馈,IPOPT 似乎是相对于 NLS 算法的合理推荐。

但是,您提出了一个很好的观点,即应该研究 NLS 算法。我同意。我只是认为应该使用比 MINPACK 更现代的包,因为我相信它会表现更好,更实用,并得到支持。Ceres似乎是一个有趣的候选包,但它现在无法处理受限问题。将适用于框约束最小二乘问题,尽管它没有实现经典的 Levenberg-Marquardt,而是实现了无导数算法。无导数算法可能适用于大规模问题,但我不会将其用于小规模问题。我找不到任何其他软件包可以激发他们对软件工程的极大信心。例如,乍一看,GALAHAD 似乎没有使用版本控制或任何自动化测试。MINPACK 似乎也不做这些事情。如果您有使用 MINPACK 的经验或有关更好软件的建议,我会全力以赴。

考虑到所有这些,回到我评论的引用:

任何方程组都相当于一个优化问题,这就是为什么基于牛顿的优化方法看起来很像求解非线性方程组的基于牛顿的方法。

更好的评论可能是这样的:

当我们想解决一个系统n方程与n未知数g(x)=0,我们可以将其表述为最小二乘优化问题。( Dmitri Bertsekas的《非线性规划》第 2 版第 102 页最后一段的释义。)

这个陈述甚至适用于求解约束下的方程组。对于变量有约束的情况,我不知道有任何算法被认为是“方程求解器”。我所知道的常见方法(可能会受到优化实验室中几个学期的优化课程和研究的影响)是将方程组的约束合并到优化公式中。如果您要尝试在类似 Newton-Raphson 的方案中使用约束来求解方程,您可能最终会得到投影梯度或投影信任区域方法,这与约束优化中使用的方法非常相似。