彭民德:《電子計算60年》(34) 863城市供水排程計算

彭民德發表於2017-01-16

電子計算架構發展到計算機網路時代,其應用迅速向深度和廣度進軍。一類大的應用是網路管理資訊系統,即網路MIS(management information system)。比如銀行的金融系統,飛機、火車票售票系統,倉儲物資管理系統,學校的學籍管理系統等等。在世紀之交波湧浪高的資訊化大潮中,筆者除了參與本單位資訊化程式,還有幸通過參與專案的招投標評標、軟體成果和軟體企業認定(他們據此可以享受國家政策優惠)等渠道,接觸和學習到長沙地區許多單位,包括一些大中專院校、企業、政府部門,的網路整合和資訊化方案。這些方案無論出自本地的IT企業,還是來自北京等其他地區參與競標的知名IT企業,有一個共同點,就是都把需求方網路MIS作為建網聯網的基本職能。

筆者也是一名踐行者。1997年,曾經主持和參與一個鎮政府網路辦公管理系統開發。1999年,又學習一款來自臺灣的基於MS-DOS環境的建築估算軟體,並承擔開發一個基於Windows環境,用於民用建築招投標和進度管理的建築估算軟體,都屬於網路環境下的MIS系統。我們也開發了一個遠端教學系統,並隨後出版了《計算機作業系統教程:基於網路教學環境》(清華大學出版社,2004)。這個階段筆者參與的一個更有代表性的專案是城市自來水供水排程管理系統的開發。

長沙市自來水供水排程管理系統CZ-CIMS是國家863 CIMS示範推廣專案之一,編號863-511(98通字)092,是一個集網路生產排程和MIS於一體的都會網路應用專案。CIMS(Computer Integrated Manufacturing Systems)即計算機整合製造系統。該專案由我校和長沙市自來水公司承擔,委託華博科技公司負責實施。華博公司是兩個單位聯合組建的IT企業。自來水供水排程是其中的一個重要子專案,作為華博公司的兼職員工,具體由筆者負責開發,開發團隊於2000年3月開始工作。

當時長沙市有6個自來水廠,抽取湘江水,通過管徑150mm以上,總長度963KM的管網連通,各類閥門4萬多個,水錶3.5萬隻,日供水能力104萬立方米,供水面積120平方公里,用水人口140萬。當時預計到2010年,城區面積將擴至155平方公里,人口超過160萬(注:實際的發展速度比當時預估還要快,後來長沙市的規劃調整為:至2020年城區面積310平方公里,人口310萬)。2010年前需要新建第6水廠、第8水廠並改擴建第4和第7水廠,日供水增至234萬立方。因此要構建城區的計算機網路,對制水供水系統進行資訊化改造。

系統的目標之一是,在保證供水水質的前提下,實現供水的總體優化排程,制定各個水廠每日分時段的生產量方案,保證全城管網保持足夠大的供水水壓。另一個目標就是建立公司全面的資訊化管理系統(MIS),這又有許多分系統,包括經營決策、生產指揮(供水優化排程是其子系統)、質量保證、營銷管理、綜合辦公等。筆者團隊的任務就是供水優化排程。

此前已經做了長沙市自來水行業的分散式網路支撐平臺設計。設計中首先對CZ-CIMS系統做了資料流量分析,作為平臺設計的重要依據。估計系統內部每天的資訊流量約為4450MB,訪庫量約890MB。該網路不但要將公司辦公大樓內各站點連線,還要與全市各個水廠、管網上的各個監測點連線,並與上級單位和金融系統相連。因此CZ-CIMS網路系統是一個覆蓋全市的企業網。整個網路採用兩層結構,在供水大廈內建企業的主幹網,在一些科室和各個水廠建區域網。主幹網與各區域網、管網檢測點、各水廠的制供水的集散控制系統(DCS系統),通過光纖連線。

主幹網採用千兆乙太網結構。1994年流行FDDI結構,因為價格昂貴一般不再選用。此後有的用ATM結構,以便能夠更好支援多媒體應用。1998年公佈了千兆乙太網標準,由於它有快速資料傳輸功能,容易將不同平臺的區域網連線起來,價效比高等優點,故又有取代ATM的趨勢。依據網路發展的這個趨勢,CZ-CIMS採用千兆乙太網結構,組成基本覆蓋全市的企業主幹網。選Digit UNIX作為主幹網的作業系統,選用Oracle大型資料庫系統。網路環境下將有許多計算機同時工作,決定了我們的供水排程系統應該是分散式的,在軟體開發技術上,需要解決各節點機統一時間標尺,協調衝突地同步讀寫資料庫,同步讀寫緩衝區,事件驅動等技術難題。好在對於這些技術我們有紮實的理論基礎。選擇Borland公司的 Jbuilder,一種新型Java語言視覺化開發環境,此時的開發環境已經大大改善了。選購了廠家的最新產品,通過接受提供商的培訓,開發團隊很快就在實踐中掌握了其運用技術。

CZ-CIMS工程實施前,原有供水排程過程是,總調人員通過電話瞭解水廠供水流量、壓力資訊,基本上掌握各個水廠的供水情況。如發現某水廠出廠水壓過低,則總調室電話通知該水廠增開一些供水泵執行;如發現水壓過高,則通知關閉某些供水泵,使水廠的供水壓力在合理範圍內波動。啟動/關閉供水泵的執行全憑排程人員的經驗。與此同時,通過三遙(遙感、遙測、遙控)系統,總排程人員可以監視管網中壓力監測點水流狀態,指揮調節加壓站及管網上的閥門調節水壓,保證水壓在管網中的動態平衡,保證遠端使用者的用水需要。

CZ-CIMS工程實施後,各個水廠將上馬DCS系統(引進西門子集散控制系統),公司辦公大樓將架設連通各個水廠的高速Intranet,各個水廠的實時生產資訊將即刻傳輸到辦公大樓總調室,各管網的監控資訊仍然通過三遙系統以無線通訊方式也即刻傳到總調室,種種實時資訊入網就是優化排程計算的數量依據。

CZ-CIMS供水排程系統的主要任務是,將在CIMS理念指導下的計算機群及其相關技術引入到供水排程過程中,負責實時採集制水資訊、管網資訊、設施裝置動態資訊,運用優化的系統方法,從經驗排程過渡到合理排程,逐步達到科學排程、經濟排程,使整個系統的取水、制水、供水三個主要環節,實現自動化,執行在最優水平。充分保障社會生產生活的各類用水需求,安全供水、優質供水,最大限度地降低各個環節的能耗、漏耗和藥耗,節約資金,降低成本

供水排程系統的具體任務是:
1.設計出基於B/S結構的供水排程系統軟體體系結構。該結構一方面能滿足長沙當時供水排程的需要,同時還要考慮城市發展目標,方便系統擴充,方便維護及系統升級。
2 資料收集、處理功能。實現對水廠生產資料(出廠水壓力、流量、水質等)和管網執行資料(管網檢測點的壓力、流量等)的自動採集,進行預處理和儲存。生成各類排程生產報表,包括生成和列印日報、月報、年報等30多種報表。
3 . 監視、報警功能。將採集到的一些重要資料實時顯示在大螢幕牆上,對異常資料、超限值、事故資訊進行圖形、聲音方式的報警。
4 . 實時排程功能。根據排程基礎資訊,以及短、長期歷史資料,作出全市短期用水需求預測。實時準確地確定當日任意時段的全市用水量,正確地釋出日排程指令,及時調整各個水廠的供水量指標。在保證合理水壓的前提下,最大限度地節約能源,達到降低供水成本的目的。在此基礎上,為企業制定全市中、長期供水制水計劃提供資料積累和技術支援。

分析全市用水量歷史資料發現,以每天24小時為週期迴圈,早、中、晚出現3次用水高峰,同一時段的用水量呈逐年平穩增長態勢。在分析供水規律的基礎上,初步建立了基於線性外推的最小二乘曲線擬合模型,計算出下一天這一區域在這一時間段內的用水量。自動生成並向各個水廠釋出未來一天以小時為單位的制水任務表,並在高峰時段做短期調整,向水廠釋出週期更短的排程指令。我們的研究生曾經整理寫了幾篇文章介紹排程系統設計(比如[1])。演算法有個逐步完善的過程,也就“多元迴歸模型”和“人工神經網路模型”做了探討。

在開發過程中都會盡量讓系統有超出使用者需求的功能,使新的軟體給人煥然一新的感覺。本子系統增加做了網頁,讓使用者方的自來水公司,可經網頁實時釋出水質資訊等。儘管有了自動控制機制,還是給排程員保留了一項特權,即排程員可以根據需要經由網路向水廠釋出“特調指令”。

筆者有感於國家對重大科技專案的支援力度和IT技術的快速發展,使得專案基本部分的開發週期遠快於過去。基於網路的物件導向的圖形開發環境,很容易把執行主介面設計成全市的各個水廠和管網的分佈圖,也就是長沙市主城區圖。這極大地增強了系統的功能和介面的友好程度,也給使用者以新鮮感。排程人員在供水大廈的總調室,憑藉螢幕上,同時也投影到一整面牆上的這張圖,就隨時可以看到各個水廠每臺泵的開停供水狀態,檢視全市管網中水流引數,保證安全、可靠生產。資料庫技術支援大量資料的建庫儲存和查詢。記得有同事在其程式中,寫了一些功能很強的使用資料庫的語句。最長的一條select語句竟然長達53行,體現出基於資料庫的強大計算能力,在技術人員中曾經引起熱議。許多中介軟體也提供了處理多執行緒及其同步技術的方便。

下面引用3張實圖,系統主介面如圖1所示,圖中標明瞭各水廠和管網監測點位置,用滑鼠選點就可以報告該位置上相關實時制供水及水壓資訊。圖2顯示長沙市最大的第五水廠的實時生產資訊,報告了水廠開泵情況,出廠水壓力,以及餘氯、濁度等水質資訊。最後那張(圖3)是2000年8月1日第5水廠實時供水量(粗綠色)和此前的供水預測值(細紅色)比較,從圖上看出,二者基本一致。
enter image description here

enter image description here

enter image description here

按照軟體工程規範,系統開發過程分為需求分析、詳細設計、編碼、測試、驗收等若干個階段。本專案分別形成了需求分析報告、詳細設計報告、操作手冊、測試報告、申請驗收報告、驗收報告、驗收會議紀要、研製工作報告、技術工作報告等9個文件。所用格式凡是國 家有規定的,比如流程圖的畫法,用國家GB規範。沒有的,比如資料、過程的命名方式、資料規劃、資料字典,則按公司同步制定的規範執行。當時公司內部一套軟體工程開發規範的制定,學習參考了省內“創智”等軟體公司已經積累的資料。上述9個文件連同程式程式碼(源程式和可執行程式)、執行記錄、維護記錄等資料,記錄了一次完整的軟體工程實踐
2000年10月29日,專案得到了國家863專家組驗收。當地媒體報導“我國第一個CIMS應用示範工程在長啟動”(圖4)。論文[2]在綜合分析國內相關動向時,對我們的系統有如下評論:“長沙自來水公司的CZ-CIMS系統,在我們最感興趣的供水優化排程方面已經做了相當多的工作。”“在國內自來水行業無疑是走在了前沿。”“給我國城市給排水行業走向資訊化探索出了一條新路。”
enter image description here

[1]黃馳, 彭民德、張偉、毛志苗:基於Intranet環境和CORBA技術的實時供水排程系統的研究[J]. 計算機與現代化, 2001(5):1-4.
[2]王洪峰:供水排程系統中相關模型與優化演算法的研究 東北大學學位論文(2004年)

(與本文相關的更多內容,請參看彭民德《電子計算60年》第6章 網路計算全球通聯 電子工業出版社 2016(9) )

相關文章