王 毅,郭 玉,侯學良
(華北電力大學工程技術與管理研究所,北京102206)
在我國“十三五”規劃實施期間,為促進國民經濟持續穩定的健康發展,我國建設了一大批大型和特大型工程項目,如縱接港珠澳的超長大橋、橫貫內蒙、北京、河北、山東和天津五省市的特高壓交流工程、全球最大的水能機組白鶴灘電站等。在這些工程項目的建設管理中,為實現對工程項目科學有效的監管和控制,很多工程建設單位采用了大型建設工程項目實施狀態診斷系統這一管理工具。工程實踐應用結果已充分證明,在完成工程項目實態信息的采集后,這一管理軟件不僅能夠即時診斷出工程項目分部分項中各管理對象的即時所處狀態,而且還能基于預設標準,分析和判斷出工程項目中所存在的有關問題,并為工程項目管理者及時高效地解決工程項目管理中的有關問題提供相關的對策和建議。因此,在工程項目的建設管理中,該工具深受工程項目管理者的好評[1]。
但在該系統的使用過程中也同時發現,隨著工程項目階段的演變,當工程項目管理對象發生變化后,工程項目實施狀態的診斷指標本應隨即也同步做出相應的調整和修正,但實際上,診斷指標并沒有隨著管理對象的變化而變化。很顯然,一旦出現這一問題,必然無法實現對工程項目的科學分析與診斷。面對這一問題,工程項目管理者就用人工干預的方式進行診斷指標的調整和修正。然而,由于大型和特大型工程項目各個階段的管理對象及其管理指標數量龐大,這種人工調整方式不僅會給工程項目管理者帶來極大的工作負擔,而且也工程項目實現工程大數據的自動化分析與處理帶來非常不利的影響,更無法實現對工程項目及時有效的科學分析與診斷[2]。
為有效解決這一問題,一些研究者經過多年的研究和探索,提出了基于自適應控制技術的解決思路與方案[3]。但從其研究結果和仿真效果來看,還與現行工程項目診斷系統還存在著明顯的非兼容性和非協同性,特別是在工程實際應用方面,與大型工程項目實施狀態診斷系統實現診斷指標的自動調整這些現實需求還存在著較大差距。因此,如何基于自適應控制這一新技術開發出能夠滿足工程實際使用和管理需求的新系統就具有非常重要的現實意義。
現行工程項目實施狀態診斷系統是由項目概況、信息采集、數據處理、指標管理、專家評價、狀態評判、分析結果、狀態預警、文檔查詢、后期管理和用戶信息十一個一級子系統組成的。從其使用功能來看,當工程項目管理階段發生變化并出現需要分析和診斷的管理新對象后,工程項目管理者就從診斷系統的指標數據庫中調取相應的管理指標,人工完成診斷指標及其權重的調整和修正工作[4]。然而,若要使現行診斷系統從目前的人工調整模式轉變為診斷指標的自動調整模式,根據相關研究成果可知[3],現行工程項目實施狀態診斷系統就必須在現有功能基礎上增補若干具有自適應運行功能的模塊。這些模塊主要分為兩大類,一類是根據診斷系統所采集的信息自動進行廣義誤差分析,并根據分析和判定結果,自動指令診斷系統實施診斷指標自適應調整伺服程序的核心模塊,另一類則是為系統開展廣義誤差分析而提供數據支持的工程項目、管理對象、診斷指標、參數修正、游程增補、處理規則和判定標準查詢與修正的七個關聯模塊。
1)工程項目查詢模塊
工程建設管理企業當前所使用的工程項目實施狀態診斷系統是一個大型集成管理系統,系統中存儲著少則幾十項、多則數百項的大型工程項目數據和資料。由于每項大型工程項目是由多個單位工程組成的,每個單位工程又包含著若干分部分項工程[5],因此,若要使診斷系統實現某一工程隨其實施狀態和管理對象的變化而完成診斷指標的自適應調整,就必須預先告知自適應診斷模塊的分析與處理對象。同時,由于自適應診斷功能模塊的增補是基于現有診斷系統研發的,因此,自適應控制系統中的工程項目查詢這一模塊的運行程序就應是一個鏈接到現有診斷系統母體中工程項目概況模塊的行為指令。這樣的處理方式不僅可以確保系統管理對象參數的一致性,而且還有利于系統同類數據的高效利用,提高系統的整體運行效率。
2)管理對象查詢模塊
工程項目是一個開放系統,在其實施過程中,極有可能由于系統內外因素的干擾,出現系統數據庫所未存儲的新的異態表象或突變新態。在此情況下,即使系統信息采集模塊完成了系統實態數據的采集工作,診斷系統也無法開展所獲數據的廣義分析與判定。此時,就需要具有自適應功能的診斷系統基于所采集的工程信息,通過對這些新問題表象的自動查詢與檢索,就其信息特征、類別歸屬、所屬對象及其映射的診斷指標進行分析和提取,并歸集到相應的指標管理體系,以實現診斷系統長期穩定的自適應運行功能。
3)診斷指標查詢模塊
工程項目是由分項、分部到單位工程多個層級組成的,并與工程項目的微觀、中觀與宏觀層級相對應[6]。很顯然,不同層級的管理對象及其實施狀態需要不同層級的診斷指標去分析,當工程項目實施狀態發生變化并出現新的異態表象或突變新態后,就需要增減系統原有的診斷指標,并同步修正和完善不同層級的診斷指標體系[7]。面對這些系統性、系列性的復雜變化,工程項目管理者若要實現對工程項目從宏觀到微觀的有效管理,就必須能夠及時、快速、精準的了解和掌握工程項目各層級管理對象的診斷指標,并為實現診斷指標的系統性調整提供有效保障,而診斷指標查詢模塊正是為實現這一功能而設計的模塊。
4)指標參數修正模塊
針對工程項目管理中出現的新問題,診斷系統在完成管理指標的類別歸屬和指標映射后,就需要工程項目管理者輸入與這些新指標相配套的指標名稱、指標編碼、所屬層級、指標標準、指標權重等參數,以滿足工程項目實施狀態診斷中的數據分析需求,并為系統實現工程項目實施狀態的自適應分析與診斷提供支持與保障。如果在工程項目診斷指標的管理中需要開展這一工作,管理者即可通過該模塊完成此項任務。
5)信息游程模塊
信息游程是有效描述管理對象處于任何狀態的全息信息[8],診斷系統若要識別工程項目管理對象在工程項目實施中所呈現出的各種形態和表象,就必須在診斷系統的數據庫中預先存儲和記憶工程項目所有管理對象的信息游程,并形成一個系統、完整、全面、準確的信息游程集合。當工程項目實施中出現了新的異態表象或突變新態后,管理者即可通過該模塊,將該管理對象的新形態游程模型及時存儲在診斷系統的數據庫中。這樣,診斷系統在開展管理對象的廣義誤差分析中就不會出現斷點和靜默現象,確保診斷系統自適應分析工作的順利進行。
6)廣義分析模塊
自適應分析包含工程實態信息的自采集、自規整、自分析、自處理和自存儲。在分析過程中,系統將會根據系統預設的處理規則,就管理對象的現有形態與數據庫所存儲相關參數進行廣義誤差分析,并根據分析結果給出診斷當前管理對象的最佳診斷指標。由于這一過程的運行完全是基于系統研發者所編寫的算法進行的,因此,該模塊的設置不僅可以使診斷系統實現管理對象的現有形態與其最佳診斷指標的精準映射,而且還可以幫助系統研發者和工程項目管理者不斷改進和完善廣義誤差的分析算法,提高診斷系統自適應運行的效率和分析精度。
7)處理規則模塊
不論是系統開展自適應分析還是執行診斷指標自適應調整的伺服程序,自適應診斷系統的運行都必須遵循相應的規則[9]。但在工程項目實施中,由于項目的復雜性、多樣性、互饋性和束導性,可能就需要對原有的一些規則進行修改和完善,對所采集的新信息進行特征分析、冗余消除、屬性判定、模式規整等工作。對于這些規則,管理者即可通過信息處理規則這一模塊,完成診斷系統有關運行規則的修正或增補工作,為實現診斷系統的自適應功能提供支持與保障。
8)判定標準修正模塊

圖1 自適應調整系統數據流程
診斷系統在完成基于管理對象實態信息的廣義誤差分析后,將會把分析結果與數據庫所存儲的工程項目實施狀態判定標準范數值進行對比,并做出是否進行診斷指標的調整與修正決定[10]。研究表明,當廣義分析結果的數值大于等于3.14時,診斷系統便需執行診斷指標自適應調整與修正的伺服程序[11]。但當工程項目管理者需要對診斷系統執行自適應調整伺服程序的閾值進行修正時,即可通過該模塊來調整工程項目實施狀態的判定標準參數值,實現對診斷系統自適應行為的精準控制。
9)伺服程序修正模塊
診斷系統的自適應伺服程序是鏈接、傳輸、發送、指令系統內含各模塊之間產生系統性、系列性自適應行為的指令代碼,只有確保這些代碼的正確性和完整性,系統的自適應行為才能順利實施。但在診斷系統的運行中,如果發生系統功能的增減或算法修正或規則改變,就必然會給系統原有模塊之間的信息互饋和接續行為帶來影響,原有的自適應伺服程序就可能無法滿足診斷系統的運行新要求。因此,診斷系統就需要設置伺服程序修正這一模塊來修改和完善系統的原有伺服程序,為診斷系統實施自適應分析提供依據完整的運行鏈路。
根據信息理論可知,若要開發出實用有效的信息管理系統,編寫出可靠穩定的系統運行程序,就必須預先準確了解和掌握系統內含各功能模塊之間以及與相關系統之間的數據流程。
在開展數據流程分析時,目前最實用有效的方法當屬流程圖法[12]。該方法可以從實際業務的運行角度來考察研究對象在系統中的數據流動過程,并以清晰的箭線圖方式表示出來,這樣,便可為編制模塊之間的自適應伺服程序提供清晰的邏輯關系依據。基于這一思想與方法,大型建設工程項目實施狀態診斷指標自適應調整系統各功能模塊與現行診斷系統一級相關模塊之間的數據流程即可以圖1所示圖形表示出來。
通過對自適應調整的系統所需功能的分析可知,當前開發的診斷指標自適應調整系統隸屬于現行大型建設工程項目實施狀態診斷系統的子系統,是專用于實現診斷指標自動調整與修正的集成模塊。鑒此,在研發診斷指標自適應調整系統時,出于該自適應系統與現有大型建設工程項目實施狀態診斷系統兼容性、匹配性、協同性以及運行穩定性等多方面的考慮,本研究采用了與原有系統完全一致的開發語言,并以Visual Studio 為開發環境,SQL Server 2008為數據庫平臺,Devexpress為系統插件,XML為伺服程序的鏈路工具,開發了大型建設工程項目實施狀態診斷指標自適應調整系統,其主要的仿真頁面參見圖2至圖7所示,主要運行代碼為:
partial class
{
///
/// Required designer variable.
///
private System.ComponentModel.IContainer
components=null;
///
/// Clean up any resources being used.
///
///
else, false.
if (disposing && (components !=null))
components.Dispose();
base.Dispose(disposing);
}

圖2 系統首頁

圖3 系統目錄界面

圖4 工程項目查詢界面

圖5 數據分析過程界面

圖6 信息處理規則界面

圖7 指標參數修正界面
為了驗證所開發的自適應診斷系統能否達到預期的研究目標,盡早發現所開發系統中存在的有關問題,結合自適應仿真系統的運行原理和運行要求,研究人員對自適應診斷系統開展了系統模塊、子系統和系統整體三個層級的規模性檢測和試驗,其中,模塊檢測是分析和確定自適應診斷系統九個模塊能否實現各自的功能,子系統檢測是分析和測試診斷指標自適應調整系統的整體性能,系統整體檢測是測試該系統與大型建設工程項目實施狀態診斷系統的整體聯動性能。
在測試中,依據計算機系統黑盒測試和白盒測試的經典方法與規則[13],采用白盒測試法開展了系統模塊功能的檢測,采用黑盒測試法開展了診斷指標自適應調整子系統和系統整體聯動性能的測試。同時,為了對測試中所出現的有關問題及時進行針對性分析,在測試前,預先將測試過程中可能出現的問題(Bug)分為A、B、C、D和E五個等級[14],其中,A級錯誤問題最為嚴重,可以致使系統癱瘓;E級錯誤最輕,只需簡單的局部修正。測試分為三組,一組為模塊測試,測試次數為81次,每個模塊測試9次;二組為子系統測試,測試次數為40次,三組為系統整體測試,測試次數為15次。各組的測試效果參見表表1所示。
從表1所示的測試結果可知,在81次的模塊測試中出現了5次Bug, 其中,D級Bug 一次,E級Bug四次,問題分別出在工程項目查詢模塊、廣義誤差分析模塊、信息處理規則模塊和指標參數修正模塊,主要問題都是在編寫程序中漏缺一些動作指令代碼符。在40次的子系統測試中出現了2次D級Bug,問題分別是判定標準未指定、自適應數據輸出路徑未指定。
在完成系統功能模塊和子系統所現錯誤修正工作,并通過再次測試確保系統功能模塊和子系統運行正常的基礎上,研究組開展了系統整體測試工作。該測試先后進行了15次,其中,10次測試采用了模擬工程信息間斷輸入的測試模式,5次采用了模擬工程信息連續輸入的測試模式。由于自適應診斷系統在試驗前都得到了充分的檢驗和修正,所開發的系統也與目前大型建設工程項目實施狀態診斷系統采用了完全一致的開發環境,因此,這15次測試中,內含自適應診斷系統模塊的大型建設工程項目實施狀態診斷系統沒有出現任何層級的Bug,達到了100%的合格率。

表1 自適應診斷系統測試結果
針對當前大型建設工程項目實施狀態診斷系統在診斷指標調整方面存在的問題,在了解和掌握國內外相關求解這一問題的思想和方法基礎上,采用自適應控制這一新技術,開發了具有自適應功能的診斷指標調整系統。通過規模性試驗證明:
1)基于自適應控制技術,可以有效解決大型建設工程項目實施狀態診斷系統在診斷指標調整方面存在的問題,能夠實現診斷指標的自動調整與修正。
2)在自適應診斷系統的測試中,模塊測試失效率為6.2%,子系統測試的失效率僅為5%,系統整體測試失效率為0.由此表明,所開發的診斷指標自適應調整系統與現有診斷系統具有良好的兼容性和匹配性。
3)在模擬工程信息連續和間斷輸入的測試中,系統均未出現靜默或無反應現象,因此,所開發的診斷指標自適應調整系統能夠滿足工程管理實用需求且具有很高的系統運行穩定性和可靠性。