多元最佳化

多重約束(multiple constraints)

一條小路把你限制在一條曲線上;兩條交叉的小路則把你釘在一個點上。當一個最佳化必須同時滿足不止一條、而是好幾條等式約束——g1 = c1, g2 = c2, 等等——可行集就收縮了。在三維中,兩個約束曲面通常相交於一條曲線,你便沿這條交線最佳化。拉格朗日方法自然地推廣:你只需為每條約束配一個乘數。

最優條件變成 grad f = lambda1 乘 grad g1 + lambda2 乘 grad g2 + ...——目標的梯度是各約束梯度的線性組合,每個都以自己的乘數加權。幾何上,grad f 必須落在約束梯度所張成的子空間裡;等價地,grad f 中沿可行集(保持所有約束滿足的方向)的分量必須為零,否則你仍能改善。與約束本身合在一起,便得到 n + m 個方程,含 n 個變數和 m 個乘數,你聯立求解。

在實際問題中多重約束是常態而非例外:化學平衡同時守恆若干元素,投資組合必須達到目標收益、同時保持權重之和為一,結構必須滿足多個載荷平衡。一個關鍵的誠實條件支撐著這套方法——約束梯度在最優點處必須線性無關(約束品性條件)。若不然,乘數可能不存在或不唯一,那幅漂亮的圖景就會失效。

在 x^2 + y^2 + z^2 = 1 與 x + y - z = 0 相交的圓上求 f(x, y, z) = x + y + z 的極值。兩個約束、兩個乘數:grad f = lambda1 grad g1 + lambda2 grad g2 給出三個方程,與兩個約束聯立求出最優點。

每條約束一個乘數;目標梯度是各約束梯度的加權混合。

獨立的等式約束不能比變數還多:n 個變數中有 m 個約束,需 m 小於等於 n,且約束梯度必須保持線性無關,否則該方法給不出有效的乘數。

又稱
several equality constraints多个等式约束多個等式約束