APP下载

约束条件对最优化问题的影响

2020-03-17张立国

数学学习与研究 2020年25期
关键词:约束条件

张立国

【摘要】本文结合两个经济学实例说明约束条件对最优化问题的影响,分析约束条件使目标函数的最优选择出现偏差的原因,并给出具体的解决方法.

【关键词】约束条件;可行域;目标函数

在经济学中,最常见的选择标准是最大化目标(如厂商利润最大化、消费者效用最大化等)或最小化目标(如在给定产出下使成本最小化等),这些追求目标函数的最大化问题和最小化问题统称最优化问题.当目标函数受到条件约束时,最优化问题就成了条件极值问题.

由于约束条件的影响,容易造成目标函数的最优选择出现偏差,因而需要深入研究和解析产生偏差的原因.有些学者也做过这方面的讨论,但不够彻底.本文以两类常见经济学案例为引例,说明约束条件对最优化问题的影响,分析约束条件使目标函数的最优选择出现偏差的原因,并给出具体的解决方法.

一、引例与解法错误

例1 设某工厂生产甲、乙两种产品,当产量分别为x,y(单位:千件)时,其利润函数为L(x,y)=6x-x2+16y-4y2-2(单位:万元).

已知生产这两种产品时,每千件产品各需消耗原料2000 kg,现有该原料12000 kg,问:两种产品各生产多少千件时,总利润最大?最大利润为多少?

解 约束条件2000x+2000y=12000,即x+y=6.因此,问题是在x+y=6的条件下,求利润函数L(x,y)的最大值.把x+y=6变形为y=6-x,代入L(x,y),得F(x)=-5x2+38x-50.对变量x求导并令其为零,得F′(x)=-10x+38=0,解得x=3.8,y=2.2.

F″(x)=-10<0,因此当x=3.8时,F(x)有极大值,且F(3.8)=22.2(万元).因为只有一个驻点(3.8,2.2),且实际问题的最大值是存在的,所以驻点(3.8,2.2)是L(x,y)的最大值点,最大值为L(3.8,2.2)=22.2(万元).

注:事实上,当x=3,y=2时,L(3,2)=23(万元),即不需消耗所有原料储量,产值已经超过22.2万元.此题解法的错误在于把不等式(平面区域)约束条件看成等式(直线)约束条件,导致结果出现偏差.

例2 某公司两个工厂生产同样的产品,所需的成本不同:A工厂生产x单位产品与B工厂生产y单位产品时的总成本为C(x,y)=x2+2y2+5xy+700.

若公司的生产任务是500个单位产品,问:如何分配任务才能使总成本最小?

解 约束条件为x+y=500,因此,问题是在x+y=500的条件下求总成本函数C(x,y)的最小值.把x+y=500变形为y=500-x,代入C(x,y),得F(x)=-2x2+500x+500700.

对变量x求导并令其为零,得F′(x)=-4x+500=0,解得x=125,则y=375.此时总成本为531950.

注:不难验证(125,375)是目标函数的最小值点,但遗漏了最小值点(500,0).此题解法的错误是没有考虑直线可行域的边界点.

二、理论分析

通过例1与例2的求解不难发现,这属于条件极值的漏解问题.漏解问题是复杂的,它不仅与求解方法的不严谨性有关,与约束条件的复杂性也有着密切的关联.由于理论依据与适用范围的限制,导致代入法与拉格朗日乘数法只适用部分条件极值问题的求解.因而当约束条件达不到求解方法的要求时,条件极值就会出现漏解现象.

1.约束条件确定了目标函数的可行域

条件极值就是目标函数f(x,y)在约束条件φ(x,y)确立的可行域上的极值.若可行域是有界闭区域,且目标函数f(x,y)在可行域上连续,那么目标函数f(x,y)在可行域上必定取得最大值和最小值.其中最值点既可能在可行域的内部,也可能在可行域的边界上.在可行域内部,f(x,y)的所有驻点与偏导数不存在的点均可能成为目标函数的最值点.而例1和例2的错误就是考虑问题片面造成的.

2.约束条件决定条件极值的解法

求解条件极值的常用方法有两种,即拉格朗日乘数法和代入法.现有的大部分高等数学教材都把这两种方法列为重点,以例题的方式详细介绍如何利用这两种方法,却对理论依据和适用范围避而不谈.其实,它们的理论依据和适用范围都与约束条件φ(x,y)有着密切的关系.

(1)利用代入法求解条件极值

代入法是从约束条件的m个方程中将其中m个变量解出,用其余(n-m)个变量表示,然后直接代入目标函数中,这样就变为一个求(n-m)个变量函数的无条件极值问题,因而约束条件显化是使用代入法的前提条件,否则,使用代入法就会出现漏解情况.

例3 求原点到曲线x2-(y-1)3=0的最短距离.

解1 目标函数:z=x2+y2,约束条件:φ(x,y)=x2-(y-1)3=0.

将约束条件变形为x2=(y-1)3,代入目标函数,得z=(y-1)3+y2.对y求导且令其为零,得 z′=3(y-1)2+2y=3y2-4y+3=0.由于判别式Δ<0,此一元二次函数无实数解.

解2 将约束条件变形为y=1+x2[]3,代入目標函数,得z=x2+(1+x2[]3)2.对x求导,得 z′=2x+4[]3(1+x2[]3)x-1[]3,无稳定点,不可导点x=0.根据一元函数取得极值的第一充分条件可知,(0,1)为所求最小值点.

上述两种解法都采用了代入法,通过代入实现消元降维,转化为一元函数的无条件极值问题,但结果却不同,这说明使用代入法求解条件极值是有条件的.从代数的角度可以看出,当约束条件φ(x,y)变形为单值函数时结果正确,而变为多值函数时结果却错误,这说明条件极值的漏解现象与约束条件φ(x,y)是否显化有关.

① 当约束条件φ(x,y)=0可以显化时,代入法可以把条件极值等价转化为一元函数在区间内的极值问题,而一元函数的极值点只有驻点与不可导点两类,故不会产生漏解的情况.

② 若约束条件φ(x,y)=0不能显化时,约束曲线φ(x,y)=0上的点与其在坐标轴上的投影点之间是多对一的映射.如果极值点邻域内的点出现投影折叠时,极值点的投影或与非极值点的投影重合,或为区间端点,它们都不是z=f[x,y(x)]在定义域内的极值点,此时使用代入法会遗漏条件极值点.

例4 求函数f(x,y)=x2+y2在星形线x2[]3+y2[]3=a2[]3上的最值与对应的最值点.

解 目标函数:f(x,y)=x2+y2,约束条件:φ(x,y)=x2[]3+y2[]3-a2[]3=0.

根据对称性,只讨论y>0的情形:

将约束条件变形为y 2=(a2[]3- x2[]3)3,代入目标函数,得F(x)=x2+(a2[]3-x2[]3)3.

对x求导,得 F′(x)=2x-2(a2[]3-x2[]3)2x-1[]3,得驻点x=±2a[]4.F(x)不可导点x=0.

经比较,最大值F(0)=a2,最小值F±2a[]4=a2[]4,因此f(x,y)的最大值与最小值分别为a2,a2[]4.

由于f(x,y)与φ(x,y)具有对称性,因此最小值点为

2a[]4,2a[]4,- 2a[]4,2a[]4,2a[]4,- 2a[]4,- 2a[]4,- 2a[]4;

最大值点为(0,a),(0,-a),(a,0),(-a,0).

注:将约束条件φ(x,y)分为x轴上、下两部分,利用对称性解决问题.

结合本例可以看出,利用代入法求解条件极值问题时,应全面考虑约束条件的具体状况,才能避免出现漏解现象.

(2)利用拉格朗日乘数法求解条件极值

设函数f(x,y),φ(x,y)在点P(x0,y0)的某邻域内有连续的偏导数,φ(x0,y0)=0.若[φx(x0,y0)]2+[φy(x0,y0)]2≠0时,可用拉格朗日乘数法求解.这里要求约束条件φ(x,y)满足隐函数存在定理,而且是不可或缺的.当[φx(x0,y0)]2+[φy(x0,y0)]2=0时,使用拉格朗日乘数法就会出现漏解情况.

例5 利用拉格朗日乘数法求解例3.

解 目标函数:z=x2+y2,约束条件:φ(x,y)=x2-(y-1)3=0.

构造拉格朗日函数F(x,y,SymbollA@)=x2+y2+SymbollA@[x2-(y-1)3].

对各变量求偏导并令其为零,得

Fx(x,y,λ)=2x+2λx=0,Fy(x,y,λ)=2y-3λ(y-1)2=0,Fλ(x,y,λ)=x2-(y-1)3=0,

方程组无解,遗漏条件极值点(0,1).

例5的求解采用拉格朗日乘数法,这是不依赖消元而直接使用的方法.它将问题转化为二元函数的无条件极值,但结果却无解,这说明拉格朗日乘数法求条件极值是有使用条件的.而例5的漏解是因为约束条件φ(x,y)在极值点(0,1)不满足隐函数存在定理的条件造成的,这与拉格朗日乘数法的使用要求相吻合.因而解决由拉格朗日乘数法造成的漏解问题必须围绕约束条件φ(x,y)是否满足隐函数存在定理展开讨论.

① 若约束条件φ(x,y)满足隐函数存在定理,即[φx(x0,y0)]2+[φy(x0,y0)]2≠0时,条件极值可以用拉格朗日乘数法求解,在理论上不会漏解.拉格朗日乘数法将条件极值等价转化为辅助函数F(x,y,SymbollA@)的无条件极值问题.而二元函数的驻点不一定是极值点,因此拉格朗日乘数法求得结果只是可能的极值点,而且必定含有所有极值点.

② 若约束条件φ(x,y)不满足隐函数存在定理时,拉格朗日乘数法就不再适合作为求解条件极值的方法.如果继续使用此方法,可能出现漏解情况,而且遗漏的可能极值点就是φ(x,y) 的驻点或偏导数不全存在的点.

例6 利用拉格朗日乘数法解例4.

解 目标函数:f(x,y)=x2+y2,约束条件:φ(x,y)=x2[]3+y2[]3-a2[]3=0.

构造拉格朗日函数F(x,y,SymbollA@)=x2+y2+SymbollA@(x2[]3+y2[]3-a2[]3).

对各变量求偏导并令其为零,得

Fx(x,y,λ)=2x+23λx- 1[]3=0,Fy(x,y,λ)=2y+23λy- 1[]3=0,Fλ(x,y,λ)=x2[]3+y2[]3-a2[]3=0,

解得拉格朗日函数的驻点:2a[]4,2a[]4,-2a[]4,2a[]4,2a[]4,-2a[]4,-2a[]4,-2a[]4.

遗漏条件极值点:(0,a),(0,-a),(a,0),(-a,0).结果与例4相同.

注:① 约束条件φ(x,y)在遗漏条件极值点(0,a)的偏导数不存在,其余遗漏条件极值点情况类似.

② 拉格朗日函数的驻点与约束条件φ(x,y)偏导数不全存在的点是目标函数f(x,y)的可能条件极值点.

综上所述,条件极值的极值点或是约束条件φ(x,y)的驻点、φ(x,y)偏导数不全存在的点,或是拉格朗日函数的驻点.不过由于约束条件的限制,使用拉格朗日乘数法时,前两种可能极值点经常被遗漏,因此为避免漏解问题,需要补充考察这两类点.

三、解决问题

条件极值处理最优化问题时,应当考虑可行域上的所有可能极值点,才能避免出现漏解现象,因而条件极值处理最优化问题的解题过程如下.

首先,找出约束条件φ(x,y)确定的可行域.

其次,找出可行域内可能的最值点:

① 找到φ(x,y)的所有偏导数不全存在的点:{(xi,yi)|φx(xi,yi),φy(xi,yi)不存在,i=1,2,…,n}.

② 找到φ(x,y)的驻点:{(xi,yi)|[φx(xi,yi)]2+[φy(xi,yi)]2=0,i=1,2,…,n }.

③ 找到φ(x,y)的邊界点:{(xi,yi)|φ(x,y)=0,i=1,2,…,n }.

④ 找到所有拉格朗日驻点:{(xi,yi)| i=1,2,…,n }.

最后,比较上述所有点处的函数值,取满足题目要求的条件极值.

约束条件不仅决定目标函数的可行域,还影响着条件极值的解法.在最优化问题上,需要谨慎处理约束条件,否则会使最优选择出现偏差,因此,正确理解和分析约束条件是至关重要的.

【参考文献】

张丽,张艺玲,朱德刚.条件极值问题中约束条件的一个注记[J].高等数学研究,2018,21(2):30-31.

猜你喜欢

约束条件
地下汽车检测站建设的约束条件分析
基于一种改进AZSVPWM的满调制度死区约束条件分析
A literature review of research exploring the experiences of overseas nurses in the United Kingdom (2002–2017)
复杂多约束条件通航飞行垂直剖面规划方法
论持续监控研究的假设前提与约束条件
非约束条件下成人在线学习动机量表编制
基于蒙特卡洛的非线性约束条件下的优化算法研究
基于半约束条件下不透水面的遥感提取方法
红砂岩风化土在不同约束条件下单点冲击作用效应
三维约束条件下MgO膨胀剂对油井水泥石早期性能的影响