劉楚喬,吳賢國,秦文威,王丙苗,陳世杰,翁 順
(1.武漢地鐵集團(tuán)有限公司,武漢 430030; 2.華中科技大學(xué)土木工程與力學(xué)學(xué)院,武漢 430074)
近年來,為了緩解大城市地上交通擁堵、運(yùn)載能力不足等問題,城市軌道交通得到了高速的發(fā)展。但是,由于受周邊環(huán)境、自身負(fù)荷、列車運(yùn)營等方面的影響,其在運(yùn)營周期內(nèi)將會發(fā)生各種病害,這些病害如果不能被及時發(fā)現(xiàn)并進(jìn)行評估與維修,將有可能威脅公眾的生命財產(chǎn)安全。為了確保城市軌道交通地下結(jié)構(gòu)在運(yùn)營期的安全與穩(wěn)定,除了需要對其進(jìn)行長期的監(jiān)測,實(shí)時掌握其結(jié)構(gòu)性能變化,并進(jìn)行結(jié)構(gòu)整體健康評估外,日常的管理養(yǎng)護(hù)工作也必不可少。因此,研發(fā)一套城市軌道交通運(yùn)營階段結(jié)構(gòu)安全監(jiān)測與管養(yǎng)系統(tǒng),具有重要的實(shí)用價值與意義。
關(guān)寶樹,姜松湖等[1]結(jié)合隧道維修養(yǎng)護(hù)的基本經(jīng)驗(yàn),匯集了我國隧道管養(yǎng)專家的知識和經(jīng)驗(yàn),通過建立知識庫的方法,開發(fā)并研制了鐵路隧道病害診斷專家系統(tǒng)(TDD)。日本國鐵開發(fā)的隧道監(jiān)測養(yǎng)護(hù)專家系統(tǒng)是由日本鐵道綜合技術(shù)研究所內(nèi)的主機(jī)和分散在各現(xiàn)場微機(jī)終端構(gòu)成的,終端的功能包括輸入病害前置條件、評價健康狀態(tài)及提示人工巡檢項(xiàng)目[2,3]。王波等[4]以廈門翔安海底隧道作為研究背景,對處于多因素作用下的海底運(yùn)營階段隧道的結(jié)構(gòu)安全性評價進(jìn)行研究,開發(fā)設(shè)計了海底隧道維修養(yǎng)護(hù)數(shù)據(jù)庫管理系統(tǒng)、結(jié)構(gòu)安全評價系統(tǒng)以及計算機(jī)軟件系統(tǒng),為海底運(yùn)營隧道安全提供技術(shù)支持。而基于Jess(Java expert system shell)的專家系統(tǒng)開發(fā)語言則是眾多人工智能技術(shù)的一種[5],丁鼎等[6]將基于Jess的智能系統(tǒng)成功運(yùn)用于礦井的通風(fēng)設(shè)計中,該系統(tǒng)能對故障進(jìn)行快速高效的識別分析,對減少礦井的事故發(fā)生、保障礦井安全具有較大的意義。陸耀華等[7]提出了一種使用Jess的開發(fā)方法,對提高專家系統(tǒng)效率具有較大作用,并對其中的各項(xiàng)技術(shù)進(jìn)行了詳細(xì)的解釋,經(jīng)過驗(yàn)證證明此方法的有效性。王溪波等[8]分析了Jess的主要特點(diǎn)和Web的主流開發(fā)技術(shù),給出了將Jess嵌入Java程序這一開發(fā)基于Web的專家系統(tǒng)的方法,并使用該方法設(shè)計一個大學(xué)生心理測試專家系統(tǒng),用系統(tǒng)的正常運(yùn)行證明了提出方法的可行性和有效性。李存岑等[9]開發(fā)基于JESS和J2EE的自動扶梯安全檢驗(yàn)專家系統(tǒng),解決自動扶梯安全檢驗(yàn)項(xiàng)目的安全風(fēng)險無法量化,導(dǎo)致檢驗(yàn)結(jié)論出現(xiàn)偏差的問題,經(jīng)過實(shí)際應(yīng)用證明了該系統(tǒng)的準(zhǔn)確性和可行性。目前,Jess專家系統(tǒng)開發(fā)語言已較多的運(yùn)用于機(jī)械工程、環(huán)境工程等領(lǐng)域的維修決策專家系統(tǒng)開發(fā)中[10-11],而對于土木工程領(lǐng)域還較少使用[12]。
為了提高管養(yǎng)工作的科學(xué)性與高效性,本研究通過調(diào)研并參考隧道管養(yǎng)規(guī)范以及專家經(jīng)驗(yàn)總結(jié),形成軌道交通隧道結(jié)構(gòu)病害管養(yǎng)維修措施知識庫,通過使用Jess人工智能專家系統(tǒng)開發(fā)語言,開發(fā)具有管養(yǎng)智能決策以及管養(yǎng)經(jīng)驗(yàn)知識擴(kuò)充兩項(xiàng)子功能的軌道交通隧道管養(yǎng)決策專家系統(tǒng)功能模塊。
Jess(Java Expert System Shell)專家系統(tǒng)外殼是一種基于Rete算法的專家系統(tǒng)開發(fā)語言[13-14]。它是由美國Sandia國家實(shí)驗(yàn)室于1995年以Java為核心技術(shù)開發(fā)出來的一種專家系統(tǒng)開發(fā)語言,其核心主要由事實(shí)庫、規(guī)則庫、推理機(jī)[15]三部分組成。
其中事實(shí)庫即工作存儲器,它將存儲外部傳入的事實(shí)條件,同時保存推理機(jī)中Rete算法保存的上一次模式匹配的臨時結(jié)果。
規(guī)則庫則存儲利用Jess開發(fā)語言編寫的各類產(chǎn)生式規(guī)則,其中一個產(chǎn)生式規(guī)則由前件(Left-hand-side)和后件(Right-hand-side)兩個部分組成,前件為規(guī)則觸發(fā)的條件,而后件則是規(guī)則觸發(fā)后將要執(zhí)行的動作。
推理機(jī)中內(nèi)嵌基于Rete算法的模式匹配引擎、議程以及執(zhí)行引擎三部分。模式匹配引擎將工作存儲器中的事實(shí)庫與規(guī)則的前件進(jìn)行模式匹配,從而確定執(zhí)行哪些規(guī)則。被激活的規(guī)則可能不止一個,當(dāng)出現(xiàn)多規(guī)則同時被激活時,所有被激活的規(guī)則就會以沖突組的方式進(jìn)入議程中,議程將這些觸發(fā)的規(guī)則進(jìn)行優(yōu)先級排序,將優(yōu)先級最高的規(guī)則進(jìn)行觸發(fā)。被觸發(fā)的規(guī)則進(jìn)入到執(zhí)行引擎中,執(zhí)行引擎將按照規(guī)則的后件執(zhí)行動作,完成推理匹配。
建立基于Jess管養(yǎng)專家系統(tǒng)的規(guī)則庫,即是將現(xiàn)行的管養(yǎng)規(guī)范和標(biāo)準(zhǔn)、專家經(jīng)驗(yàn)以及地方軌道交通集團(tuán)的企業(yè)標(biāo)準(zhǔn)等管養(yǎng)知識歸納整理后,使用Jess專家系統(tǒng)開發(fā)語言,編寫為一條條病害情況(前件)對應(yīng)病害維修措施(后件)的產(chǎn)生式規(guī)則形式。本文規(guī)則庫的建立依據(jù)現(xiàn)行管養(yǎng)規(guī)范、標(biāo)準(zhǔn)、文獻(xiàn)資料[16-18],同時調(diào)研了武漢地鐵集團(tuán)的企業(yè)管養(yǎng)手冊、管養(yǎng)工程師經(jīng)驗(yàn),將軌道交通盾構(gòu)隧道常見的裂縫病害、滲漏水病害、劣化剝落病害、沉降及不均勻沉降、隧道斷面變形等病害建立了相應(yīng)的管養(yǎng)規(guī)則庫。
如果需要推理出某一病害的管養(yǎng)維修措施,則首先需要描述這個病害的情況,程序才能根據(jù)病害的情況找出與其適應(yīng)的管養(yǎng)方法。隧道滲漏水的治理應(yīng)根據(jù)圍巖的水文地質(zhì)條件進(jìn)行綜合分析判斷。通常采取“以排水為主,以堵為輔,綜合運(yùn)用截、堵、排”的治水原則進(jìn)行滲漏水處置。針對不同的滲漏水形態(tài),應(yīng)采取不同的治水方法,如注漿處理、開槽處理以及修復(fù)泄水洞或集水廊道等措施。
而在Jess管養(yǎng)專家系統(tǒng)的規(guī)則庫中,每條規(guī)則的前件即是各種病害措施所對應(yīng)的病害描述。因此,在依據(jù)相關(guān)軌道交通管養(yǎng)規(guī)范并同時考慮管養(yǎng)專家經(jīng)驗(yàn)后,形成了如圖1所示的病害描述參數(shù),并依此編寫規(guī)則庫與相關(guān)程序。
圖2 裂縫病害管養(yǎng)規(guī)則決策樹
圖1 病害描述參數(shù)
限于篇幅,只給出裂縫病害管養(yǎng)規(guī)則庫決策樹,圖2為依據(jù)上文所述的相關(guān)規(guī)范與專家經(jīng)驗(yàn)建立的裂縫病害管養(yǎng)規(guī)則庫決策樹。對于寬度<0.3 mm的微小裂縫病害,規(guī)則庫將根據(jù)裂縫密度與滲水情況給出針對微小裂縫的管養(yǎng)措施。由于裂縫病害[19]屬于一種次生病害,過大寬度的裂縫產(chǎn)生可能是隧道管片的沉降、管片斷面的過大變形、圍巖空洞等因素的影響而造成的,因此當(dāng)裂縫寬度達(dá)到0.3 mm時,規(guī)則庫將依據(jù)《城市軌道交通隧道結(jié)構(gòu)養(yǎng)護(hù)技術(shù)規(guī)范》對寬度>0.3 mm的裂縫需要查明裂縫產(chǎn)生原因的管養(yǎng)要求,結(jié)合監(jiān)測數(shù)據(jù)與裂縫表觀病害情況,對寬度過寬裂縫推理其病因,從而給出更為準(zhǔn)確的管養(yǎng)措施。
建立的滲漏水病害管養(yǎng)規(guī)則庫決策樹,首先根據(jù)滲漏水發(fā)生的位置(管片環(huán)縱縫、管片螺栓孔、管片上裂縫、管片墻面)進(jìn)行一級判別,判別后的病害將根據(jù)滲漏水的滲漏速度、滲漏范圍、滲漏水質(zhì)、螺栓孔密封圈情況等進(jìn)行二級、三級判別,最終推理出相應(yīng)滲漏水管養(yǎng)措施。
建立的劣化剝落管養(yǎng)規(guī)則庫決策樹,將根據(jù)劣化剝落的半徑范圍進(jìn)行一級判別,不同的半徑范圍具有各自的子決策樹,進(jìn)行一級判別后的病害將進(jìn)入子決策樹中根據(jù)劣化剝落的程度、劣化剝落的深度進(jìn)行后續(xù)判別,最終觸發(fā)與病害最為匹配的管養(yǎng)措施。
沉降病害與斷面變形病害的管養(yǎng)措施都比較統(tǒng)一,對于沉降病害,一般均采用微擾動雙液注漿的方法進(jìn)行注漿加固,而對于斷面變形病害,主要采用鋼環(huán)加固的方法以防止斷面收斂過大。所以相對于其他病害,沉降病害以及斷面變形的病害規(guī)則庫決策樹較為簡單,其主要任務(wù)從管養(yǎng)措施的推理匹配改變?yōu)楸O(jiān)測數(shù)據(jù)的調(diào)取,并與GB 50911—2013《城市軌道交通工程監(jiān)測技術(shù)規(guī)范》中的監(jiān)測控制值進(jìn)行比較。當(dāng)監(jiān)測數(shù)據(jù)超過規(guī)范要求的控制值時,觸發(fā)管養(yǎng)措施。
按照以上管養(yǎng)規(guī)則決策樹編寫的Jess規(guī)則庫最終將形成*. clp類型的文件。為了保證程序在進(jìn)行推理匹配時的高效性以及避免規(guī)則庫中漢字的編碼問題,本文將管養(yǎng)措施與規(guī)則庫分離開來,即將具體的管養(yǎng)措施存放在數(shù)據(jù)庫中,規(guī)則庫中的管養(yǎng)措施則采用id編碼代替,當(dāng)規(guī)則庫推理出措施編碼后,程序?qū)凑赵摼幋a進(jìn)行數(shù)據(jù)庫索引,最終找到相應(yīng)的管養(yǎng)措施。
管養(yǎng)專家系統(tǒng)的Jess事實(shí)庫即為一個存儲外部傳入的病害情況的工作存儲器。因此,在建立事實(shí)庫的時候應(yīng)該根據(jù)描述病害情況的參數(shù)類型和參數(shù)個數(shù)設(shè)置相對應(yīng)的槽,但是由于每一種病害的描述都有其不同的參數(shù)個數(shù)與參數(shù)類型,例如裂縫的病害描述有寬度、長度、深度等8個從用戶輸入獲得的參數(shù),以及拱頂沉降、兩拱腰沉降、不均勻沉降等4個從監(jiān)測數(shù)據(jù)庫中獲得的參數(shù),而滲漏水的病害描述僅有滲漏現(xiàn)象、滲漏位置、滲漏范圍等3個參數(shù),所以如果按照每種病害的描述參數(shù)建立工作存儲器,那么不同的病害類型將不能同時適配一個工作存儲器。而如果對每一類病害類型都根據(jù)其病害參數(shù)建立一個固定的工作存儲器,那么當(dāng)需要在管養(yǎng)經(jīng)驗(yàn)知識擴(kuò)充模塊中添加新的病害維修措施時,這個新的病害維修措施將會由于沒有與其適配的工作存儲器而不能進(jìn)行推理匹配。
所以為了滿足所建立的工作存儲器適配于每一種病害類型,本文在建立的工作存儲器中設(shè)置了如圖3所示的4個槽,分別為兩個單字符串型屬性槽,一個多浮點(diǎn)數(shù)值型屬性槽,一個多字符串型屬性槽。其中兩個單字符串型屬性槽分別用來存儲傳入的病害類型和病害發(fā)生位置,而所有關(guān)于病害的數(shù)值描述類參數(shù),例如沉降值、裂縫寬度等將拼接為數(shù)組全部存入多浮點(diǎn)數(shù)值型的屬性槽,對于像滲漏現(xiàn)象、裂縫發(fā)展方向等這種病害的文字描述類參數(shù),由于在設(shè)計時每一個文字描述參數(shù)都在數(shù)據(jù)庫中存儲了一個對應(yīng)的id,所以程序?qū)⑹紫葘魅氲奈淖置枋鰠?shù)進(jìn)行數(shù)據(jù)庫索引,將其對應(yīng)的id取出再拼接為數(shù)組后全部存入多字符串型的屬性槽。
圖3 Jess事實(shí)庫的建立
因?yàn)槊恳环N病害在進(jìn)行推理匹配時都需要向工作存儲器中傳入病害類型和病害發(fā)生位置兩個參數(shù),而且這兩個參數(shù)的類型都是單字符串型,所以依照圖3所建立的工作存儲器中前兩個屬性槽均能夠適配所有病害。而對于不同病害間具有差異化的參數(shù),由于這些參數(shù)一般分為數(shù)值型和字符串型,所以對于數(shù)值型的病害描述參數(shù),將全部拼接為浮點(diǎn)型數(shù)值數(shù)組的形式傳入圖3所示的第三個槽中,字符串型的病害描述參數(shù)也將全部拼接為字符串型數(shù)值數(shù)組的形式傳入圖3所示的第四個槽中,當(dāng)進(jìn)行推理匹配時,程序?qū)凑諗?shù)組的索引序號將這些參數(shù)與規(guī)則庫中的前件對應(yīng)起來。這樣,事實(shí)庫中的后面兩個槽也能夠適配所有病害。
管養(yǎng)專家系統(tǒng)規(guī)則庫的建立,是將各類病害的管養(yǎng)知識使用Jess開發(fā)語言,編寫形成一個*. clp類型的文件存放至項(xiàng)目文件夾中。在每次進(jìn)行推理匹配時,程序先按照路徑尋找到該clp文件,然后再將其讀取后放入推理機(jī)中進(jìn)行運(yùn)行。這樣的推理模式使得規(guī)則庫和系統(tǒng)軟件本體是分離的,所以這不僅方便直接使用Java語言對規(guī)則庫進(jìn)行操作,而且其規(guī)則庫的增添、修改或者刪除都不會影響系統(tǒng)本體的運(yùn)行。這也使得管養(yǎng)經(jīng)驗(yàn)知識擴(kuò)充功能模塊的實(shí)現(xiàn)成為可能。
而要實(shí)現(xiàn)管養(yǎng)經(jīng)驗(yàn)知識擴(kuò)充的功能則是需要程序能夠?qū)⒂脩糨斎氲男碌墓莛B(yǎng)經(jīng)驗(yàn)知識進(jìn)行解析后自行使用Jess語言將其編寫形成規(guī)則,并建立與其相適配的工作存儲器。因?yàn)榘凑战⒌墓ぷ鞔鎯ζ骶哂羞m配新添加的病害管養(yǎng)措施的能力,因此該功能的實(shí)現(xiàn)只需讓程序能夠滿足解析輸入的管養(yǎng)經(jīng)驗(yàn)知識并自行進(jìn)行規(guī)則編寫這一需求。
要在規(guī)則庫中新建一條規(guī)則[20],則需要編寫規(guī)則的前件(Left-hand-side)和后件(Right-hand-side),在管養(yǎng)專家系統(tǒng)的規(guī)則庫中,前件即為病害的描述參數(shù),后件即為需要采取的養(yǎng)護(hù)維修措施,一個簡單的規(guī)則模板示例如圖4所示。為了讓程序能夠自行進(jìn)行規(guī)則編寫,可以預(yù)先將規(guī)則模板寫入程序中存為字符變量,當(dāng)用戶輸入新的管養(yǎng)知識后,程序解析其中的病害描述參數(shù)和管養(yǎng)措施,然后插空拼接到規(guī)則模板的留空處,這樣即可形成一條新的規(guī)則。
圖4 規(guī)則模板示例
規(guī)則庫中存入的規(guī)則前件、后件以及傳入工作存儲器的病害事實(shí)均是使用與之對應(yīng)的id進(jìn)行推理匹配的。所以本文也通過給擴(kuò)充的管養(yǎng)經(jīng)驗(yàn)知識分配具有唯一性的數(shù)據(jù)庫id來完成對其的解析。新擴(kuò)充的管養(yǎng)知識由病害描述和與之對應(yīng)的管養(yǎng)措施兩個部分組成。對于管養(yǎng)維修措施,程序?qū)⑼ㄟ^Java語言將其直接存入數(shù)據(jù)庫,并由數(shù)據(jù)庫為其分配一個具有唯一性的id。而對于病害描述,程序首先判別其參數(shù)類型,如果參數(shù)類型為數(shù)值型,則直接進(jìn)入規(guī)則模板進(jìn)行拼接,如果參數(shù)類型為字符型,那么程序?qū)⒏鶕?jù)其是否為系統(tǒng)中的已有病害描述進(jìn)行數(shù)據(jù)庫存儲,并索引數(shù)據(jù)庫為其分配的具有唯一性的id,具體如圖5所示。
圖5 管養(yǎng)經(jīng)驗(yàn)知識擴(kuò)充功能實(shí)現(xiàn)流程
由于基于Jess的管養(yǎng)功能在推理過程中需要將人工巡檢得到的軌道交通盾構(gòu)隧道的病害情況和自動化監(jiān)測數(shù)據(jù)調(diào)取作為事實(shí)條件,而這些事實(shí)數(shù)據(jù)則是由Java語言編寫的調(diào)取模塊從數(shù)據(jù)庫中調(diào)取完畢后存儲為Java變量的。但是在Jess的工作存儲器中,其事實(shí)條件并不是一個變量,而是一個封裝的類對象,所以Java調(diào)取得到的數(shù)據(jù)不能直接作為事實(shí)條件傳入Jess中進(jìn)行推理匹配,而是需要編寫二者間的數(shù)據(jù)交互接口。
因?yàn)镴ess專家系統(tǒng)開發(fā)語言的內(nèi)核是由Java語言編寫的,所以其數(shù)據(jù)的交互可以采用Java語言中類之間傳遞的方法,即通過編寫與Jess中事實(shí)類對象構(gòu)造相同的JavaBean,然后通過JavaBean中的set方法將變量傳入JavaBean中進(jìn)行對象打包,打包后的變量將以一個類對象通過Jess的add方法傳入Jess的工作存儲器中,交互接口編寫關(guān)鍵技術(shù)如圖6所示。
圖6 Jess與Java間數(shù)據(jù)交互接口技術(shù)流程
其中,由于Jess工作存儲器中的事實(shí)是以一個template為類對象進(jìn)行存儲的,template中有數(shù)個槽,這些槽將存儲事實(shí)的不同條件,所以在構(gòu)建JavaBean時,需要創(chuàng)建與槽相對應(yīng)且命名相同的私有變量,以便Jess工作存儲器能夠識別每個槽對應(yīng)的Java變量,并將其存入槽中。圖7為一個簡單的template類對象所對應(yīng)的JavaBean構(gòu)造。
圖7 JavaBean接口構(gòu)造示例
除了需要滿足Java與Jess間的數(shù)據(jù)交互,開發(fā)完畢的Jess專家系統(tǒng)還應(yīng)該集成至Java中,供軟件平臺調(diào)用。這方面由于Jess提供了相應(yīng)的Java調(diào)用接口,所以在Java中,通過對Jess的核心類Jess. Rete進(jìn)行實(shí)例化,然后將同樣實(shí)例化的工作存儲器放入Jess. Rete中,并聲明規(guī)則庫的絕對路徑,即可完成Java對Jess的集成調(diào)用。
軌道交通盾構(gòu)隧道管養(yǎng)功能主要由兩個功能模塊構(gòu)成,分別是專家系統(tǒng)管養(yǎng)決策模塊和經(jīng)驗(yàn)知識庫擴(kuò)充模塊。其中,專家系統(tǒng)管養(yǎng)決策功能模塊負(fù)責(zé)根據(jù)人工巡檢得到的病害情況和監(jiān)測數(shù)據(jù)進(jìn)行推理匹配,給出相應(yīng)的管養(yǎng)建議,其功能界面如圖8所示。
圖8 專家系統(tǒng)管養(yǎng)決策功能界面
功能界面分為4部分,用戶在病害類型選擇框中選擇相應(yīng)的病害類型后,右上方的病害情況輸入界面將會根據(jù)用戶選擇的病害類型進(jìn)行改變,不同的病害類型有不同的輸入界面,用戶輸入完病害類型與病害情況后需在左下方的病害位置區(qū)間選擇病害發(fā)生的里程區(qū)間以便調(diào)取該病害所在位置的監(jiān)測數(shù)據(jù),在點(diǎn)擊診斷按鈕后,用戶輸入的病害情況以及病害所在位置的監(jiān)測數(shù)據(jù)將進(jìn)入Jess推理引擎進(jìn)行推理匹配,最終的推理結(jié)果將會傳入到右下方的推理結(jié)果顯示框中進(jìn)行顯示。
如表1所示的一個裂縫病害情況后系統(tǒng)自行推理顯示的示例。
表1 裂縫病害情況
該裂縫所在區(qū)間的不均勻沉降差為0.395 mm,《城市軌道交通工程監(jiān)測技術(shù)規(guī)范》對不均勻沉降的限值要求為0.04%L(L為隧道寬度)=4.776 mm。其不均勻沉降值沒有超過規(guī)范限值要求。
建議:(1)對裂縫所在的管片環(huán)進(jìn)行收斂變形監(jiān)測,并檢查周邊是否存在工程施工與堆土情況;(2)若地面存在堆土,應(yīng)盡快完成堆土卸載,卸載過程中盡可能分層實(shí)施;(3)若管片收斂變形超過限值,應(yīng)該先待隧道變形穩(wěn)定后進(jìn)行鋼環(huán)加固;(4)裂縫的修補(bǔ)建議采用鋼板補(bǔ)強(qiáng)法。
由推理結(jié)果可以看出,由于裂縫是一條貫通的具有錯動現(xiàn)象的環(huán)向裂縫,且裂縫寬度與長度都達(dá)到了管養(yǎng)規(guī)范的中修要求,產(chǎn)生原因很有可能是裂縫前后里程內(nèi)的不均勻沉降引起的。所以專家系統(tǒng)首先調(diào)取了裂縫所在區(qū)間的沉降數(shù)據(jù)進(jìn)行了不均勻沉降計算,并與規(guī)范值進(jìn)行比較,在排除了裂縫的產(chǎn)生是不均勻沉降引起的這個原因之后,提出了加強(qiáng)收斂變形監(jiān)測、進(jìn)行鋼環(huán)加固、采用鋼板補(bǔ)強(qiáng)法進(jìn)行裂縫修補(bǔ)的管養(yǎng)建議。
該模塊可讓管養(yǎng)專家不需要接觸任何編程語言即可在系統(tǒng)中自行添加、擴(kuò)充新的病害管養(yǎng)方法與技術(shù),添加后的管養(yǎng)經(jīng)驗(yàn)將編譯為Jess規(guī)則存放至規(guī)則庫中,供管養(yǎng)決策功能進(jìn)行推理。
(1)建立基于Jess管養(yǎng)專家系統(tǒng)的規(guī)則庫,即是將現(xiàn)行的管養(yǎng)規(guī)范和標(biāo)準(zhǔn)、專家經(jīng)驗(yàn)以及地方地鐵集團(tuán)的企業(yè)標(biāo)準(zhǔn)等管養(yǎng)知識歸納整理后,使用Jess專家系統(tǒng)開發(fā)語言編寫為一條條病害情況(前件)對應(yīng)病害維修措施(后件)的產(chǎn)生式規(guī)則形式。本文規(guī)則庫的建立依據(jù)現(xiàn)行管養(yǎng)規(guī)范、標(biāo)準(zhǔn)、文獻(xiàn)資料,同時調(diào)研了武漢地鐵集團(tuán)的企業(yè)管養(yǎng)手冊、管養(yǎng)工程師經(jīng)驗(yàn),將軌道交通盾構(gòu)隧道常見的裂縫病害、滲漏水病害、劣化剝落病害、沉降及不均勻沉降、隧道斷面變形等病害建立了相應(yīng)的管養(yǎng)規(guī)則庫。
(2)管養(yǎng)專家系統(tǒng)的Jess事實(shí)庫即為一個存儲外部傳入的病害情況的工作存儲器。因此,在建立事實(shí)庫的時候應(yīng)該根據(jù)描述病害情況的參數(shù)類型和參數(shù)個數(shù)設(shè)置相對應(yīng)的槽,為了滿足所建立的工作存儲器適配于每一種病害類型,本文在建立的工作存儲器中設(shè)置了4個槽,分別為兩個單字符串型屬性槽,一個多浮點(diǎn)數(shù)值型屬性槽,一個多字符串型屬性槽。
(3)管養(yǎng)專家系統(tǒng)規(guī)則庫的建立,是將各類病害的管養(yǎng)知識使用Jess開發(fā)語言,編寫形成一個*. clp類型的文件存放至項(xiàng)目文件夾中。在每次進(jìn)行推理匹配時,程序先按照路徑尋找到該clp文件,然后再將其讀取后放入推理機(jī)中進(jìn)行運(yùn)行。這樣的推理模式使得規(guī)則庫和系統(tǒng)軟件本體是分離的,所以這不僅方便可以直接使用Java語言對規(guī)則庫進(jìn)行操作,而且其規(guī)則庫的增添、修改或者刪除都不會影響系統(tǒng)本體的運(yùn)行。這也使得管養(yǎng)經(jīng)驗(yàn)知識擴(kuò)充功能模塊的實(shí)現(xiàn)成為可能。
(4)由于基于Jess的管養(yǎng)功能在推理過程中需要將人工巡檢得到的軌道交通盾構(gòu)隧道的病害情況和自動化監(jiān)測數(shù)據(jù)調(diào)取作為事實(shí)條件,而這些事實(shí)數(shù)據(jù)則是由Java語言編寫的調(diào)取模塊從數(shù)據(jù)庫中調(diào)取完畢后存儲為Java變量的。但是在Jess的工作存儲器中,其事實(shí)條件并不是一個變量,而是一個封裝的類對象,所以Java調(diào)取得到的數(shù)據(jù)不能直接作為事實(shí)條件傳入Jess中進(jìn)行推理匹配,編寫了Jess與Java語言的調(diào)用與數(shù)據(jù)交互接口,實(shí)現(xiàn)了Jess與軟件平臺的集成。