姚莉娟 張 爽 馮 明
(1.成都紡織高等??茖W校,四川成都 611731;2.成都瑞泰鴻信科技有限公司,四川成都 610041)
物料管理[1]是提高工程施工項目生產率的重要方式。物料管理為計劃和控制所有施工工程的必要管理內容,通過精心設計,確保在合適的時間,由專業人員使用合適質量和數量的物料和設備進行工程施工。物料管理可以分為物料需求、供應商評估、采購、現場庫管、施工等功能。工程物料管理會影響整體的工程施工時間、質量和預算。隨著經濟的發展,工程施工領域已經逐步實現信息化[2-3]。施工管理領域的施工物料品類日益繁多、施工流程日益專業化,現在的信息化難以滿足施工要求日益精細化的管理要求[4]。
本文以現場物料庫管[5]為中心節點,考慮工程施工流程特點,基于規則引擎技術[6-8],提出并設計一個施工物料信息驅動引擎。研究以物料為中心編寫引擎規則并自動實施,施工管理方、業主方、施工方和物料提供方能夠對施工進度進行精細化管理,有效降低損耗,極大提高工程施工效率,以此為基礎實現施工物料信息驅動。
在復雜的大中型工程施工中,多種工程如土建、安裝、裝飾等版塊交錯進行,工程施工涉及物料生產周期、物料規格、施工工序和生產場地等復雜因素。
以物料為中心進行分析,工程建設的生產周期包括向供應商提出物料需求計劃(包括招標);物資生產準備(供應商);物料物流(物流企業);物資收驗貨;現場庫存(現場庫管方);組織施工(施工方);補料;退還換貨(物流企業)。每一項物料均需要經歷該周期,與施工工序、物料的配合具有復雜的關聯。通常情況下,多個工程同時在建,項目管理人員難以從紛繁的事務性事件中抽身實現對項目的精細化管理。
施工物料管理面臨3個通用需求,物料的自動化程度需要提高,使管理人員可以準確把控工程所處階段的物料需求與損耗;物料的訂貨、物流、進場等工序需要與施工流程緊密配合,節省倉儲倉庫容量;相關聯的物料間生命周期應該緊密配合,以最優化施工工程進度。隨著信息技術和物聯網技術的發展,以物料為中心的智能物料庫管平臺的建設成為可能。
施工物料紛繁復雜,相應的關聯規則日趨復雜多變。為了靈活支撐復雜的目標環境,需要設計施工物料信息驅動引擎體系。
施工物料信息驅動引擎體系結構如圖1所示。

圖1 施工物料信息驅動引擎體系結構
由圖1可知,物料信息作為驅動數據被送入處理核心——規則引擎。規則引擎包括3個核心組件,分別是規則庫(存儲所有通過驗證的規則集)、工作存儲區(存放給定輸入的事實對象和中間結果)和推理引擎。推理引擎是規則引擎的執行核心,在數據驅動模式下,事實對象狀態的變化會導致推理引擎執行規則的模式匹配,根據優先級策略執行相應動作,將信息輸出。
工作流建模是對工作流過程的抽象建模,是利用建模工具或建模語言描述企業的業務流程,有利于實現工作的自動化與信息化。實際應用和開發系統時,常使用工作流語言進行業務流程的定義和設計,工作流模型能夠被工作流引擎驅動和執行,工作流語言能夠被工作流引擎直接執行,稱為流程定義語言。本系統使用工作流引擎,在工作流系統開發上更關注使用工作流語言進行工作流模型的構建,可以簡化業務流程的設計和開發,提高工作效率。
規則引擎的工作原理是檢查應用程序提交的數據對象,根據數據對象此時的屬性值以及關系,與原先加載在規則集中的規則進行條件匹配;為符合條件的規則創建相應的執行實例,按照規則執行指令依次執行規則,產生的處理操作規則引擎是基于規則的專家系統,可以實現規則與系統相分離。典型的規則引擎包括規則編譯和運行時階段,通常定義一種簡單靈活的實現特定業務規則語言,使用語言描述業務規則。業務形成的語義規則非常復雜,為了系統高效執行必須將語義規則編譯成推理引擎能夠理解的形式,以上過程被稱為規則編譯階段。
國內外對規則引擎進行了大量研究,有多種成熟開源項目進行應用。其中開源業務規則引擎Drools基于JAVA技術構建,采用高效模式匹配算法(Rete算法)支,支持語義文件和xml進行規則的描述,速度快、效率高,應用廣泛,非常適合大量事實輸入,但每次只涉及少數事實發送變化的情況。
規則引擎Drools提出3個重要的概念:事實、規則和模式。事實即對象之間及對象屬性之間的關系,規則是由條件和結論構成的推理語句,模式指IF語句的條件,可以嵌套。
整個規則引擎的執行過程主要設計為4個階段:
(1)創建規則庫。
通過知識工廠對象收集編寫好的規則文件,將編譯好的規則打包發布,為應用程序的調用提供規則包。
(2)創建工作空間并且插入事實對象。
創建工作內存空間,創建狀態知識會話對象,在會話中運算需要的業務數據,建立數據集,將數據集合通過會話對象插入到工作空間中。
(3)執行規則流、觸發規則。
工作空間創建完成后,通過對比規則庫中的規則與空間集中的數據,將匹配后的規則結果通過沖突解決策略依次執行,觸發規則運算。
(4)處理結果與釋放資源。
在規則引擎執行完規則包邏輯后,會根據系統需求進行下一步操作,最后釋放狀態會話對象資源。
規則語言是面向業務人員或開發人員的規則描述語言,規定了規則的形式化定義及詞法、語法定義。一個基本的規則結構簡單,包括規則名稱、WHEN 件部分和THEN執行部分。
以某水電安裝工程水輪機安裝為例,一臺水輪機配件、備品備件和工具包括(尾水管地基圖、肘管裝配、錐管裝配等)達34個裝箱。每個裝箱包含上百種物料,受到裝箱限制可能還會分箱,多個裝箱才能夠完成一個裝配工序,使庫存、施工的情況變得非常復雜,不借助規則引擎很難描述清楚。
業務規則結構偽代碼如圖2所示。

圖2 業務規則結構偽代碼
規則的條件可以將多個條件安裝與或非等關系進行組合,具有很大的靈活性。屬性部分為規則屬性的定義,包括規則優先級、有效期和分組等。
轉動裝配的業務規則如圖3所示。

圖3 轉動裝配的業務規則
本文與設計施工公司進行大量交互,考慮智能施工系統的需求,設計基于施工物料信息的驅動規則集。施工過程中,受到影響的物料因素主要包括任務安排、物料類型、物料數量、施工工具、施工流程等。分析規則后,進行施工任務規則的定義。
工程安裝任務的規則定義如表1所示。

表1 工程安裝任務的規則定義
施工物料信息驅動的智能庫存管理系統結構如圖4所示。

圖4 施工物料信息驅動的智能庫存管理系統結構
智能庫管系統中增加規則管理模塊,負責與基礎資料模塊合作,為施工物料信息驅動引擎提供初始化設置和規則配置。各種物料的入庫、出庫和基礎資料的更新將轉換為規則引擎的事實對象,輸入施工物料信息驅動引擎。引擎的執行輸出接入智能庫管的消息系統,包括報表、訂單、施工安排、物料預警等工作流模塊。
針對施工工程領域,根據物料管理日益精細化的需求,基于規則引擎技術,考慮工程施工流程特點,本文提出并設計施工物料信息驅動引擎。引擎可以實現業務規則與基本技術分離,適用多種施工過程管理。具有規則書寫簡單、速度快效率高等特點。通過以物料為中心的規則并自動實施,使庫管系統能夠對施工參與方進度進行精細化管理,有效降低時空物的損耗。未來將繼續探索施工管理需求,優化規則設計,完善該引擎設計。