前言
主播备考羟基时遇到了这么一道题:
已知
99 个实数
a1,a2,…,a99,
∀i,ai∈[−2,2],
i=1∑99ai=0,求
i=1∑99ai3 的最大值。
答案给的方法是,构造局部不等式:
x∈[−2,2] 时,
x3≤3x+2,当且仅当
x=2 或
x=−1 时取等。然后我们有:
i=1∑99ai3≤i=1∑99(3ai+2)=99×2=198
当且仅当
a1,a2,…,a99 中有
33 个为
2,
66 个为
−1 时取等号。故最大值为
198。
然而这个取等条件看起来很凑巧,当元素个数变为
100 个时就无法取到了。那么有没有方法能得到
n=100 时的最大值呢?
偏导数
对于二元函数
f(x,y),定义
Δx→0limΔxf(x0+Δx,y0)−f(x0,y0)
为
f(x,y) 在
(x0,y0) 处对
x 的偏导数,在本文中,我们将其记作
fx(x0,y0)。类似地,我们也可以定义
fy(x0,y0)。
例如,对于
f(x,y)=xy2,有
fx(x,y)=y2,fy(x,y)=2xy。
这容易推广到自变量更多的情况,不再赘述。
拉格朗日乘数法
对于多元函数
f:Rn→R,我们要求在满足以下条件时的极值:
⎩⎨⎧φ1(x1,x2,…,xn)=0φ2(x1,x2,…,xn)=0…φm(x1,x2,…,xn)=0
可以采用以下方法:
构造函数
L(x1,x2,…,xn,λ1,λ2,…,λm)=f(x1,x2,…,xn)+λ1φ1(x1,x2,…,xn)+λ2φ2(x1,x2,…,xn)+⋯+λmφm(x1,x2,…,xn), 令
L 的每一维(共
n+m 维)偏导数均为
0,解出的
(x1,x2,…,xn) 就
可能是
f 的一个极值点。
如果上面的描述过于抽象,可以考虑
n=2,m=1 的例子:
要求
f(x,y) 在
φ(x,y)=0 条件下的极值,构造
L(x,y,λ)=f(x,y)+λφ(x,y),解方程组:
⎩⎨⎧Lx(x,y,λ)=0Ly(x,y,λ)=0Lλ(x,y,λ)=φ(x,y)=0
解出的
(x0,y0) 就
可能是
f 的一个极值点。
求最值
显然极值点不一定是最值点,最值还可能在某些自变量取到边界值时取到,因此,要注意验证边界情况。
例题
已知
n=100 个实数
a1,a2,…,an,
∀i,ai∈[−2,2],
i=1∑nai=0,求
i=1∑nai3 的最大值。
设
f(a1,a2,…,an)=i=1∑nai3,
φ(a1,a2,…,an)=i=1∑nai,则
L(a1,a2,…,an,λ)=i=1∑nai3+λi=1∑nai。
易知
Lai(a1,a2,…,an,λ)=3ai2+λ=0,我们要解以下方程组:
⎩⎨⎧3a12+λ=03a22+λ=0…3an2+λ=0i=1∑nai=0
则
ai=−λ3 或
ai=−−λ3。记
t=−λ3,
t∈[0,2]。
又因为
i=1∑nai=0,那么必然是
2n 个
t,
2n 个
−t。
在这种情况下,
f(a1,a2,…,an)=0,显然这不是最大值,因此我们要考虑一些自变量取到边界时的情况。
显然取
−2 一定不优,因此设有
k(k∈N∗) 个自变量取到
2,在剩余的
n−k 个自变量中,有
m(m∈N) 个
t 和
n−m−k 个
−t。
则
i=1∑nai=2k+mt+(n−m−k)(−t)=2k−(n−k−2m)ti=1∑nai3=8k+mt3+(n−m−k)(−t)3=8k−(n−k−2m)t3(1)(2)
换元令
s=n−k−2m,考虑一下
k 和
s 的范围:
首先
m=−21(s+k)+2n∈[0,n−k],解得
k−n≤s≤n−k。
又由于
(1) 式为
0,所以
t=s2k∈[0,2),解得
k<s。
所以
k<s≤n−k。
我们要求的
(2) 式可化为
8k−st3=8k−2kt2=(8−2t2)k,我们要求这个式子的最大值:
固定
k,由于
k>0,我们要求
t 尽可能小。
根据
k<s≤n−k ,容易知道
t=s2k≥n−k2k,因此我们只需求
g(k)=[8−2(n−k2k)2]k 的最大值。
用 Geogebra 画出
g(k) 和
g′(k) 的图像,当
n=100 时,
g′(k) 的零点是
33100,在区间
(33,34) 内。
g(33)=4489897600≈199.96>g(34)=1089217600≈199.82,故最大值应为
4489897600,当
a1,a2,…,an 中有
33 个
2 和
67 个
−6766 时取到。
此外,如果我们令
n=99,则
g′(k) 的零点为
33,正对应着前言的那道题。