張立國(guó)
【摘要】本文結(jié)合兩個(gè)經(jīng)濟(jì)學(xué)實(shí)例說(shuō)明約束條件對(duì)最優(yōu)化問(wèn)題的影響,分析約束條件使目標(biāo)函數(shù)的最優(yōu)選擇出現(xiàn)偏差的原因,并給出具體的解決方法.
【關(guān)鍵詞】約束條件;可行域;目標(biāo)函數(shù)
在經(jīng)濟(jì)學(xué)中,最常見(jiàn)的選擇標(biāo)準(zhǔn)是最大化目標(biāo)(如廠商利潤(rùn)最大化、消費(fèi)者效用最大化等)或最小化目標(biāo)(如在給定產(chǎn)出下使成本最小化等),這些追求目標(biāo)函數(shù)的最大化問(wèn)題和最小化問(wèn)題統(tǒng)稱最優(yōu)化問(wèn)題.當(dāng)目標(biāo)函數(shù)受到條件約束時(shí),最優(yōu)化問(wèn)題就成了條件極值問(wèn)題.
由于約束條件的影響,容易造成目標(biāo)函數(shù)的最優(yōu)選擇出現(xiàn)偏差,因而需要深入研究和解析產(chǎn)生偏差的原因.有些學(xué)者也做過(guò)這方面的討論,但不夠徹底.本文以兩類常見(jiàn)經(jīng)濟(jì)學(xué)案例為引例,說(shuō)明約束條件對(duì)最優(yōu)化問(wèn)題的影響,分析約束條件使目標(biāo)函數(shù)的最優(yōu)選擇出現(xiàn)偏差的原因,并給出具體的解決方法.
一、引例與解法錯(cuò)誤
例1 設(shè)某工廠生產(chǎn)甲、乙兩種產(chǎn)品,當(dāng)產(chǎn)量分別為x,y(單位:千件)時(shí),其利潤(rùn)函數(shù)為L(zhǎng)(x,y)=6x-x2+16y-4y2-2(單位:萬(wàn)元).
已知生產(chǎn)這兩種產(chǎn)品時(shí),每千件產(chǎn)品各需消耗原料2000 kg,現(xiàn)有該原料12000 kg,問(wèn):兩種產(chǎn)品各生產(chǎn)多少千件時(shí),總利潤(rùn)最大?最大利潤(rùn)為多少?
解 約束條件2000x+2000y=12000,即x+y=6.因此,問(wèn)題是在x+y=6的條件下,求利潤(rùn)函數(shù)L(x,y)的最大值.把x+y=6變形為y=6-x,代入L(x,y),得F(x)=-5x2+38x-50.對(duì)變量x求導(dǎo)并令其為零,得F′(x)=-10x+38=0,解得x=3.8,y=2.2.
F″(x)=-10<0,因此當(dāng)x=3.8時(shí),F(xiàn)(x)有極大值,且F(3.8)=22.2(萬(wàn)元).因?yàn)橹挥幸粋€(gè)駐點(diǎn)(3.8,2.2),且實(shí)際問(wèn)題的最大值是存在的,所以駐點(diǎn)(3.8,2.2)是L(x,y)的最大值點(diǎn),最大值為L(zhǎng)(3.8,2.2)=22.2(萬(wàn)元).
注:事實(shí)上,當(dāng)x=3,y=2時(shí),L(3,2)=23(萬(wàn)元),即不需消耗所有原料儲(chǔ)量,產(chǎn)值已經(jīng)超過(guò)22.2萬(wàn)元.此題解法的錯(cuò)誤在于把不等式(平面區(qū)域)約束條件看成等式(直線)約束條件,導(dǎo)致結(jié)果出現(xiàn)偏差.
例2 某公司兩個(gè)工廠生產(chǎn)同樣的產(chǎn)品,所需的成本不同:A工廠生產(chǎn)x單位產(chǎn)品與B工廠生產(chǎn)y單位產(chǎn)品時(shí)的總成本為C(x,y)=x2+2y2+5xy+700.
若公司的生產(chǎn)任務(wù)是500個(gè)單位產(chǎn)品,問(wèn):如何分配任務(wù)才能使總成本最???
解 約束條件為x+y=500,因此,問(wèn)題是在x+y=500的條件下求總成本函數(shù)C(x,y)的最小值.把x+y=500變形為y=500-x,代入C(x,y),得F(x)=-2x2+500x+500700.
對(duì)變量x求導(dǎo)并令其為零,得F′(x)=-4x+500=0,解得x=125,則y=375.此時(shí)總成本為531950.
注:不難驗(yàn)證(125,375)是目標(biāo)函數(shù)的最小值點(diǎn),但遺漏了最小值點(diǎn)(500,0).此題解法的錯(cuò)誤是沒(méi)有考慮直線可行域的邊界點(diǎn).
二、理論分析
通過(guò)例1與例2的求解不難發(fā)現(xiàn),這屬于條件極值的漏解問(wèn)題.漏解問(wèn)題是復(fù)雜的,它不僅與求解方法的不嚴(yán)謹(jǐn)性有關(guān),與約束條件的復(fù)雜性也有著密切的關(guān)聯(lián).由于理論依據(jù)與適用范圍的限制,導(dǎo)致代入法與拉格朗日乘數(shù)法只適用部分條件極值問(wèn)題的求解.因而當(dāng)約束條件達(dá)不到求解方法的要求時(shí),條件極值就會(huì)出現(xiàn)漏解現(xiàn)象.
1.約束條件確定了目標(biāo)函數(shù)的可行域
條件極值就是目標(biāo)函數(shù)f(x,y)在約束條件φ(x,y)確立的可行域上的極值.若可行域是有界閉區(qū)域,且目標(biāo)函數(shù)f(x,y)在可行域上連續(xù),那么目標(biāo)函數(shù)f(x,y)在可行域上必定取得最大值和最小值.其中最值點(diǎn)既可能在可行域的內(nèi)部,也可能在可行域的邊界上.在可行域內(nèi)部,f(x,y)的所有駐點(diǎn)與偏導(dǎo)數(shù)不存在的點(diǎn)均可能成為目標(biāo)函數(shù)的最值點(diǎn).而例1和例2的錯(cuò)誤就是考慮問(wèn)題片面造成的.
2.約束條件決定條件極值的解法
求解條件極值的常用方法有兩種,即拉格朗日乘數(shù)法和代入法.現(xiàn)有的大部分高等數(shù)學(xué)教材都把這兩種方法列為重點(diǎn),以例題的方式詳細(xì)介紹如何利用這兩種方法,卻對(duì)理論依據(jù)和適用范圍避而不談.其實(shí),它們的理論依據(jù)和適用范圍都與約束條件φ(x,y)有著密切的關(guān)系.
(1)利用代入法求解條件極值
代入法是從約束條件的m個(gè)方程中將其中m個(gè)變量解出,用其余(n-m)個(gè)變量表示,然后直接代入目標(biāo)函數(shù)中,這樣就變?yōu)橐粋€(gè)求(n-m)個(gè)變量函數(shù)的無(wú)條件極值問(wèn)題,因而約束條件顯化是使用代入法的前提條件,否則,使用代入法就會(huì)出現(xiàn)漏解情況.
例3 求原點(diǎn)到曲線x2-(y-1)3=0的最短距離.
解1 目標(biāo)函數(shù):z=x2+y2,約束條件:φ(x,y)=x2-(y-1)3=0.
將約束條件變形為x2=(y-1)3,代入目標(biāo)函數(shù),得z=(y-1)3+y2.對(duì)y求導(dǎo)且令其為零,得 z′=3(y-1)2+2y=3y2-4y+3=0.由于判別式Δ<0,此一元二次函數(shù)無(wú)實(shí)數(shù)解.
解2 將約束條件變形為y=1+x2[]3,代入目標(biāo)函數(shù),得z=x2+(1+x2[]3)2.對(duì)x求導(dǎo),得 z′=2x+4[]3(1+x2[]3)x-1[]3,無(wú)穩(wěn)定點(diǎn),不可導(dǎo)點(diǎn)x=0.根據(jù)一元函數(shù)取得極值的第一充分條件可知,(0,1)為所求最小值點(diǎn).
上述兩種解法都采用了代入法,通過(guò)代入實(shí)現(xiàn)消元降維,轉(zhuǎn)化為一元函數(shù)的無(wú)條件極值問(wèn)題,但結(jié)果卻不同,這說(shuō)明使用代入法求解條件極值是有條件的.從代數(shù)的角度可以看出,當(dāng)約束條件φ(x,y)變形為單值函數(shù)時(shí)結(jié)果正確,而變?yōu)槎嘀岛瘮?shù)時(shí)結(jié)果卻錯(cuò)誤,這說(shuō)明條件極值的漏解現(xiàn)象與約束條件φ(x,y)是否顯化有關(guān).
① 當(dāng)約束條件φ(x,y)=0可以顯化時(shí),代入法可以把條件極值等價(jià)轉(zhuǎn)化為一元函數(shù)在區(qū)間內(nèi)的極值問(wèn)題,而一元函數(shù)的極值點(diǎn)只有駐點(diǎn)與不可導(dǎo)點(diǎn)兩類,故不會(huì)產(chǎn)生漏解的情況.
② 若約束條件φ(x,y)=0不能顯化時(shí),約束曲線φ(x,y)=0上的點(diǎn)與其在坐標(biāo)軸上的投影點(diǎn)之間是多對(duì)一的映射.如果極值點(diǎn)鄰域內(nèi)的點(diǎn)出現(xiàn)投影折疊時(shí),極值點(diǎn)的投影或與非極值點(diǎn)的投影重合,或?yàn)閰^(qū)間端點(diǎn),它們都不是z=f[x,y(x)]在定義域內(nèi)的極值點(diǎn),此時(shí)使用代入法會(huì)遺漏條件極值點(diǎn).
例4 求函數(shù)f(x,y)=x2+y2在星形線x2[]3+y2[]3=a2[]3上的最值與對(duì)應(yīng)的最值點(diǎn).
解 目標(biāo)函數(shù):f(x,y)=x2+y2,約束條件:φ(x,y)=x2[]3+y2[]3-a2[]3=0.
根據(jù)對(duì)稱性,只討論y>0的情形:
將約束條件變形為y 2=(a2[]3- x2[]3)3,代入目標(biāo)函數(shù),得F(x)=x2+(a2[]3-x2[]3)3.
對(duì)x求導(dǎo),得 F′(x)=2x-2(a2[]3-x2[]3)2x-1[]3,得駐點(diǎn)x=±2a[]4.F(x)不可導(dǎo)點(diǎn)x=0.
經(jīng)比較,最大值F(0)=a2,最小值F±2a[]4=a2[]4,因此f(x,y)的最大值與最小值分別為a2,a2[]4.
由于f(x,y)與φ(x,y)具有對(duì)稱性,因此最小值點(diǎn)為
2a[]4,2a[]4,- 2a[]4,2a[]4,2a[]4,- 2a[]4,- 2a[]4,- 2a[]4;
最大值點(diǎn)為(0,a),(0,-a),(a,0),(-a,0).
注:將約束條件φ(x,y)分為x軸上、下兩部分,利用對(duì)稱性解決問(wèn)題.
結(jié)合本例可以看出,利用代入法求解條件極值問(wèn)題時(shí),應(yīng)全面考慮約束條件的具體狀況,才能避免出現(xiàn)漏解現(xiàn)象.
(2)利用拉格朗日乘數(shù)法求解條件極值
設(shè)函數(shù)f(x,y),φ(x,y)在點(diǎn)P(x0,y0)的某鄰域內(nèi)有連續(xù)的偏導(dǎo)數(shù),φ(x0,y0)=0.若[φx(x0,y0)]2+[φy(x0,y0)]2≠0時(shí),可用拉格朗日乘數(shù)法求解.這里要求約束條件φ(x,y)滿足隱函數(shù)存在定理,而且是不可或缺的.當(dāng)[φx(x0,y0)]2+[φy(x0,y0)]2=0時(shí),使用拉格朗日乘數(shù)法就會(huì)出現(xiàn)漏解情況.
例5 利用拉格朗日乘數(shù)法求解例3.
解 目標(biāo)函數(shù):z=x2+y2,約束條件:φ(x,y)=x2-(y-1)3=0.
構(gòu)造拉格朗日函數(shù)F(x,y,SymbollA@)=x2+y2+SymbollA@[x2-(y-1)3].
對(duì)各變量求偏導(dǎo)并令其為零,得
Fx(x,y,λ)=2x+2λx=0,F(xiàn)y(x,y,λ)=2y-3λ(y-1)2=0,F(xiàn)λ(x,y,λ)=x2-(y-1)3=0,
方程組無(wú)解,遺漏條件極值點(diǎn)(0,1).
例5的求解采用拉格朗日乘數(shù)法,這是不依賴消元而直接使用的方法.它將問(wèn)題轉(zhuǎn)化為二元函數(shù)的無(wú)條件極值,但結(jié)果卻無(wú)解,這說(shuō)明拉格朗日乘數(shù)法求條件極值是有使用條件的.而例5的漏解是因?yàn)榧s束條件φ(x,y)在極值點(diǎn)(0,1)不滿足隱函數(shù)存在定理的條件造成的,這與拉格朗日乘數(shù)法的使用要求相吻合.因而解決由拉格朗日乘數(shù)法造成的漏解問(wèn)題必須圍繞約束條件φ(x,y)是否滿足隱函數(shù)存在定理展開討論.
① 若約束條件φ(x,y)滿足隱函數(shù)存在定理,即[φx(x0,y0)]2+[φy(x0,y0)]2≠0時(shí),條件極值可以用拉格朗日乘數(shù)法求解,在理論上不會(huì)漏解.拉格朗日乘數(shù)法將條件極值等價(jià)轉(zhuǎn)化為輔助函數(shù)F(x,y,SymbollA@)的無(wú)條件極值問(wèn)題.而二元函數(shù)的駐點(diǎn)不一定是極值點(diǎn),因此拉格朗日乘數(shù)法求得結(jié)果只是可能的極值點(diǎn),而且必定含有所有極值點(diǎn).
② 若約束條件φ(x,y)不滿足隱函數(shù)存在定理時(shí),拉格朗日乘數(shù)法就不再適合作為求解條件極值的方法.如果繼續(xù)使用此方法,可能出現(xiàn)漏解情況,而且遺漏的可能極值點(diǎn)就是φ(x,y) 的駐點(diǎn)或偏導(dǎo)數(shù)不全存在的點(diǎn).
例6 利用拉格朗日乘數(shù)法解例4.
解 目標(biāo)函數(shù):f(x,y)=x2+y2,約束條件:φ(x,y)=x2[]3+y2[]3-a2[]3=0.
構(gòu)造拉格朗日函數(shù)F(x,y,SymbollA@)=x2+y2+SymbollA@(x2[]3+y2[]3-a2[]3).
對(duì)各變量求偏導(dǎo)并令其為零,得
Fx(x,y,λ)=2x+23λx- 1[]3=0,F(xiàn)y(x,y,λ)=2y+23λy- 1[]3=0,F(xiàn)λ(x,y,λ)=x2[]3+y2[]3-a2[]3=0,
解得拉格朗日函數(shù)的駐點(diǎn):2a[]4,2a[]4,-2a[]4,2a[]4,2a[]4,-2a[]4,-2a[]4,-2a[]4.
遺漏條件極值點(diǎn):(0,a),(0,-a),(a,0),(-a,0).結(jié)果與例4相同.
注:① 約束條件φ(x,y)在遺漏條件極值點(diǎn)(0,a)的偏導(dǎo)數(shù)不存在,其余遺漏條件極值點(diǎn)情況類似.
② 拉格朗日函數(shù)的駐點(diǎn)與約束條件φ(x,y)偏導(dǎo)數(shù)不全存在的點(diǎn)是目標(biāo)函數(shù)f(x,y)的可能條件極值點(diǎn).
綜上所述,條件極值的極值點(diǎn)或是約束條件φ(x,y)的駐點(diǎn)、φ(x,y)偏導(dǎo)數(shù)不全存在的點(diǎn),或是拉格朗日函數(shù)的駐點(diǎn).不過(guò)由于約束條件的限制,使用拉格朗日乘數(shù)法時(shí),前兩種可能極值點(diǎn)經(jīng)常被遺漏,因此為避免漏解問(wèn)題,需要補(bǔ)充考察這兩類點(diǎn).
三、解決問(wèn)題
條件極值處理最優(yōu)化問(wèn)題時(shí),應(yīng)當(dāng)考慮可行域上的所有可能極值點(diǎn),才能避免出現(xiàn)漏解現(xiàn)象,因而條件極值處理最優(yōu)化問(wèn)題的解題過(guò)程如下.
首先,找出約束條件φ(x,y)確定的可行域.
其次,找出可行域內(nèi)可能的最值點(diǎn):
① 找到φ(x,y)的所有偏導(dǎo)數(shù)不全存在的點(diǎn):{(xi,yi)|φx(xi,yi),φy(xi,yi)不存在,i=1,2,…,n}.
② 找到φ(x,y)的駐點(diǎn):{(xi,yi)|[φx(xi,yi)]2+[φy(xi,yi)]2=0,i=1,2,…,n }.
③ 找到φ(x,y)的邊界點(diǎn):{(xi,yi)|φ(x,y)=0,i=1,2,…,n }.
④ 找到所有拉格朗日駐點(diǎn):{(xi,yi)| i=1,2,…,n }.
最后,比較上述所有點(diǎn)處的函數(shù)值,取滿足題目要求的條件極值.
約束條件不僅決定目標(biāo)函數(shù)的可行域,還影響著條件極值的解法.在最優(yōu)化問(wèn)題上,需要謹(jǐn)慎處理約束條件,否則會(huì)使最優(yōu)選擇出現(xiàn)偏差,因此,正確理解和分析約束條件是至關(guān)重要的.
【參考文獻(xiàn)】
張麗,張藝玲,朱德剛.條件極值問(wèn)題中約束條件的一個(gè)注記[J].高等數(shù)學(xué)研究,2018,21(2):30-31.