Hessian矩阵可用于确定函数的凹凸性
为了使工程系统从可用的输入中提供更多的输出,优化是必要的。优化的目标是从工程系统中产生最大的产出、效率、利润和性能。
那么,如何优化工程系统呢?通常,开发数学模型是为了优化工程系统。当导出目标函数、约束和决策值之间的数学关系时,制定的数学函数可以是凸函数或非凸函数。
对于凸函数,存在可行解和全局最优解。对于非凸函数来说,获得优化解比较困难,因为给定函数存在多个可行点、鞍点和局部极小值。确定函数的性质对于判断所获得的解是否是全局最优解非常重要。
为了确定函数是凸函数还是凹函数,可以使用 Hessian 矩阵。在本文中,我们将研究凹函数并探讨如何使用 Hessian 矩阵确定凹性。
当连接两点的线段完全位于函数图形的下方或上方时,函数是凹函数。绘制凹函数时,其局部最大值也是全局最大值。如果满足线段条件,则认为函数是严格凹的。
在优化中,函数可以是凸函数,也可以是凹函数。凸函数和凹函数之间存在关系;凸函数的负数是凹函数,反之亦然。凸函数和凹函数的另一个共同性质是,凸函数之和是凸函数,凹函数之和是凹函数。
有两种方法可以测试函数的凹性:
在第一种测试方法中,测试函数的凸性。如果不满足不等式恒等式,则该函数是凹函数。
凸函数需要满足的不等式为:
请注意,x 1和 x 2 是函数图上的两个点。如果不等式成立,则函数是凸函数。如果函数满足不等式的相反函数,则认为该函数是凹函数。
如果函数的 Hessian 矩阵是半正定的,则该函数是凸函数。当 Hessian 矩阵为正定时,该函数是严格凸的。要测试函数的凹性,请计算 Hessian 矩阵并证明它是负半定的。当 Hessian 矩阵为负定时,该函数是严格凹的。在工程中的任何优化问题中,凹性和凸性都非常重要,因为测试凹性或凸性有助于确定解决方案是全局的还是局部的。
Hessian矩阵的凹性和行列式是相关的。如果 Hessian 矩阵在给定点的行列式小于零,则函数在该点的凹性不一致。
例如,考虑一个二变量函数 f(x)。计算函数 f(x) 在 (x o , y o ) 处的 Hessian 矩阵的行列式。如果行列式小于零,则函数在点 (x o , y o ) 处的凹性不一致。函数为凹函数的必要条件是函数的 Hessian 矩阵的行列式应大于零。凹性的性质可以从矩阵的元素来识别。
Hessian 矩阵可以写成如下:
如果 Hessian 矩阵的行列式在 (xo, yo) 处大于零并且
在优化和逼近过程中,凹性的知识很重要,因为它表示函数的变化率(导数)。在大多数工程优化问题中,确定可行解涉及确定导数函数的性质。例如,在局部线性逼近中,可以利用二阶导数信息来改进逼近。
考虑两个变量 x 和 y 的函数 f。在计算Hessian矩阵时,我们得到一个具有四个二阶导数的2×2矩阵。计算 Hessian 矩阵行列式并使用它来检查凹性需要有关某些二阶导数的附加信息。
对于使用哪种导数来测量凹度常常会产生混淆。计算 Hessian 矩阵的特征值可以帮助确定函数在给定点是上凹还是下凹。上凹表示函数导数增加,下凹表示函数导数减少。了解这一点有助于工程师确定所获得的解决方案是局部最小值还是最大值。
Hessian 矩阵在工程系统的优化过程中具有无价的价值。幸运的是,Cadence 的 CFD 工具套件可以帮助您解决高度复杂的工程系统中的优化问题。
订阅我们的时事通讯以获取最新的 CFD 更新或浏览 Cadence 的CFD 软件套件(包括Fidelity和Fidelity Pointwise),以了解有关 Cadence 如何为您提供解决方案的更多信息。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删