油氣事故通常會產生劇烈的化學反應,很難直接獲得出事地點所需的應急資源需求信息,從而影響后續應急資源的籌集、供應和調運。目前,尚沒有成熟的油氣事故應急資源需求預測方法,而是主要以專家經驗判斷為準,因此既缺乏科學合理性,又沒有將以往事故或演習的經驗加以利用[1-2],而現有的應急資源需求預測模型多停留在理論層面,沒有對其進行深入的應用研究[3]。采用科學的方法,建立相對可靠的油氣事故應急資源需求預測模型,開發用于工程實際的應急資源需求預測軟件對油氣事故應急救援活動的成功開展具有重要意義。本文采用Visual Basic.NET[4]作為軟件開發工具,使用SQL Server構建相關數據庫,開發了油氣事故應急資源需求預測支持決策系統,實現了應急資源需求預測數學模型的工程應用。同時,該系統兼具自學習功能,隨著該系統的不斷應用,其相關數據庫不斷豐富,預測結果也將日趨準確。油氣事故應急資源需求預測支持決策系統的應用可為事故后應急救援活動快速有效的開展提供科學的理論依據。
案例推理(Case-based Reasoning,CBR)是一種新興的人工智能推理方法,它是由目標案例(Target Case)的提示而獲得記憶中的源案例(Base Case),并且通過源案例來指導目標案例求解的一種策略[5]。雖然各油氣事故屬性及處置方法不盡相同,但針對某個事故而言,歷史上一般都存在與其相近的案例,在事故屬性相近的前提下,開展應急救援活動所需的應急資源需求也具有相關一致性,可以考慮利用油氣長輸管道事故的歷史數據建立源案例庫,構造基于案例推理的油氣長輸管道事故應急資源需求預測模型,選取相似源案例并從中抽取決定應急資源需求的關鍵因素,應用相似原理對新目標案例的應急資源需求情況進行預測。
假設已建立油氣長輸管道歷史源案例信息庫,庫中共有n個源案例,可將源案例集記為C={C1,C2,…,Ci,…,Cn},i=1,2,…,n。每個源案例有m個屬性,可將源案例的屬性集記為F={F1,F2,…,Fj,…,Fm},j=1,2,…,n。與F相對應,每個源案例的屬性值集可記為X={X1,X2,…,Xj,…,Xm}。每個F的影響權重集記為ω={ω1,ω2,…,ωj,…,標案例則記為T=(T1,T2,…,Tj,…,Tm)。這樣,即可構造屬性值矩陣:

式中:Xij為第i個源案例中第j個屬性的值。
為求工程計算的準確性,需將各不同量綱屬性值按式(1)進行歸一化處理。

式中:Ω*j為屬性值整合矩陣中屬性j的無量綱值,Ωj為屬性j的實際值,maxΩj、minΩj為屬性j的最大值和最小值。
權重計算可由數學期望式(2)、標準差式(3)及屬性值權重式(4)順序求得。

(1)屬性相似度
油氣長輸管道事故案例的屬性主要包括數字屬性值(Crisp Numeric,CN)和符號屬性值(Crisp Symbolic,CS)兩大類。
①數字屬性可由經歸一化后的海明公式(Hamming)求得。

②符號屬性分為無序枚舉和有序枚舉兩類,其屬性值相似度分別由式(6)、(7)計算。

(2)結構相似度
計算Ci與T的結構相似度,先將Ci的所有的非空屬性構成的集合記為Ai,T的所有非空屬性構成的集合記為B。計算MTi=Ai∩B與NTi=Ai∪B。

(3)全局相似度
按式(9)求取源案例與目標案例的全局相似度,相似度最大的源案例即為相似案例。

確定最相似源案例后,分析其應急資源需求的品類和結構,抽取如事故影響范圍R、危險品(油氣)耗量Q、被困人員數量U分別決定基礎救援設備需求量Φ1、搶險救援設備需求量Φ2和醫療救援設備的需求量Φ3的關鍵因素。若目標案例中事故影響范圍為RT,危險品耗量為QT,被困人員數量為UT。根據等比例原則,目標案例中基礎救援設備、搶險救援設備和醫療救援設備的需求

根據決策系統目標,按照結構化系統分析與設計的思路,該系統可分為三個模塊:用戶登陸模塊,數據信息管理模塊,數據錄入及計算模塊。用戶可通過對這三個模塊的操作最終得到應急資源需求預測結果。圖1為決策支持系統的流程圖。

圖1 決策支持系統流程圖
用戶登錄模塊用來檢查客戶輸入的用戶名及密碼,只有輸入正確的用戶名和密碼,才能進入程序主界面,用戶登錄界面如圖2。數據信息管理模塊提供對數據的添加、修改、保存和刪除等功能,便于用戶向數據庫錄入和修改案例數據,并能夠直觀的顯示數據庫中的表格信息。計算模塊用來求解用戶需求的信息,并能夠將計算結果更新至數據庫作為原始數據,以實現系統的自學習功能。

圖2 用戶登錄界面
該系統后臺數據庫采用Microsoft SQL Server建立,使用ADO.NET[6]數據訪問模型提供所建立的數據源的訪問接口,具有良好的開放和擴充性能。根據系統需實現的功能要求,在數據庫中建立一張包含12個字段的歷史源案例信息表。字段分別為:序號、事故等級、危險品類型、儲罐容積半徑、罐區面積、罐區人員密度、基礎救援設備、搶險救援設備、醫療救援設備、事故影響范圍、危險品耗量、被困人員數量(表1)。該表格包含了歷史源案例的各種屬性信息和關鍵因素信息,且能夠存儲目標案例的屬性信息和關鍵因素信息,計算出目標案例的應急資源需求量后,經檢查修正后,可自動將其作為一條新的案例存儲起來,以豐富歷史源案例數據庫,為日后應急資源需求預測提供更為準確的數據信息。用戶根據實際需求以管理員身份進入數據庫后可對除“序號”以外的字段進行諸如刪除、添加和變更等修改,從而使系統能更好的適應不同用戶對屬性信息和關鍵因素信息需求不同的情況。

表1 案例信息表格數據類型
歷史源案例信息數據庫是該系統中的重要組成部分,對其進行合理的管理維護是保證該系統成功應用的前提,數據的同步更新是其中的關鍵技術。當用戶通過客戶端對歷史源案例信息進行添加、保存、刪除或修改命令時,程序將保持界面表格數據與數據庫中數據同步更新,將修改的數據實時地保存至數據庫,為計算目標案例應急資源的需求量提供原始參數。首先,利用Visual Studio工具箱[7]中的Data Grid View控件實現歷史案例信息的顯示功能,用戶可以在該控件中進行添加、刪除和選中行數據等操作;然后通過“保存”與“刪除”兩個Button按鈕來實現數據的添加、修改和刪除功能。源程序新建了一個Data Set數據集,將其表格內容賦予Data Grid View控件的Data Source屬性,再通過Command類里的Update()方法把DataSet數據集中的數據更新至數據庫。對數據進行刪除操作時首先需要選中一行或多行數據,然后根據選中的行數使用For循環語句逐行刪除數據,最后通過End Edit()方法結束對DataGridView控件的編輯并用Update()方法再次更新數據庫。圖3為歷史源案例信息管理界面。

圖3 歷史源案例信息管理界面
根據歷史源案例信息及目標案例屬性及關鍵因素信息,預測目標案例應急資源需求量是本程序的核心部分,即將前述的案例推理模型用計算機語言來實現。首先,從數據庫讀取歷史源案例信息,并將其用矩陣表示,依據輸入項目判斷數據屬性類型。然后,建立屬性矩陣并對其進行歸一化處理,求出屬性權重后將其儲存在矩陣當中。如果歷史源案例沒有屬性值缺失,該源案例與目標案例結構相似度為1,否則將根據權重結果來計算結構相似度。進而求出全局相似度后進行數值對比,把全局相似度值最大的歷史源案例作為參考案例,用以參與后續應急資源需求量的預測。圖4為應急資源需求量預測求解過程。

圖4 應急資源需求量求解過程
油氣長輸管道沿線某油罐場站發生火災爆炸事故,現對其應急救援活動中應急資源需求量進行預測。假定歷史源案例數據庫已構建,表2~表4為數據庫中已經儲存的歷史源案例信息及目標案例相關信息,要求對目標案例相應應急資源需求量進行預測。

表2 歷史源案例應急資源需求量

表3 歷史源案例及目標案例屬性信息

表4 歷史源案例及目標案例關鍵因素信息
在程序主界面輸入目標案例屬性信息及關鍵因素信息后,計算得出目標案例的基礎救援設備需求量為18 t,搶險救援設備需求量為45.8 t,醫療救援設備需求量為28.8 t(圖5),為更加可靠有效的進行應急救援活動,可在所求應急資源需求量的基礎上增加一定比例的余量。根據得到的應急資源需求量可進一步指導確定應急資源優化調運方案,而后將實際應急資源需求量記入歷史源案例數據庫實現系統自學習。

圖5 程序計算界面
(1)構建了基于案例推理的油氣長輸管道應急資源需求預測數學模型,給出了其計算過程,以Visual Basic.NET為工具,使用SQL Server構建相關數據庫,開發了油氣事故應急資源需求預測支持決策系統,用以對油氣長輸管道事故中應急救援活動所需的應急資源需求做出預測,并通過模擬算例驗證了該系統的可行性和可靠性。
(2)該系統能夠幫助決策者快速、客觀、科學的預測應急資源需求量,改變了由管理人員憑借經驗主觀判斷需求量的現狀,并可將新案例自動更新至數據庫,實現系統自學習功能,以此不斷豐富歷史源案例信息,使下一次預測結果更加趨于準確。
(3)該系統雖然能夠根據歷史源案例直接預測應急資源需求信息,但預測值與實際消耗的應急資源量難免存在一定偏差,如何通過實際消耗真值來修正儲存在數據庫中的預測值將是本系統有待改進的一個方向。另外,系統中案例屬性類型如模糊數、模糊區間等還需進一步豐富。
[1] Ricci F,Avesani P,Perini A.Cases on fire:applying CBR to emergency management[J].The New Review of Applied Expert Systems,1999,5(6):175-190.
[2] ZhangD S,ZhouL N,JrNunamakerJ F.A knowledge management framework for the support of decision making in humanitarian assistance/disaster relief[J].Knowledge and Information Systems,2002,4(3):370-385.
[3] Yalta A T,Olaf J.On the importance of verifying forecasting results[J].International Journal of Forecasting,2009(25):62-73.
[4] Tanimoto H,Arai T Y,Grondahl K.Development of software for dental radiology education using VB.NET[J].International Congress Series,2005(1281):1262-1266
[5] Daniel S K,Claudia B M,Heloisa V R.Supporting modeling and problem solving from precedent experiences:the role of workflows and case-based reasoning[J].Environmental Modelling&Software,2005,20(6):689-704.
[6] Robert H,Malcolm C,David P.Programming Review of Visual Basic.NET for the Laboratory Automation Industry[J].Journal of the Association for Laboratory Automation,2007(32):25-32.
[7] 埃克道爾.Visual Basic.NET程序設計高級教程[M].北京:清華大學出版社,2005.