張萬(wàn)菊 姚凱學(xué) 何 勇 席雷鵬
(貴州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 貴州 貴陽(yáng) 550025)
目前我國(guó)儲(chǔ)油罐數(shù)量眾多且存放地理位置較為分散[1],尤其是近幾年來(lái),為了滿(mǎn)足社會(huì)經(jīng)濟(jì)發(fā)展的需要,我國(guó)公路、橋梁、高速路等施工建設(shè)行業(yè)得到大力發(fā)展,這些修建工地地理位置通常都比較分散且偏僻。工地上使用的挖掘機(jī)、鏟車(chē)、大卡車(chē)等大型工程車(chē)需消耗大量柴油,若將工程車(chē)直接開(kāi)到加油站,不僅要浪費(fèi)油料和時(shí)間,而且也有諸多不便,因此,通常在工地現(xiàn)場(chǎng)安裝儲(chǔ)油罐,使工程車(chē)可以方便加油,提高工作效率和經(jīng)濟(jì)效益。偏僻的地理位置使得工地上的儲(chǔ)油罐常存在被偷油、漏油無(wú)人察覺(jué)、人工記錄數(shù)據(jù)混亂、油料補(bǔ)添不及時(shí)的情況,因此,需要對(duì)儲(chǔ)油罐油位高度變化與出油量情況及油罐中剩余油量進(jìn)行實(shí)時(shí)無(wú)人在線遠(yuǎn)程監(jiān)測(cè)。
影響儲(chǔ)油罐監(jiān)測(cè)精確度的一個(gè)重要因素是儲(chǔ)油罐在使用一段時(shí)間后,很多會(huì)由于地基變形導(dǎo)致變位(即油罐橫向傾斜α角或縱向傾斜β角),從而出現(xiàn)儲(chǔ)油罐罐容表不準(zhǔn)確的情況[2-3],同時(shí)導(dǎo)致油位變化與出油量不匹配。針對(duì)罐容表不準(zhǔn)確的情況,許多學(xué)者采用定積分的方式建立傾斜儲(chǔ)油罐油位高度和儲(chǔ)油量之間的數(shù)學(xué)模型,并采用誤差補(bǔ)償方法[4]、非線性最小二乘法[5]、蒙特卡洛算法[6]、Lagrange插值法[7]、神經(jīng)網(wǎng)絡(luò)[8]、遺傳BP網(wǎng)絡(luò)[9]等方法求解所建立模型中的最優(yōu)變位角度,修正模型后對(duì)罐容表做標(biāo)定,取得了相應(yīng)的研究成果。
本文采用定積分的方式,建立了發(fā)生變位后的儲(chǔ)油罐油位高度變化量、變位角和出油量之間的數(shù)學(xué)模型,采用非線性最小二乘法建立求解該模型最優(yōu)變位角的目標(biāo)函數(shù),并利用模擬退火算法和MATLAB尋找模型中的最優(yōu)傾斜角。從2010年全國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽A題中隨機(jī)選擇400組數(shù)據(jù)求解出最優(yōu)變位角,用剩下的100數(shù)據(jù)對(duì)矯正后的數(shù)學(xué)模型做檢驗(yàn),證明了該模型參數(shù)辨識(shí)方法的正確性。通過(guò)與實(shí)測(cè)數(shù)據(jù)、文獻(xiàn)[9]和文獻(xiàn)[10]中所使用方法的實(shí)驗(yàn)結(jié)果對(duì)比,證明了本文建立的數(shù)學(xué)模型可以更好地反映油位變化和出油量的關(guān)系,對(duì)于工地上防止偷油、漏油及監(jiān)測(cè)油量變化是否正常的情況有很好的作用。
目前工地上使用最為廣泛的儲(chǔ)油罐是圓柱形和橢圓柱形臥式儲(chǔ)油罐。本文通過(guò)對(duì)使用較為廣泛的臥式圓柱形儲(chǔ)油罐的分析,根據(jù)發(fā)生縱向和橫向傾斜變位的油罐幾何形狀及油面,采用定積分的方式建立儲(chǔ)油罐油位高度變化、變位角和出油量之間的數(shù)學(xué)模型。
儲(chǔ)油罐柱體半徑為R,油位探測(cè)針到左側(cè)球冠體距離為l1,到右側(cè)球冠體距離為l2。根據(jù)儲(chǔ)油罐發(fā)生縱向傾斜α角后的幾何形狀及不同油位高度下油面的形狀,對(duì)儲(chǔ)油罐做分段處理。油罐分段和坐標(biāo)示意圖如圖1所示。
圖1 縱向傾斜油罐分段示意圖
油位高度從h1(油位高度為從罐底向Z軸正方向的高度)下降到h0的體積變化即為儲(chǔ)油罐的出油量Δv。
Δv=Δv左冠+Δv柱體+Δv右冠
(1)
油位高度為h,油平面z(y)滿(mǎn)足關(guān)系:
z(y,h)=-ytanα+h-R
(2)
油位高度變化處于區(qū)域v1和v5內(nèi)時(shí),油位高度超出油位探測(cè)針的測(cè)量范圍,出油量與油位高度變化關(guān)系無(wú)效,且油面幾乎不會(huì)處于這兩個(gè)區(qū)域內(nèi)(正常使用下),因此忽略這兩個(gè)區(qū)域的油位變化和出油量的關(guān)系。
(1) 柱體部分出油量計(jì)算。儲(chǔ)油罐柱體部分v2、v3、v4區(qū)域內(nèi)油位高度從h1下降到h0的出油量分別為:
當(dāng)0≤h≤l2tanα?xí)r,即油位在v2內(nèi)。
(3)
當(dāng)l2tanα≤h≤2R-l1tanα?xí)r,即油位在v3內(nèi)。
當(dāng)2R-l1tanα≤h≤2R時(shí),即油位在v4內(nèi)。
(2) 球冠體部分出油量計(jì)算。儲(chǔ)油罐兩端的球冠體高為H,半徑為r,當(dāng)油罐傾斜α角時(shí),左側(cè)部分球冠體油位變化對(duì)應(yīng)油面及坐標(biāo)示意圖如圖2所示。
圖2 左球冠體油位對(duì)應(yīng)油面
由圖2可知,左側(cè)球冠體油位高度從h1下降到h0的理論出油量Δv左為:
Δv左=v61+v62-v63≈v62
(6)
其中:
同理,當(dāng)油位高度從h1下降到h0時(shí),右側(cè)球冠體的理論出油量為:
式(7)、式(8)中的y為:
根據(jù)臥式圓柱形儲(chǔ)油罐的幾何形狀可知,油罐發(fā)生橫向傾斜時(shí),液面形狀及油位高度均無(wú)變化[11],傾斜前后的油位測(cè)量值代表的出油量不同。橫向傾斜后油罐內(nèi)油位探測(cè)針的位置如圖3所示。
圖3 儲(chǔ)油罐橫向傾斜前后油位探測(cè)針
發(fā)生橫向偏轉(zhuǎn)后,油位探測(cè)針?biāo)鶞y(cè)得實(shí)際油位高度ha與未偏轉(zhuǎn)油位h的關(guān)系為:
h=R+(ha-R)cosβ
(9)
模擬退火算法SA(Simulated Annealing)[12-15]最早是由Metropolis等提出來(lái)的一種基于蒙特卡羅思想的隨機(jī)全局尋優(yōu)算法,算法來(lái)源于物理學(xué)中固體物質(zhì)的退火過(guò)程與組合優(yōu)化間的相似性。在某一初溫下,伴隨著溫度參數(shù)的不斷下降,利用具有概率突跳性的Metropolis準(zhǔn)則在解空間中隨機(jī)搜索,在局部最優(yōu)解時(shí)以一定概率接受新解并跳出局部最優(yōu)解,最終趨于全局最優(yōu)[16],計(jì)算量相比于蒙特卡羅法、最小二乘法顯著減少。具體而言:在某一溫度t下,在當(dāng)前狀態(tài)X(n)基礎(chǔ)下根據(jù)某一指標(biāo)(梯度下降)產(chǎn)生新?tīng)顟B(tài)X(n+1),兩個(gè)狀態(tài)對(duì)應(yīng)的能量分別為En和En+1,若En 模擬退火算法流程如圖4所示。 圖4 模擬退火算法流程 (11) 模擬退火算法中新解的產(chǎn)生流程描述如下: (1) 隨機(jī)產(chǎn)生兩個(gè)N(0,1)的隨機(jī)數(shù)m0和m1; (2) 計(jì)算溫度采用率: (3) 根據(jù)解x0產(chǎn)生新解x1: x1=x0+z×T (13) (4) 新解有效性檢查,若新解無(wú)效,則在解空間內(nèi)隨機(jī)產(chǎn)生新解。 求解儲(chǔ)油罐的最優(yōu)變位角,即是求解使目標(biāo)函數(shù)f(x)函數(shù)值最小的α角和β角。 設(shè)置模擬退火算法的初始溫度T0為1 000,退火速率λ等于0.95,外層循環(huán)結(jié)束條件為循環(huán)迭代500次,內(nèi)層循環(huán)抽樣穩(wěn)定準(zhǔn)則為循環(huán)迭代50次,解空間為0°≤α≤15°且0°≤β≤15°。隨機(jī)選擇文獻(xiàn)[17]附件2中的400組實(shí)測(cè)出油量及油位高度變化的數(shù)據(jù)對(duì)模型做變位識(shí)別。退火適應(yīng)度進(jìn)化曲線如圖5所示。 圖5 退火進(jìn)化曲線 由圖5可知,模擬退火算法輸出的模型的最優(yōu)變位角為α=2.133 9、β=4.617 3。 將該變位角代入儲(chǔ)油罐油位變化、傾斜角與出油量關(guān)系模型矯正模型,隨機(jī)從剩余實(shí)測(cè)數(shù)據(jù)中選擇100組數(shù)據(jù)代入矯正后的出油量數(shù)學(xué)模型,計(jì)算變位識(shí)別出油量絕對(duì)誤差。同時(shí),計(jì)算出未做變位識(shí)別的出油量數(shù)學(xué)模型的絕對(duì)誤差,對(duì)比結(jié)果如圖6所示。 圖6 變位識(shí)別和無(wú)變位識(shí)別與實(shí)測(cè)出油量對(duì)照 變位識(shí)別與未變位識(shí)別模型理論出油量與實(shí)測(cè)出油量對(duì)照?qǐng)D如圖7所示。可以看出,所建立數(shù)學(xué)模型做變位識(shí)別矯正后,理論出油量更接近實(shí)際出油量。 圖7 變位識(shí)別與無(wú)變位識(shí)別對(duì)照X-Y圖 將模擬退火算法求解出的最優(yōu)變位角代入傾斜儲(chǔ)油罐出油量數(shù)學(xué)模型,計(jì)算油位高度從h1下降到h0的理論出油量,并與實(shí)際測(cè)量數(shù)據(jù)和文獻(xiàn)[9]中實(shí)驗(yàn)結(jié)果比較,計(jì)算模型出油量與實(shí)測(cè)加油機(jī)出油量相對(duì)誤差,可以得到如表1所示的結(jié)果。 表1 實(shí)測(cè)出油量與模型出油量對(duì)比表 油位從h1下降到h0時(shí),罐容表顯示容積變化量即為罐容表顯示出油量。根據(jù)表1可知,文獻(xiàn)[17]中實(shí)測(cè)罐容表出油量相對(duì)誤差約為7%,文獻(xiàn)[9]中采用遺傳算法計(jì)算出的出油量相對(duì)誤差約為15%,BP網(wǎng)絡(luò)的相對(duì)誤差約為8%,文獻(xiàn)[10]模型的相對(duì)誤差約為16%,本文出油量模型相對(duì)誤差約為0.01%。本文所建油位高度變化與出油量的數(shù)學(xué)模型經(jīng)模擬退火算法變位識(shí)別后,可以很好地反映加油機(jī)出油量與油位高度變化的關(guān)系。通過(guò)出油量與油位高度關(guān)系建立的數(shù)學(xué)模型在相同油位變化下的油量容積變化的誤差較大,其中可能存在累積誤差、模型誤差及出油機(jī)誤差等。 本文采用定積分的方式建立儲(chǔ)油罐油位高度變化量、傾斜角與出油量的數(shù)學(xué)模型,通過(guò)MATLAB、非線性最小二乘法和模擬退火算法求解模型最優(yōu)變位角。對(duì)發(fā)生變位后的出油量數(shù)學(xué)模型做矯正,并利用實(shí)測(cè)數(shù)據(jù)檢驗(yàn)、文獻(xiàn)數(shù)據(jù)對(duì)比分析證明了本文模型和變位識(shí)別方式的正確性及實(shí)用性和建模方式減少累積誤差的優(yōu)勢(shì)。儲(chǔ)油罐在實(shí)際使用過(guò)程中,影響出油量與油位變化不匹配的因素還有很多,比如溫度、液位計(jì)精度等,還需要做更進(jìn)一步的研究。3 實(shí)驗(yàn)結(jié)果分析
4 結(jié) 語(yǔ)