薛善良,毛青青,彭振峰,李繼平,王萬磊
(1.南京航空航天大學(xué)計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京 211106;2.江蘇德大石化科技有限公司,江蘇 徐州 221000)
隨著我國?;沸袠I(yè)的快速發(fā)展,?;飞a(chǎn)和消費水平排名世界第二,僅次于美國[1]。我國對液態(tài)?;返氖褂眯枨笕栽谥鹉暝黾樱趲斫?jīng)濟效益的同時,也帶來了一定的安全隱患。液態(tài)?;吩诒簧a(chǎn)或轉(zhuǎn)運的裝卸作業(yè)過程中,由于其物質(zhì)特性,熱傳遞、摩擦等因素都會使得液體受熱,而受熱后壓力通常會增大,容易造成爆炸等安全隱患。實踐中,在使用鶴位對大多數(shù)液態(tài)?;愤M行裝卸過程時其并非完全密封,此時也會產(chǎn)生泄漏、中毒等危險。這些危險不僅破壞力強、危險性高、影響范圍廣[2],還會在一定程度上互相影響,引發(fā)二次事故。文獻[3]研究表明,在2016—2021年,我國發(fā)生的?;肥鹿手饕斜ā⒒馂?zāi)、泄漏、中毒和窒息等,其中泄漏和爆炸事故占比高達60%,主要發(fā)生在?;费b卸作業(yè)環(huán)節(jié)。因此,為保證液態(tài)?;费b卸作業(yè)的安全運行,減少裝卸作業(yè)相互影響,對液態(tài)危化品鶴位安全裝卸具有重要的意義。
國內(nèi)外對液態(tài)危化品裝卸作業(yè)安全的研究主要圍繞分析方法和運用等方面進行,例如故障樹分析法[4]、模糊證據(jù)推理法[5]和層次分析法[6]等。通過分析裝卸區(qū)鶴位發(fā)生事故的原因[7]、辨識裝卸作業(yè)的危險因素[8]等可為?;费b卸作業(yè)安全保障提供參考。一方面,由于裝卸作業(yè)靠近易燃易爆儲罐,且儲罐的體積往往較大,容易引發(fā)連鎖破壞效應(yīng)[9-10],增大應(yīng)急救援難度;另一方面,由于大型儲罐通常集中在罐區(qū),每個罐區(qū)可能同時配備大量的鶴位,這些鶴位分配的適當(dāng)與否,影響著整個罐區(qū)的安全:因此,對儲運罐區(qū)裝卸作業(yè)進行鶴位分配使危害達到最低的研究是必要的。
有效識別數(shù)據(jù)集的異常值是數(shù)據(jù)分析中十分重要的環(huán)節(jié)[11]?;谛∫?guī)模數(shù)據(jù)集的挖掘,離群點常被作為噪聲除去。隨著數(shù)據(jù)規(guī)模的不斷擴大,大數(shù)據(jù)技術(shù)的日益成熟,從海量數(shù)據(jù)中挖掘的離群點不再是噪聲和無用點,這些點可以揭示稀有事件和現(xiàn)象,發(fā)現(xiàn)有用的信息,成為了有意義點[12]。局部異常因子(local outlier factor,LOF)在故障檢測和過程監(jiān)控領(lǐng)域有廣泛應(yīng)用,該算法簡單,不需要對數(shù)據(jù)的分布做假設(shè),適合線性和非線性數(shù)據(jù)。李元等[13]采用LOF 算法實現(xiàn)了工業(yè)多工況、數(shù)據(jù)多模態(tài)的故障檢測。董澤等[14]提出LOF 算法完成熱工過程的異常值檢測。文獻[15]介紹了LOF 算法應(yīng)用于定位上的實例,提高了定位的精度,但在降低節(jié)點的計算量上存在欠缺。文獻[16]將LOF算法應(yīng)用于制冷系統(tǒng)的故障檢測問題,相較于基于模型和知識的方法,不需要高深的先驗知識和精確的數(shù)學(xué)模型,相對簡單,但在實際的運行中,會存在2 個或多個故障同時發(fā)生,這些影響是相互的,參數(shù)的變化也較為復(fù)雜。
借鑒上述實例,本文將LOF 算法與歐氏距離相結(jié)合,應(yīng)用于液態(tài)?;费b卸過程的鶴位分配。先使用LOF 計算空位點局部離群程度,保證正在使用中的鶴位之間的相對安全間隔,再計算空位點與出口間的歐氏距離,對鶴位點進行多維度的綜合評價,最后采用模糊量化法對得到的2 個指標(biāo)進行無量綱化處理,將2 個結(jié)果加權(quán)計算后生成最終的綜合評價指標(biāo)。通過多輪次離群計算,這不僅改善了車輛動態(tài)出入問題,還能夠應(yīng)對不同鶴位布局下的未知情況,保障了?;费b卸過程中鶴位分配的合理性和安全性。
裝車鶴位的儲運領(lǐng)域是指裝卸臂能夠延伸得到槽車的位置,被認為是液態(tài)?;愤M行裝卸作業(yè)的核心區(qū)域。鶴位基本上是油品或其他液態(tài)?;费b車必備的專用機械設(shè)備之一,一般用來裝卸易揮發(fā)、易吸濕或有毒需要密閉裝車的流體。由于液態(tài)危化品的物質(zhì)特性,熱傳遞、摩擦等因素都會使液體受熱,受熱后壓力通常會增大,容易造成安全隱患。實踐中,在使用鶴位對大多數(shù)液態(tài)?;愤M行裝卸作業(yè)時其并非完全密封。以油氣儲運為例,鶴位的樣式一般如圖1 所示。
圖1 液態(tài)危化品裝卸鶴位圖Fig.1 Loading and unloading filling cell diagram of liquid dangerous chemicals
以油氣儲運為例,完整的裝卸流程為:罐車得到許可后通過門禁系統(tǒng)進入廠區(qū);所有車輛在排隊通道等待并稱重;排隊完成后進入指定鶴位裝卸;裝卸完成后進行稱重離場。在這一過程中,影響鶴位分配安全的重要因素有3 點。
1) 鶴位之間的距離需要符合國際標(biāo)準(zhǔn)。參照《GB 50160—2018 石油化工企業(yè)設(shè)計防火標(biāo)準(zhǔn)》[17],裝卸車鶴位之間的距離大于4 m 方可滿足鶴管正常操作。
2) 相對較大安全間隔。處于裝卸作業(yè)時的各鶴位之間的間隔要盡可能大。間隔越大,當(dāng)發(fā)生泄漏時,同一區(qū)域內(nèi)?;菲骄孤┝吭缴伲鸲挝:Φ娘L(fēng)險越低。
3)相對較短避險距離。在保證裝卸作業(yè)安全性的前提下,盡可能地選取距離出口較近的鶴位作為候選鶴位,進一步保障候選鶴位在出現(xiàn)操作失誤等技術(shù)性事故時,可及時轉(zhuǎn)移運輸車輛,防止事態(tài)升級。同時發(fā)生重大技術(shù)性事故時要保證工作人員可以及時逃離事故現(xiàn)場,保證人身安全。根據(jù)影響鶴位分配安全的3 個重要因素建立數(shù)學(xué)模型如式(1)所示。
式中:S為鶴位安全指標(biāo);x1為裝卸車鶴位之間的距離,x1≥4即 滿足國際標(biāo)準(zhǔn);x2為處于裝卸作業(yè)時的各鶴位之間的稀疏程度,x2越大,裝卸泄漏時二次傷害的危害越低;x3為車輛駕乘人員的避險距離,在出現(xiàn)操作失誤等技術(shù)性事故時,距離出口越近,即x3越小,轉(zhuǎn)移運輸車輛防止事態(tài)升級的時間越短。
因此,鶴位分配過程除了要保證?;愤\輸效率和鶴位運行效率之外,還要基于安全避險原則,引入鶴位安全因素對待分配鶴位進行綜合分析,才能進一步保障鶴位分配過程的安全性和可靠性。
本文借鑒基于局部異常因子(local outlier factor,LOF)的離群算法,在算法運行前,需要輸入所有位點,并建立坐標(biāo)系,這時未使用的鶴位在平面空間為未激活狀態(tài),計算只在運輸車輛入場時開始,車輛入場后,對未使用的鶴位點進行下一步的計算。車輛出場時,通過LOF 計算激活點集中每個位點的k距離,再選取各點的k距離和真實距離中的較大值作為非激活點集中的可達距離,將所有點的平均可達距離的倒數(shù)作為局部可達密度,有了局部可達密度以后對每一個點求其離群因子。離群因子越大,意味著隔離程度越大,作為安全鶴位分配的可能性越大。圖2 示出基于LOF 的鶴位分配流程。
圖2 基于LOF 的鶴位分配流程圖Fig.2 Flow chart of filling cell allocation based on LOF
針對裝卸區(qū)域建立坐標(biāo)系。參照《GB 50160—2018 石油化工企業(yè)設(shè)計防火標(biāo)準(zhǔn)》,裝卸車鶴位之間的距離大于4 m 方可滿足鶴管正常操作。因此,為使分配符合國際標(biāo)準(zhǔn),同時留下一定的彈性空間,本文采用每列鶴位錯位5 m(或以上,但5 m 最佳)對齊,即x1選取5。另外,對廠區(qū)邊界做了位點激活處理。即在廠區(qū)鶴位圖示的邊界為線向外延展5 個位點的線段上,設(shè)置了若干激活位點。這樣做的目的是刻畫真實廠區(qū)中,裝卸區(qū)周圍有重要建筑或物體的情況,同時也能更好地體現(xiàn)離群算法的分配效果。當(dāng)然,在實際情況下,裝卸廠區(qū)周圍可能是有間隔要求或已經(jīng)確定不能放置重要物品的。在這種情況下,可以不設(shè)激活位點邊界,離群算法將優(yōu)先分配邊界附近的位點給入場車輛,也符合安全隔離的實際意義。
假設(shè)廠區(qū)共有5 行6列,共30 個鶴位,其分布如圖3 所示,每個鶴位的中心點橫向間距為20 m,縱向間距為30 m,每列中鶴位錯位5 m 對齊。以圖3左下角為原點建立坐標(biāo)系,圖3 中鶴位A11坐標(biāo)為(25,0),A56坐標(biāo)為(105,120)。鶴位分布圖R建好后,此時正在被車輛使用的鶴位在R中為激活狀態(tài),空閑的鶴位在R中為未激活狀態(tài)。按照鶴位分布確定鶴位集C,激活點集S,m為激活點集S的數(shù)量,廠區(qū)入口坐標(biāo)為 (xi,yi),出口為 (xo,yo)。車輛在鶴位入場之前,是按照順序依次進場的,車輛??吭趯?yīng)鶴位位置時下一輛裝卸車才從入口駛?cè)?,因此不需要將入口位置也納入安全性考慮中。初始化完成后,使用LOF 算法計算激活點集S的每個位點的離群程度。
圖3 鶴位分配示例圖Fig.3 Example diagram of filling cell allocation
首先,計算鶴位集C中的任意一點p且p!=0 的k距離dk(p),為
其中k=1,S為激活點集。d(p,o)為點p到點o的距離且滿足:
1)在鶴位集S中至少有k個點o′且不包括p在內(nèi),滿足d(p,o′)≤d(p,o);
2)在鶴位集S中至多有k-1 個點o′′且不包括p在內(nèi),滿足d(p,o′′)<d(p,o)。
然后,通過得到的k距離計算點p的k距離內(nèi)所有點,包括k點,由此得到點p的k距離領(lǐng)域,為
在離點o最近的k個點中,點o到它們的可達距離被認為相等,且都等于dk(o)。根據(jù)式(2),點o的k距離和點o與點p間的真實距離的最大值作為點o到點p的可達距離,為
式中:dr(pc-i,pi)表示非激活點集C-S中各點的可達距離;k=1;pc-i∈(C-S);pi∈S。
接著,根據(jù)點p的k距離領(lǐng)域式(3)和點o到點p的可達距離式(4),得到局部可達密度,即p領(lǐng)域內(nèi)所有點的平均可達距離的倒數(shù)為p的局部可達密度,其計算公式為
lrdk(p)的值表示密度。密度越高,這些位點就越可能屬于同一簇;反之,密度越低,則越可能是離群點。如果p和周圍鄰域點是同一簇,那么dr越可能為較小的dk(o),從而導(dǎo)致可達距離之和小,密度變高;如果p和鄰點較遠,那么可達距離可能都會取較大值d(p,o),則導(dǎo)致密度小,可能離群。
有了局部可達密度后,可以利用式(6)對每一個點p求其離群因子x2,為
式中:pc-i∈(C-S),pi∈S;x2表示點p的鄰域點Nk(p)的局部可達密度與點p的局部可達密度之比的平均。如果比值大于1,說明其密度小于其鄰域點密度,p可能是離群點。離群因子越大,意味著隔離程度越大,處于裝卸作業(yè)時的各鶴位之間的間隔就越大,即x2越大。
最后,定位最大隔離鶴位。每次有車輛入場時,進行一輪運算,每次運算時先更新上次保存的作業(yè)鶴位數(shù)據(jù),確保每次入場時的各鶴位作業(yè)情況的實時性。取離群程度最大值的點pmax輸出,并加入激活點集,等待轉(zhuǎn)入下一輪運算。pmax即為進場車輛分配的鶴位。
為保證鶴位分配過程能綜合考慮不同的影響因素,本文結(jié)合候選鶴位點的離群因子和與出口之間的歐氏距離,對鶴位點進行多維度的綜合評價。首先,計算空位點與出口的歐氏距離,以確保操作人員遇到突發(fā)事故時可以快速逃離罐區(qū);然后,針對不同量綱采用模糊量化法對得到的2 個指標(biāo)進行無量綱化處理,再將2 次指標(biāo)量化計算得到的結(jié)果進行加權(quán)運算,生成候選鶴位的綜合評價得分,使候選鶴位的分配標(biāo)準(zhǔn)具備不同數(shù)據(jù)性質(zhì)下對應(yīng)指標(biāo)的有效性;最后,將所有結(jié)果按照數(shù)值大小降序排序,選取綜合評價得分最高的鶴位點所在鶴位作為進場車輛分配的鶴位。圖4 示出了安全鶴位優(yōu)化后的流程。
圖4 安全鶴位綜合優(yōu)化流程圖Fig.4 Flow chart of comprehensive optimization of filling cell
為保證候選鶴位點在遇到突發(fā)事故時,操作人員可以快速逃離罐區(qū),進一步利用式(7)計算所有候選位點與出口的歐氏距離x3,為
式中:(xo,yo)為出口坐標(biāo);(xp,yp)為候選鶴位坐標(biāo)。
為保證鶴位分配過程能綜合考慮不同的影響因素,本文結(jié)合候選鶴位點的離群因子和與出口之間的歐氏距離,對鶴位點進行多維度的綜合評價。首先采用數(shù)學(xué)的方法將2 個定性指標(biāo)轉(zhuǎn)換為量化評價指標(biāo),然后對2 個量化指標(biāo)加權(quán)得到綜合評價結(jié)果,使最終得到的候選鶴位的綜合評價指標(biāo)更具客觀有效性。
本文采用模糊數(shù)學(xué)中的隸屬函數(shù)來實現(xiàn)指標(biāo)的量化,其中,正指標(biāo)、負指標(biāo)和適度指標(biāo)分別根據(jù)最大值、最小值和最適值為標(biāo)準(zhǔn)進行計算。正指標(biāo)是在一定范圍內(nèi)指標(biāo)越大評價值越高的一類指標(biāo)。負指標(biāo)則是在一定范圍內(nèi)指標(biāo)越小評價值越高的一類指標(biāo)。
正指標(biāo)對應(yīng)的隸屬函數(shù)為
負指標(biāo)對應(yīng)的隸屬函數(shù)為
1)離群因子量化處理。本文中,離群因子越大,意味著隔離程度越大,給進場車輛分配鶴位的可能性越大,因此作為正指標(biāo)。采用隸屬函數(shù)式(8)進行正指標(biāo)模糊量化。將局部離群程度指標(biāo)的原始數(shù)值作為x2,局部離群程度指標(biāo)實施過程中的邊界值作為maxx2和minx2,代入公式(8),得到離群因子指標(biāo)經(jīng)過無量綱化之后得到的評價值V(x2)。
2)歐氏距離量化處理。本文中,歐氏距離越小,意味著與出口的距離越短,發(fā)生危險情況越容易逃生,因此作為負指標(biāo)。采用隸屬函數(shù)式(9)進行負指標(biāo)模糊量化。將歐氏距離指標(biāo)的原始數(shù)值作為x3,歐氏距離指標(biāo)實施過程中的邊界值作為maxx3和minx3,代入公式(9),得到歐氏距離指標(biāo)經(jīng)過無量綱化之后得到的評價值Q(x3)。
3)將2 次指標(biāo)量化計算得到的結(jié)果進行加權(quán)運算,生成候選鶴位的綜合評價得分,為
式中:ω1和ω2分別為離群因子和歐氏距離的權(quán)重,兩者之和為1;V(x2)為式(6)所求離群因子,再經(jīng)過式(8)無量綱化后的離群因子評價值;Q(x3)為式(7)所求歐氏距離原始值,再經(jīng)過式(9)無量綱化后的歐氏距離評價值。將所有候選點量化計算后的綜合評價指標(biāo)量化值P,按照大小降序排序,選取綜合評價得分最高的作為進場車輛分配的鶴位。
在下一輪運算開始時:如果中途有車輛出場,系統(tǒng)會記錄出場信號,但已分配鶴位的車輛并不會調(diào)整;如果有新的車輛入場,系統(tǒng)才對出場信號進行處理。處理方法為將正在作業(yè)的鶴位標(biāo)識為空鶴位,并在分配時加入待分配的鶴位中。
為了驗證本文提出的液態(tài)?;费b卸方案的有效性,在Python 開發(fā)環(huán)境下使用numpy 對鶴位分配場景進行仿真分析。采用Win10 的實驗環(huán)境,處理器為Intel(R)Core(TM)i5-8400@2.80 GHz 2.81 GHz。
為直觀說明文中的鶴位分配方法,本文使用計算機模擬一種具體情況。傳統(tǒng)LOF 算法和改進LOF 算法實驗環(huán)境一致:R為5 行6 列的鶴位分布圖,鶴位集C為30,且每個鶴位的中心點橫向間距為20 m,縱向間距為30 m,每列中鶴位錯位5 m對齊,即x1選取5,出口位置為(125,0)。
每個鶴位的分布位置是確定的,其分配結(jié)果取決于當(dāng)前狀態(tài),只在車輛入場時開始計算。在每輪計算前,需要更新廠區(qū)裝卸鶴位的使用情況,具體方法是檢查原作業(yè)中的鶴位是否作業(yè)完成,如圖5中著色鶴位為正在工作的鶴位,工作完成后,鶴位狀態(tài)更新。
圖5 正在作業(yè)的鶴位分配圖Fig.5 Filling cell allocation map in operation
當(dāng)有車輛入場時,為了保障安全隔離,先使用分配算法對所有空位進行隔離程度計算,再計算所有空位與出口間的歐氏距離,將得到的2 個指標(biāo)進行模糊無量綱化處理,ω1和ω2都為0.5,對結(jié)果進行加權(quán)計算后生成最終的綜合評價指標(biāo)。將所有候選鶴位點的綜合評價指標(biāo)按照數(shù)值大小進行降序排序,得分較高的候選鶴位分布如表1 所示。在這種情況下,可以選擇第1 個鶴位A54分配給入場車輛。假若A12所在車輛已完成裝卸,并釋放鶴位,則第2 輪計算時需要剔除A12。第2 次計算的結(jié)果如表2 所示,容易發(fā)現(xiàn)由于A12的加入,最優(yōu)的分配位置已不是A54而是A12。
表1 綜合評價指標(biāo)第1 輪計算Tab.1 Calculation of comprehensive evaluation index in the first round
表2 綜合評價指標(biāo)第2 輪計算Tab.2 Calculation of comprehensive evaluation index in the second round
本文中提出的分配算法可以在一般情況下保證正在使用的鶴位有相對較大的安全間隔,避免了采用幾何距離計算難以適應(yīng)安全裝卸過程的問題。同時引入歐氏距離計算各候選鶴位點與出口間的距離,對傳統(tǒng)的離群算法進行優(yōu)化,在保持鶴位最大安全間隔的前提下,進一步保證工作人員在發(fā)生危險時的安全撤離距離,提升鶴位分配時的安全性以及鶴位分配方案的可靠性。本文將傳統(tǒng)LOF 算法與改進LOF 算法進行了對比分析,其鶴位得分排序與綜合評價指標(biāo)的結(jié)果對比如圖6所示。
圖6 不同方法的實驗結(jié)果對比Fig.6 Comparison of experimental results of different methods
由圖6 可知:傳統(tǒng)LOF 算法曲線波動間斷性明顯,雖然相鄰坐標(biāo)的綜合指標(biāo)值接近,但不同坐標(biāo)區(qū)域的綜合指標(biāo)值跳躍性強,且存在多個坐標(biāo)的綜合指標(biāo)值明顯過低和突然過低的情況;改進LOF 算法曲線連續(xù)性明顯,基本不存在波動情況,相鄰坐標(biāo)的綜合指標(biāo)值接近,不同坐標(biāo)區(qū)域的綜合指標(biāo)值相近,不存在坐標(biāo)綜合指標(biāo)值突然過低情況。這說明:基于密度的傳統(tǒng)LOF 算法篩選得到的相鄰候選鶴位之間離群程度差異很小,易影響下一次鶴位分配過程,造成鶴位安全距離過小等問題;基于歐式距離的改進LOF 算法引入歐氏距離計算候選鶴位,使篩選得到的候選鶴位考慮了多個維度的安全因素,可以在保證鶴位分配方案可靠性的同時,提高候選鶴位的離群程度差異度,保證下一次鶴位分配過程可以正常進行。
本文針對危化品儲運安全所考慮的作業(yè)鶴位分配問題,為了確保廠區(qū)的裝卸鶴位作業(yè)安全隔離,研究了一種基于LOF 離群算法與歐氏距離的安全鶴位分配方法,同時引入模糊量化法對所有候選鶴位點的局部離群指標(biāo)和歐氏距離指標(biāo)進行無量綱化處理,將2 個結(jié)果加權(quán)計算后生成最終的綜合評價指標(biāo),據(jù)此進行作業(yè)鶴位點分配。實驗表明,本文中提出的液態(tài)?;钒踩Q位分配算法在一般環(huán)境下,可以保證正在使用中的鶴位之間的相對安全間隔,避免了固定的幾何距離計算難以適應(yīng)裝卸過程的問題。通過多輪次離群計算,不僅改善了車輛動態(tài)出入問題,還能夠應(yīng)對不同鶴位布局下的未知情況,保障了危化品裝卸過程中鶴位分配的合理性和安全性。后續(xù)可以開展的研究如下:加入風(fēng)速、風(fēng)向、地形等不同維度下的數(shù)據(jù)指標(biāo),作為綜合評價的參考;根據(jù)不同數(shù)據(jù)指標(biāo)對結(jié)果的影響,分配不同的權(quán)重,生成最終的綜合評價結(jié)果。