Cadence CFD學習:Hessian 矩陣凹性檢驗
要點
當連接兩點的線段完全位于函數圖形的下方或上方時,函數是凹函數。
有兩種方法可以測試函數的凹性:使用不等式或使用 Hessian 矩陣。
函數為凹函數的必要條件是函數的 Hessian 矩陣的行列式應大于零。
Hessian矩陣可用于確定函數的凹凸性
為了使工程系統從可用的輸入中提供更多的輸出,優化是必要的。優化的目標是從工程系統中產生最大的產出、效率、利潤和性能。
那么,如何優化工程系統呢?通常,開發數學模型是為了優化工程系統。當導出目標函數、約束和決策值之間的數學關系時,制定的數學函數可以是凸函數或非凸函數。
對于凸函數,存在可行解和全局最優解。對于非凸函數來說,獲得優化解比較困難,因為給定函數存在多個可行點、鞍點和局部極小值。確定函數的性質對于判斷所獲得的解是否是全局最優解非常重要。
為了確定函數是凸函數還是凹函數,可以使用 Hessian 矩陣。在本文中,我們將研究凹函數并探討如何使用 Hessian 矩陣確定凹性。
關于凹函數
當連接兩點的線段完全位于函數圖形的下方或上方時,函數是凹函數。繪制凹函數時,其局部最大值也是全局最大值。如果滿足線段條件,則認為函數是嚴格凹的。
在優化中,函數可以是凸函數,也可以是凹函數。凸函數和凹函數之間存在關系;凸函數的負數是凹函數,反之亦然。凸函數和凹函數的另一個共同性質是,凸函數之和是凸函數,凹函數之和是凹函數。
如何測試凹度
有兩種方法可以測試函數的凹性:
通過使用不等式恒等式。
通過使用 Hessian 矩陣。
不等式恒等凹性檢驗
在第一種測試方法中,測試函數的凸性。如果不滿足不等式恒等式,則該函數是凹函數。
凸函數需要滿足的不等式為:
請注意,x 1和 x 2 是函數圖上的兩個點。如果不等式成立,則函數是凸函數。如果函數滿足不等式的相反函數,則認為該函數是凹函數。
Hessian 矩陣凹性檢驗
如果函數的 Hessian 矩陣是半正定的,則該函數是凸函數。當 Hessian 矩陣為正定時,該函數是嚴格凸的。要測試函數的凹性,請計算 Hessian 矩陣并證明它是負半定的。當 Hessian 矩陣為負定時,該函數是嚴格凹的。在工程中的任何優化問題中,凹性和凸性都非常重要,因為測試凹性或凸性有助于確定解決方案是全局的還是局部的。
檢查給定點的上凹或下凹
Hessian矩陣的凹性和行列式是相關的。如果 Hessian 矩陣在給定點的行列式小于零,則函數在該點的凹性不一致。
例如,考慮一個二變量函數 f(x)。計算函數 f(x) 在 (x o , y o ) 處的 Hessian 矩陣的行列式。如果行列式小于零,則函數在點 (x o , y o ) 處的凹性不一致。函數為凹函數的必要條件是函數的 Hessian 矩陣的行列式應大于零。凹性的性質可以從矩陣的元素來識別。
Hessian 矩陣可以寫成如下:
如果 Hessian 矩陣的行列式在 (xo, yo) 處大于零并且
如果 f xx (x o , y o ) > 0,則函數f在 (x o , y o )處為上凹函數。
如果 f xx (x o , y o ) < 0,則函數f在 (x o , y o ) 處下凹。
Hessian 矩陣如何支持工程系統的優化過程
在優化和逼近過程中,凹性的知識很重要,因為它表示函數的變化率(導數)。在大多數工程優化問題中,確定可行解涉及確定導數函數的性質。例如,在局部線性逼近中,可以利用二階導數信息來改進逼近。
考慮兩個變量 x 和 y 的函數 f。在計算Hessian矩陣時,我們得到一個具有四個二階導數的2×2矩陣。計算 Hessian 矩陣行列式并使用它來檢查凹性需要有關某些二階導數的附加信息。
對于使用哪種導數來測量凹度常常會產生混淆。計算 Hessian 矩陣的特征值可以幫助確定函數在給定點是上凹還是下凹。上凹表示函數導數增加,下凹表示函數導數減少。了解這一點有助于工程師確定所獲得的解決方案是局部最小值還是最大值。
使用 Cadence 工具優化您的系統
Hessian 矩陣在工程系統的優化過程中具有無價的價值。幸運的是,Cadence 的 CFD 工具套件可以幫助您解決高度復雜的工程系統中的優化問題。
訂閱我們的時事通訊以獲取最新的 CFD 更新或瀏覽 Cadence 的CFD 軟件套件(包括Fidelity和Fidelity Pointwise),以了解有關 Cadence 如何為您提供解決方案的更多信息。
文章來源:cadence博客
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















