第二章 静态优化——函数的极值问题 本章主要内容: 2.1 2.2 2.3 2.4 无约束条件的函数极值问题 有约束条件的函数极值问题 小结 习题 2.1 无约束条件的函数极值问题 一元函数极值问题 二元函数极值问题 多元函数极值问题 一元函数的极值问题 一元函数 f (x)在 x x *处取极值的必要条件为 df ( x) f (x ) dx ' 当 0 * x x* 2 d f ( x) '' f (x ) dx 2 f ( x ) 为极小。 (2-1) 0 x x* (2-2) 当 2 d f ( x) '' f (x ) 0 2 dx x x* (2-3) f ( x ) 为极大。 为简单起见,今后我们将只讨论极小,式 (2-1)和(2-2)一起构成 f ( x )为极小值的充分 条件。当 f '' ( x * ) 0 时,也可能有极小值,不过要 检验高阶导数。 上述情况可用图2-1来表示。R点是局部极小点, 又是总体极小点,U只是局部极小点, T 是局部极 大点, S是拐点,不是极值点。 图2-1 函数的极值点和拐点 例 2-1 求使 f ( x) ( x a1 ) 2 ( x a 2 ) 2 ( x a n ) 2 最小的x。 解: f ' ( x) 2( x a1 ) 2( x a 2 ) 2( x a n ) 0 a1 a2 an x n f " ( x* ) 2 n 0 故解使达到极小。本例是著名的最小二乘问题。 二元函数极值问题 下面考虑二元函数 f ( x1 , x2 ) 的极值问题。设 f ( x1 , x2 ) 在 X * x1* , x2* T处取得极小值,记 f ( x1 , x2 ) f ( X ), f ( X )在 ]T 这里 X [ x1 , x2 (T表示转置,X是列向量)。 X X *处取得极小值的必要条件和充分条件可如 下求得。将 f ( X ) 在 X X * 周围展开为泰勒级数 f ( X ) f ( x1 , x2 ) f ( x1* x1 , x2* x2 ) 1 '' f ( X ) f ( X )x1 f ( X )x2 [ f x1x1 ( X * )(x1 ) 2 2! * ' x1 * ' x2 * 2 f x''1x2 ( X * )x1x2 f x''2 x2 ( X * )(x2 )2 ] 0[(x1 )2 ,(x2 )2 ] (2-4) 式中 f (X ) ' x1 * f (X ) ' x2 * f ( x1, x2 ) x1 x1 x1* x2 x2* f ( x1, x2 ) x2 x1 x1* x2 x2* f x'1' x1 ( X * ) f '' x2 x 2 (X ) * f x'1' x2 ( X * ) 2 f ( x1, x2 ) x1 2 x1 x1* x2 x2* 2 f ( x1, x2 ) x2 2 x1 x1* x2 x2* 2 f ( x1, x 2 ) x1x2 x1 x1* x2 x2* o[(x1 ) 2 , (x2 ) 2 ] 表示高阶无穷小。将(2-4)式用 向量矩阵形式表示 f x1 f ( X ) f ( x1 , x2 ) f ( X ) x1 x2 f x2 X X * * f x1x1 1 [x1 x2 ] 2! f x1x2 f ( X ) X f * 式中, T ' X* f x1x2 x1 2 2 o ( x ) ,( x ) 1 2 f x2 x2 * x2 X X 1 X T f X'' * X o (x1 ) 2 , (x2 ) 2 2! x1 X x2 x1 X x 2 (2-5) f f '' X* ' X* f x1 f x1x1 f x1x2 f x2 T X X * f x1x2 f x2 x2 X X* (2-6) * * * 由(2-5)式可知,f ( X ) f ( x1 , x2 ) 取极值的必要条 件为 进一步,若 f X * 0 (2-7) X T f x'' X 0 (2-8) 则这个极值为极小值。由于 X是任意的不为零 的向量,要使(2-8)式成立,由矩阵理论可知, 二阶导数矩阵(又称为Hessian阵) f X'' 必须是正 定的。正定阵形式上可表示为 f X" 0 (2-9) (2-7)和(2-9)一起构成了 f ( X ) 在 X x1 , x2 处取极小值的充分条件。 T 多元函数极值问题 设n个变量的多元函数为 f ( X ) f ( x1 , x2 ,, xn ) 式中 x1 x 2 X xn * * * * T f (X ) 则 在 X X x1 , x2 , xn 处有极小值的必要条 件为一阶导数向量等于零向量,即 f f , f ,, f ' X ' x1 ' x2 ' T xn X X * 0 进一步,若二阶导数矩阵是正定阵,即 f X'' * f '' '' '' f f x1 x2 x1 xn x1 x1 f x'2' x1 f x'2' x2 f x'2' xn f x'n' x1 f x'n' x2 f x'n' xn 则这个极值是极小。 0 (2-11) X X * 式(2-10)和(2-11)一起构成了多元函数 f ( x1 , x2 ,, xn ) T 在 X * x1* , x 2* ,, x n* 处取极小值的充分条件。 由(2-11)式可知,f X'' 是实对称矩阵。判别实 对称矩阵是否为正定有两个常用的方法。一是 检验 f X'' 的特征值,若特征值全部为正,则 f X'' 是正定的。另一是应用塞尔维斯特(Sylvest) 判据。根据此判据,若 f X'' 的各阶顺序主子式均 大于零,即 * * * * '' '' f f x1x1 x1x2 '' '' f f x2 x1 x2 x2 det f '' '' f xk x1 xk x2 f '' f x2 xk 0 f x''k xk X X* '' x1 xk (2-12) '' f 则 X * 就是正定的。det表示A阵的行列式。 例2-2 求下面的多元函数的极值点 f ( x1 , x 2 , x3 ) 2 x12 5 x 22 x32 2 x 2 x3 2 x3 x1 6 x 2 3 解 f ' x1 f 4 x1 2 x3 0 x1 f f 10 x 2 2 x3 6 0 x 2 ' x2 f ' x3 f 2 x1 2 x 2 2 x3 0 x3 由上面三个方程求得可能的极值点为 X x ,x ,x * * 1 * 2 1, 1, 2 * T 3 T 二阶导数阵为 f X'' * 4 0 2 0 10 2 2 2 2 用塞尔维斯特判据来检验,有 40 4 0 det 40 0 0 10 4 0 2 det 0 10 2 24 0 2 2 2 故 f X'' 为正定,在 X * 1, 1, 2T处, f ( X * )为极小。 * 2.2 有约束条件的函数极值问题 前面讨论函数的极值问题时,向量的各个分量 可独立地选择,相互间无约束。本节将讨论的各 分量满足一定约束条件的情况。 设具有个n变量的多元函数为 f ( X ) f ( x1 , x2 , xn ) X的各分量满足下面的m个等式约束方程 f ( X ) f ( x1 , x2 , xn ) j 1,2,, m (m n) (2-13) 若能从m个约束方程中解出m个X的分 量,即将它们用其它n-m个的X分量表示, 那么X中只剩下n-m个独立变量。于是问题 可化为求n-m个变量的多元函数的无约束极 值问题。这就是所谓的“消去法”。 由于从m个方程(一般是非线性方程) 求出m个分量常常是困难的,故经常采用 “拉格朗日乘子法”。为此,对个约束方程, 引入个拉格朗日乘子,并作出一个辅助函 数—拉格朗日函数。 L( x1 , x2 ,, xn , 1 , 2 ,, m ) f ( x1 , x2 ,, xn ) m j g j ( x1 , x2 ,, xn ) j 1 若令 1 , 2 ,, m T G g1 , g 2 ,, g m T 则(2-14)式可用向量形式表示为 L( X , ) f ( X ) T G( X ) (2-15) 于是 f X 的条件极值问题就化为L( X , ) 的无条 件极值问题。函数L有极值的必要条件为 m g j L f j 0 xi xi xi j 1 L g j ( x1 , x2 , j , xn ) 0 i 1,2,, n j 1,2,, m 例2-3 求从原点(0,0,0)至平面 g ( x1 , x2 , x3 ) ax1 bx2 cx3 d 0 的最短距离。 解 原点至空间任何一点 ( x1 , x2 , x3 ) 的距离的平 方为 f ( x1 , x 2 , x3 ) x12 x 22 x32 要使 f ( x1 , x2 , x3 ) 极小,而点 ( x1 , x2 , x3 )必须在所规 定的平面 g ( x1 , x2 , x3 ) 0 上。 这是一个条件极值问题。作拉格朗日函数 L( x1 , x2 , x3 ) f ( x1 , x2 , x3 ) g ( x1 , x2 , x3 ) x12 x22 x32 (ax1 bx2 cx3 d ) 极值的必要条件为 L 2 x1 a 0 x1 L 2 x2 b 0 x2 L 2 x3 c 0 x3 L ax1 bx 2 cx3 d 0 联立求解上面四个方程可得 2d 2 a b2 c2 可能的极值点坐标为 ad x 2 a b2 c2 * 1 bd x 2 a b2 c2 * 2 cd x 2 a b2 c2 * 3 根据问题的性质可以判断极小值存在且是唯一的。 * * * 故上面的 即是极小点的坐标。将极小 ( x1 , x 2 , x3 ) f 点坐标代入函数 中,即可求出最短距离的平方 为 2 d f ( x1* , x 2* , x3* ) 2 a b2 c2 此问题的约束方程 g ( x1 , x2 , x3 ) 0是 x1 、x2 、x3 的线 性函数,因此容易用“消去法”来求极值点。 例如,从 g ( x1 , x2 , x3 ) 0中解出,将它用 x 2 、x3表 示,于是问题就化为求二元函数 f ( x2 , x3 )的无条件 极值问题。读者可自行验证这样做的结果与拉格 朗日乘子法的结果是一样的。 例2-4 动态控制问题的参数化法。 设一个动态系统由下面的非线性状态方程描述 x 0.2x 10tan u ,终止时间t=0.5s,要求算出最优 给定 x(0) 5 控制 u (t ),它使得指标函数 0.5 J (10 x u )dt 10 x (0.5) 2 2 2 0 为最小。 解:这是动态控制问题,这里将控制作用参数 化,于是可用静态最优化的方法求解。 设控制作用 u (t )可用下面的级数来逼近 N u (t ) ai f i (t ) i 1 f i (t ) 是已知的时间函数集,如sin、cos、 Hermite多项式等正交函数或其它线性无关的函 数。于是u (t )可用N个参数 a1 , a2 ,, a N 来表示, u (t ) u (t ) 即 被参数化了。确定 就等于确定N个参数, 使指标J最小。这里可用数值寻优的方法来确定 a1 , a2 ,。, a N 参数 2.3 小结 1. n个变量的多元函数f ( X ) f ( x1 , x2 ,, xn )取无 约束极小值的必要条件为 f ' ( X ) 0,充分条件为 f ' ( X ) 0和 f '' ( X ) 0 。 2. f ( X ) f ( x1 , x2 ,, xn ) 在满足约束条件 G ( X ) 0 时的极小值的求取,可用拉格朗日乘子法,令 L( X , ) f ( X ) T G ( X ) 是拉格朗日乘子(列)向量。 2.4 习题 1.求使得 f ( x) ln x x 2最大的 x 。 2.求使 f ( X ) 10 x1 2 12 x1 x 2 4 x 2 2 为极值的极值 点 x。 3.求使 f ( X ) 5x12 x2 2 5x3 2 4x1 x2 8x1 x3 4x2 x3为 极值的极值点 x 。 4.求使 min f ( X ) 4 x1 2 5 x2 2 , 且 g ( X ) 2 x1 3x2 6 0 5.求原点到曲线 y 2 ( x 1) 3 0 的距离为最小。 6.求函数极值 f ( X ) x12 x2 2 x3 2 ,若 ( x1 x2 ) x3 1 2 2 7.在第一象限内作椭球面 2 2 2 x y z 2 2 1 2 a b c 的切平面,使切平面与三坐标面所围成的四面体 体积最小,求切点的坐标。