拉格朗日乘子法的目的就是將有等式約束極值問題轉化爲無約束非線性優化問題,通常這種無約束極值問題我們稱之爲經典極值問題。
這類問題通常有參數擬合(包括陣列中的MVDR最優係數加權係數)、選址問題等。
可行域內極值點稱爲全局最優解,鄰域內極值點稱爲局部最優解。
一階導數 = 梯度;二階導數 = 海塞矩陣(hesse)
一階導數是列向量,二階導數是一階倒數轉置再求導,每一個函數求導後還是按列排放
1、二次函數求極值
1.1、正定二次函數求極值
多元二次函數求極值點時非線性規劃中最重要的一種規劃類型,矩陣MVDR算法就是這樣一個問題。
該類型函數的梯度:
該類型函數的海塞矩陣:
而且根據定理,Q正定時候,二次函數f(X)有唯一極小點,唯一極小值點可以算出解析解:,MVDR的求解就是根據此原理來的。
正定矩陣的判斷可以通過matlab的特徵值分解實現:
[c,s] = eig(Q);
if min(min(s))>0
正定
else
非正定
end
1.2、半正定二次函數求極值
如果海塞矩陣半正定(包括正定),則可以斷定f(X)是凸函數(包括線性規劃,也是凸優化的一種),半正定二次函數優化問題又稱之爲凸優化,凸優化問題中局部最優解就是全局最優解,且此解唯一。
[c,s] = eig(Q);
if min(min(s))>=0
半正定
else
非半正定
end
2、一維搜索求解二次函數極值
求解: