張 馳,胡 博,秦 琴,鐘海全
(1.廣東省華立技師學(xué)院建筑與經(jīng)濟(jì)學(xué)部,廣州 511300;2.卡斯柯信號(hào)有限公司平臺(tái)軟件部,上海 200071;3.廣州大學(xué)松田學(xué)院,廣州 511370;4.西南石油大學(xué)油氣藏地質(zhì)與開發(fā)工程國(guó)家重點(diǎn)實(shí)驗(yàn)室,成都 610500)
對(duì)于無條件極值問題,應(yīng)采用目標(biāo)函數(shù)的Hesse矩陣作為判別其充分條件的依據(jù),許多教材都有詳細(xì)的闡述;但對(duì)于用拉格朗日乘數(shù)法解多元函數(shù)條件極值時(shí)充分條件的判別矩陣,因其比Hesse矩陣復(fù)雜許多,少有教材〔1-3〕詳細(xì)論述。兩種充分條件的判別矩陣具有差別的原因在于:條件極值問題帶有等式約束,其駐點(diǎn)處的自變量增量不全為獨(dú)立變量,即自變量增量間存在約束關(guān)系;而無條件極值的自變量增量之間沒有約束關(guān)系,因而可直接采用Hesse矩陣判定。所以要尋找精確的條件極值的充分條件的判別矩陣,就應(yīng)求出自變量增量中非獨(dú)立變量關(guān)于獨(dú)立變量的解析表達(dá)式或數(shù)值表達(dá)式。本文分析了兩種充分條件的關(guān)聯(lián)及差別,詳細(xì)推導(dǎo)了條件極值的充分條件的判別方法;在滿足隱函數(shù)存在定理的條件下,于駐點(diǎn)處對(duì)約束條件作一階泰勒展開,進(jìn)而求出非獨(dú)立變量關(guān)于獨(dú)立變量的解析表達(dá)式。本文有助于理解無條件極值和條件極值的充分條件的關(guān)聯(lián)及差別,在此理解上,給出了一種尋找更精確的條件極值的充分條件的判別矩陣的方法。
為方便與后文中條件極值的充分條件的判別法作對(duì)比,此處先回顧無條件極值的充分條件。設(shè)R為實(shí)數(shù)域,n維歐幾里得空間為Rn,即Rn={(x1,x2,…,xn)|x1,x2,…,xn∈R1},則Rn具有實(shí)線性空間的代數(shù)結(jié) 構(gòu) 和 距 離 結(jié) 構(gòu) :?x=(x1,x2,…,xn),y=(y1,y2,…,yn)∈Rn,λ∈R1,有x+y=(x1+y1,x2+y2,…,xn+yn),λx=(λx1,λx2,…,λxn),歐氏距離
設(shè)目標(biāo)函數(shù)f(x)是定義在Rn中區(qū)域Ω上的函數(shù),X0=()是Ω的內(nèi)點(diǎn),f(x)在X0的一個(gè)鄰域內(nèi)具有二階連續(xù)偏導(dǎo)數(shù),且X0是f(x)的駐點(diǎn),即?f(X0)=0;記Hn為f(x)在X0的Hesse矩陣,則有:若Hn正定,則X0是f(x)的極小值點(diǎn);若Hn負(fù)定,則X0是f(x)的極大值點(diǎn);若Hn的特征值有正有負(fù),則X0是f(x)的鞍點(diǎn);其余情況,則不能判定X0的狀態(tài)。
對(duì)于求解等式約束條件極值的問題,可轉(zhuǎn)化為求解無條件極值,即拉格朗日乘數(shù)法,便可應(yīng)用求解無條件極值的方法得到駐點(diǎn),這實(shí)際上是一種降維思想〔4〕。雖然乘數(shù)法解出的是拉格朗日函數(shù)的駐點(diǎn),但因?yàn)榭尚杏騼?nèi)的點(diǎn)均滿足等式約束,所以拉格朗日函數(shù)的駐點(diǎn)也是f(x)的駐點(diǎn)。
現(xiàn)設(shè)n,m∈N+,m<n,且本文中的f(x)在定義域內(nèi)對(duì)每個(gè)自變量xi具有二階連續(xù)偏導(dǎo)數(shù),等式約束有m個(gè):
在駐點(diǎn)及其某一鄰域內(nèi)滿足條件Jacobi矩陣行滿秩,即式(2),以及滿足式(3)
作Lagrange函數(shù):
解這n+m個(gè)方程可得駐點(diǎn)。在任一駐點(diǎn)處,顯然滿足m個(gè)等式約束,即;又因?yàn)槭菞l件極值問題,所以任一駐點(diǎn)處的任一改變量均應(yīng)在可行域內(nèi),則該駐點(diǎn)處的微小改變量也應(yīng)滿足這m個(gè)等式約束,即,則有,則該駐點(diǎn)X0為極小值點(diǎn);若,則X0為極大值點(diǎn);若Δf()X有正有負(fù),則X0為鞍點(diǎn)。
對(duì)L函數(shù)(4)在駐點(diǎn)X0作關(guān)于的二階泰勒展開,此時(shí)需將L函數(shù)中的看作常量,可得:
由條件極值的必要性條件〔1,5〕可得:
此時(shí)Hesse矩陣若仍采用無條件極值的充分條件〔1〕判別,則有:若在該駐點(diǎn)X0處Hn正定,則該駐點(diǎn)為極小值點(diǎn);若Hn負(fù)定,則X0為極大值點(diǎn);若Hn的特征值有正有負(fù),則X0為鞍點(diǎn);其余情況,則不能判定X0的狀態(tài)。無條件極值的充分條件判別法是將n個(gè)dx0i均作為獨(dú)立變量,但對(duì)于條件極值,由于存在m個(gè)等式約束,則獨(dú)立變量其實(shí)只有n-m個(gè),另外m個(gè)變量為這n-m個(gè)獨(dú)立變量的隱函數(shù)〔6〕,即為非獨(dú)立變量,所以需求出非獨(dú)立變量關(guān)于獨(dú)立變量的表達(dá)式才能更精確地判別極值,這是條件極值充分條件判別法與無條件極值充分條件判別法不同的關(guān)鍵。
現(xiàn)在繼續(xù)討論條件極值的充分條件的判別方法。對(duì)等式約束(1)在滿足式(2)及式(3)(即滿足隱函數(shù)存在定理〔7〕)的駐點(diǎn)X0處作一階泰勒展開,可得:
當(dāng)dxi0足夠小,假設(shè),于是解這m個(gè)線性方程可得:此時(shí)是將作為獨(dú)立變量,其中記系數(shù)矩陣Am×()n-m為:
記單位矩陣In-m為:
記Hesse變形矩陣H?n-m為:
在駐點(diǎn)X0處,當(dāng)足夠小時(shí)是二次型的高階無窮小,則Δf與同號(hào)〔8〕;此時(shí)若正定的特征值全為正,則所有二次型取極小值,該駐點(diǎn)X0為極小值點(diǎn);若負(fù)定,的特征值全為負(fù),則所有二次型取極大值,X0為極大值點(diǎn)〔9-10〕;若的特征值有正有負(fù),則二次型有正有負(fù),Δf(X)有正有負(fù),X0為鞍點(diǎn);其余情況,則不能判定X0的狀態(tài)。
既然無條件極值采用的判別矩陣Hn與條件極值采用的判別矩陣有所差別,則需求出中系數(shù)矩陣Am×(n-m),即找到ajk的表達(dá)式,才能更精確地判別極值。
當(dāng)n=3,m=2時(shí),目標(biāo)函數(shù)為:f(x1,x2,x3),等式約束(1)變?yōu)槭剑?),
且L函數(shù)(4)在駐點(diǎn)X0處均滿足式(2)及式(3)。設(shè)此時(shí)Jacobi行列式為即以x3作為獨(dú)立變量,此時(shí)i=1,2,3;j=1,2,則對(duì)等式約束(8)在駐點(diǎn)處作一階泰勒展開可得
當(dāng)n=4,m=2時(shí),目標(biāo)函數(shù)為:f( )x1,x2,x3,x4,等式約束(1)變?yōu)槭剑?),
且L函數(shù)(4)在駐點(diǎn)X0處均滿足式(2)及式(3)。此時(shí)設(shè)Jacobi行列式為即以x3,x4作為獨(dú)立變量,此時(shí)i=1,2,3,4;j=1,2,則對(duì)等式約束(9)在駐點(diǎn)處作一階泰勒展開可得:
繼續(xù)求解高維多約束的情形,并由數(shù)學(xué)歸納法可推知,?n,m∈N+,m<n,k=1,2,…n-m,當(dāng)目標(biāo)函數(shù)為f(x),等式約束為(1),且L函數(shù)(4)在駐點(diǎn)處均滿足式(2)及式(3)時(shí),則對(duì)等式約束(1)在駐點(diǎn)處作一階泰勒展開可得如下關(guān)系式:
當(dāng)j=1,即求系數(shù)矩陣Am×(n-m)的第一行系數(shù)a1k時(shí)
例如:
當(dāng)j=m,即求系數(shù)矩陣Am×(n-m)的最后一行系數(shù)amk時(shí)
例如:
當(dāng)j=2,3,…m-1,即求系數(shù)矩陣Am×(n-m)的中間行系數(shù)ajk時(shí),
例如,當(dāng)j=2,即求系數(shù)矩陣Am×(n-m)的第2行系數(shù)a2k時(shí)
系數(shù)ajk中分母部分乘積右側(cè)各元素的變化規(guī)律為:x共有m個(gè)元素:x1,x2,…,xm,其中xj不存在,被xm+k在第j列取代,其余的元素從xm,xm-1,…,xj+3,xj+2,x1依次排列在xm+k右側(cè),xj+1,xj-1,xj-2,…,x2依次排列在xm+k左側(cè)。需要注意的是,若ajk中各元素排列順序發(fā)生變化,則ajk的正負(fù)符號(hào)可能發(fā)生變化:當(dāng)變動(dòng)奇數(shù)次時(shí),符號(hào)改變;當(dāng)變動(dòng)偶數(shù)次時(shí),符號(hào)不變;其中變動(dòng)次數(shù)指各元素按相鄰順序依次變動(dòng)的次數(shù)。
此處應(yīng)用與文獻(xiàn)〔6〕中相似的例子來驗(yàn)證條件極值的充分條件應(yīng)采用Hn?-m而不是Hn來判別極值。設(shè)笛卡爾坐標(biāo)系中有橢圓方程,
求該橢圓上的點(diǎn)到坐標(biāo)原點(diǎn)距離的極大值和極小值。由題可知,式(12)是以坐標(biāo)原點(diǎn)為頂點(diǎn),y軸為轉(zhuǎn)軸的旋轉(zhuǎn)拋物面;式(13)是過(1,0,0),(0,1,0),(0,0,1)三點(diǎn)并以(1,1,1)為一法向的平面;二者交線為一橢圓,其上點(diǎn)到原點(diǎn)的距離必存在極大值和極小值。或者可采用文獻(xiàn)〔6〕中初等數(shù)學(xué)的方法證明極大值和極小值的存在。
解:原題等價(jià)于求目標(biāo)函數(shù)f(x,y,z)=x2+y2+z2在等式約束g1(x,y,z)=y-x2-z2=0,g2(x,y,z)=x+y+z-1=0下的極大值和極小值。作L函數(shù)L(x,y,z,λ1,λ2)=f+λ1g1+λ2g2,由條件極值的必要性條件〔5,7〕可得L函數(shù)的兩個(gè)駐點(diǎn)分別為:
第一,對(duì)于無條件極值的充分條件,應(yīng)采用Hesse矩陣Hn作為判別矩陣;對(duì)于條件極值的充分條件,應(yīng)采用Hesse變形矩陣作為判別矩陣,可判別出一部分本身是極值點(diǎn)但被Hn錯(cuò)誤判定的駐點(diǎn)。產(chǎn)生該差別的原因是條件極值問題的自變量增量dxi均需滿足m個(gè)等式約束,所以n個(gè)dxi中只有n-m個(gè)是獨(dú)立變量,另外m個(gè)非獨(dú)立變量為這n-m個(gè)獨(dú)立變量的隱函數(shù);而無條件極值中n個(gè)自變量增量均是獨(dú)立變量。
第二,對(duì)于條件極值問題,雖然采用判別駐點(diǎn)比Hn更精確,但本文給出的解析表達(dá)式仍不能判別出任一條件極值問題的所有駐點(diǎn)的信息。原因在于式(5)是對(duì)等式約束在駐點(diǎn)處作一階泰勒展開得到的關(guān)系式,舍棄了二階及其以上的高階無窮小,所求解出的非獨(dú)立變量關(guān)于獨(dú)立變量的表達(dá)式并不是最精確的。隨著目標(biāo)函數(shù)維數(shù)增加,等式約束數(shù)目增多、復(fù)雜程度增大,求解式(5)已經(jīng)很困難;如果再對(duì)等式約束作高階泰勒展開,解析表達(dá)式將更難或者無法解出。若想找到自變量增量間更精確的關(guān)系式,需對(duì)式(5)作高階泰勒展開直至高階無窮小量為零或近似為零,然后使用數(shù)值計(jì)算軟件求解出它們間的數(shù)值關(guān)系式,從而找到更精確的Hesse變形矩陣,方能更精確地判別出駐點(diǎn)的信息。雖然得不到自變量增量間最準(zhǔn)確的解析表達(dá)式,但該判別法仍具有理論價(jià)值:指明了條件極值與無條件極值的充分條件的判別矩陣的關(guān)聯(lián)及差別,在此基礎(chǔ)上,給出了高維多約束狀態(tài)下一種尋找更精確的條件極值的充分條件的判別矩陣的方法。