一年多前学的东西,现在全都忘了,也没有时间深入。。。
现在有一个连续可导的函数f(x1,x2,...)。
给出一些限制条件gi(x1,x2,...)=0。
求f的最大值(最小值同理)。
一些定义:
∂xi∂f代表f对xi的偏导。
∇f=[∂x1∂f,∂x2∂f,...]表示f的梯度向量
可以发现一个极大值点他的梯度向量一定为0,否则总可以沿着梯度向量的方向走足够小的一段距离达到更大的值。
合法范围如果不连续直接求就是了。
边界情况还没考虑清楚,但有些地方并不完全适用。
结论:如果这个点是合法范围的一个极值点,那么∇f一定能被∇g线性表示出来。
感性理解:把∇g表示出来的空间想象成一个超平面。x可以向这个超平面的法向量方向走一步,而不引起g的变化,却因为走的这一步不和∇f垂直(否则∇f在超平面内)导致f的值可以发生变化。
所以∂xi∂f=∑jλj∂xi∂gj,∀i,j
与g的限制联立可以得到典型方程组:
{∂xi∂fgj(x1,x2,...)==∑jλj∂xi∂gj0∀i,j∀j
如果g只有一项的话,等式就变成了这个样子:
{∂xi∂fg(x1,x2,...)==λ∂xi∂g0∀i,j∀j
对于一个λ,可以根据根据第一条算出每一个xi。
假如g对于λ单调,可以通过二分λ的形式来逼近限制。