張立艷
(成都農(nóng)業(yè)科技職業(yè)學(xué)院,四川 成都 611130)
在大地測量及相關(guān)領(lǐng)域,隨處可見一些能用不等式約束表示的先驗(yàn)信息。如在大壩變形分析中,可以根據(jù)控制點(diǎn)的位移方向建立形變量的不等式約束[1];利用GPS進(jìn)行高層建筑物變形監(jiān)測時(shí),可以根據(jù)雙差觀測值的精度和建筑物的最大形變量構(gòu)造模糊度的不等式約束搜索空間[2];在方差分量估計(jì)中,所有的方差分量均為正值[3]。合理利用有效的先驗(yàn)約束信息,能提高參數(shù)估計(jì)的精度和可靠性。不等式約束平差模型在最優(yōu)化理論中等價(jià)于二次規(guī)劃,可以采用起作用集算法、序列二次規(guī)劃法和罰函數(shù)方法求解[4]。在測量領(lǐng)域,盧剛運(yùn)用奇異值分解給出了不等式約束平差的最小距離方法[5]。朱建軍將模型參數(shù)視作不等式約束區(qū)間上服從均勻分布的隨機(jī)變量,給出了基于均值、眾數(shù)和最小距離的貝葉斯解及其均方誤差[6]。RAO將不等式約束轉(zhuǎn)化為橢圓約束,采用極大極小準(zhǔn)則給出了參數(shù)的有偏估計(jì)[7]。朱建軍基于罰函數(shù)方法給出了不等式約束平差的一種簡單迭代算法[1]。彭軍還將多個(gè)不等式約束轉(zhuǎn)化為單個(gè)凝聚約束,將不等式約束平差問題化為等式約束的非線性規(guī)劃問題,并推導(dǎo)了參數(shù)估計(jì)的近似方差、均方誤差矩陣及單位權(quán)方差[8]。
將不等式約束最小二乘平差問題轉(zhuǎn)化為無約束極小化問題,罰函數(shù)方法是一種有益的嘗試。凝聚約束方法也可以歸結(jié)為求無約束最優(yōu)化問題的解。以上兩種方法都是對(duì)不等式約束條件的轉(zhuǎn)換。不同于上述對(duì)約束條件進(jìn)行轉(zhuǎn)換,本文針對(duì)模型參數(shù)進(jìn)行變量代換[9-10],從而將約束最小二乘平差轉(zhuǎn)化為無約束非線性規(guī)劃問題,并采用一種常見的擬牛頓型算法即BFGS方法[11]進(jìn)行參數(shù)估計(jì)。
在測量數(shù)據(jù)處理中,一般是將含有誤差的觀測值表示為待估參數(shù)的函數(shù),如式(1)中的上式。若預(yù)先得到全部或部分參數(shù)的上下確界,則可以建立如式(1)的下式所示約束。有界約束平差模型為
(1)
(2)
為了求解式(2)的最優(yōu)估計(jì)值,根據(jù)最小二乘準(zhǔn)則,在不等式約束的范圍內(nèi),令觀測值的誤差平方和最小,從而得到如下的約束最優(yōu)化問題
(3)
這里給出一種常見的解模型式(3)的起作用集方法。它在每次迭代中,以已知的可行點(diǎn)為起點(diǎn),把在該點(diǎn)起作用約束作為等式約束,在此等式約束下極小化目標(biāo)函數(shù),求得新的比較好的可行點(diǎn)后,再重復(fù)上述步驟[4]。設(shè)在第k次迭代中,已知可行點(diǎn)X(k),在該點(diǎn)起作用約束指標(biāo)集為I(k),解等式約束問題
(4)
模型式(4)可以按照附有限制條件的間接平差模型得到新的最優(yōu)解X(k′),然后將X(k′)代入所有的不等式約束條件進(jìn)行判斷。
(1) 如果X(k′)是可行點(diǎn),且X(k′)-X(k)≠0,則在第k+1次迭代中,新的已知點(diǎn)取作X(k+1)=X(k′)。
(2) 如果X(k′)不是可行點(diǎn),則令搜索方向?yàn)閐(k)=X(k′)-X(k),并沿著該方向進(jìn)行搜索。
若迭代結(jié)束后,有效約束集對(duì)應(yīng)的所有拉格朗日乘子都大于等于0,則X(k)是模型式(4)的最優(yōu)解。若存在小于0的拉格朗日乘子,則將拉格朗日乘子取最小值所對(duì)應(yīng)的約束從可行集中刪除后重新迭代計(jì)算。
求解約束極值問題時(shí),要兼顧目標(biāo)函數(shù)值下降且滿足約束條件,而無約束極值問題只要求滿足目標(biāo)函數(shù)值下降。因此,約束極值問題的求解比相應(yīng)的無約束極值問題更為復(fù)雜。這里根據(jù)有界約束的特殊性,將處于有界約束中的參數(shù)進(jìn)行變量代換,新的變量在整個(gè)實(shí)數(shù)空間中取值,從而將約束極值問題轉(zhuǎn)換為無約束極值問題。下面給出兩種實(shí)現(xiàn)有界約束參數(shù)的變量代換方法。
Xi=Wi1+(Wi2-Wi1)×(arctan(Ui)+π/2)/π
(5)
可以得知式(5)右端項(xiàng)的取值范圍為[Wi1,Wi2]。Ui和Xi的函數(shù)關(guān)系如圖1所示。
圖1 經(jīng)反正切變換后新變量與原變量關(guān)系
一般來說,具有上下界的函數(shù),其變換方式并不是唯一的。構(gòu)造如下的正弦函數(shù)
Xi=Wi1+(Wi2-Wi1)×(sinUi+1)/2
(6)
同理,正弦函數(shù)的定義域?yàn)檎麄€(gè)實(shí)數(shù)空間,而它的值域sinUi∈[-1,1]。式(6)右端項(xiàng)的取值范圍為[Wi1,Wi2]。Ui和Xi的函數(shù)關(guān)系如圖2所示。
圖2 經(jīng)正弦變換后新變量與原變量關(guān)系
將具有上下約束的參數(shù)按照式(5)或式(6)進(jìn)行變量代換以后,新的變量都是在整個(gè)實(shí)數(shù)空間內(nèi)取值。然后,將新變量Ui代入式(1)中的上式,得到一個(gè)非線性觀測方程,在最小二乘準(zhǔn)則下,解無約束非線性極小化問題可以得到新變量的極值,再代入式(5)或式(6)可得到原變量的參數(shù)估值。
對(duì)于無約束非線性最優(yōu)化問題,一種常用的方法是擬牛頓方法。它的基本思想是:用不包含二階導(dǎo)數(shù)的矩陣近似當(dāng)作牛頓法中Hessian矩陣的逆矩陣。其中BFGS方法是目前最流行有效的擬牛頓算法,采用BFGS方法求解非線性函數(shù)f(x)的極小值的一般步驟為[11]:
(5) 令k=k+1,轉(zhuǎn)步驟(1)。
對(duì)于凸函數(shù)的最優(yōu)化問題,采用精確線搜索,BFGS方法具有全局收斂特性,是一類具有較好數(shù)值效果和快速收斂的非線性最優(yōu)化方法。
在式(1)中,模擬如下算例
同時(shí)附加兩個(gè)不等式約束條件:1.20≤x1≤1.30,2.50≤x3≤2.60。設(shè)觀測值都為等權(quán)不相關(guān)觀測值,即觀測值的權(quán)矩陣為單位矩陣。當(dāng)不考慮約束時(shí),最小二乘解為
然后,采用本文提出的新方法,將約束變量分別進(jìn)行如下變量代換
(7)
(8)
將中間變量分別代入式(7),可得
同樣,采用正弦代換式進(jìn)行計(jì)算,初始值與反正切代換時(shí)相同,經(jīng)過26次迭代,得到無約束解
將中間變量代入式(8),可得到與反正切變換完全相同的解,且與起作用集方法的解結(jié)果相同??梢?,有界約束的變量代換法求解有界約束平差模型是可行的。
對(duì)于只含上下有界約束且約束間互不相關(guān)的一類特殊不等式約束平差模型,本文提出將含有約束的參數(shù)進(jìn)行變量代換,形成無約束非線性最優(yōu)化問題。采用BFGS算法解上述問題,得到新變量的最優(yōu)值,進(jìn)而得到不等式約束最小二乘平差問題的解。但該方法目前只適用于模型參數(shù)是有界約束的情況,將該方法擴(kuò)展到一般不等式約束的情況是下一步研究的方向。