張海濤 (江漢大學城市地下空間工程系,湖北 武漢 430056)
土方調配就是指在土方施工中對挖土的利用、堆棄和填土這三者之間的關系進行綜合協調處理,以確定填、挖區土方調配的數量和方向,力圖使土方總運輸量最小或土方施工成本最少。土方調配是土方規劃設計的一項重要內容,其求解一般按劃分土方調配區、計算各調配區的土方量、計算各挖填方調配區的平均運距、求解土方最優調配方案和繪制土方調配圖等步驟進行。
求解土方最優調配方案的理論基礎是運籌學中的線性規劃模型,即研究在一組線性約束之下,某個線性函數的最小值或最大值問題。在求解線性規劃問題的算法中,應用最廣泛的是單純形法,其基本思想是先找到一個基本可行解,檢驗是否為最優解,否則再找一個使目標函數值有所改進的基本可行解,進行檢驗。如此反復進行迭代,直至找到最優解,或判斷問題無界(即無有限最優值)。
以單純形法的表格形式即單純形表形成的“表上作業法”是目前國內土木施工類教材中集中介紹的土方最優調配方案的求解方法。“表上作業法”大致可分為兩個步驟進行,一是采用如“最小元素法”確定初步可行解;二是采用如“位勢法”或“閉回路法”判別最優解。在工程應用實踐中,“表上作業法”需要進行多次閉回路調整,因此其方法存在求解過程繁瑣、計算量大、手工計算困難等缺陷。
隨著計算機硬件性能的提高和軟件技術的發展,求解線性規劃問題在目前已經變得十分容易和快捷,本文探討分別利用LINGO與MATLAB軟件解決土方最優調配方案求解問題,從而使工程技術人員能夠從復雜的數學計算中解脫出來,使土方最優調配方案問題的求解變得簡單、高效。
如表1所示的土方調配平衡表,假設有m個挖方區,用W(i=1,2,…,m)表示,挖方量為a;有n個填方區,用T(j=1,2,…,n)表示,填方量為 b。挖方區W將土運輸至填方區T的平均運距為C,X為從 a挖方區調配給 b填方區的土方量。

土方調配平衡表 表1


X
的值,使得目標函數(土方總運輸量)Z
為最小。以文獻[1]中的“表上作業法”案例為例,分別采用LINGO與MATLAB軟件求解。案例問題可形成如表2所示的挖、填方量和平均運距表,要求確定土方最優調配方案,即求解出一組各挖方區調配給各填方區的土方量,使得總土方運輸量為最小值。

挖、填方量(m3)和平均運距(m)表 表2
LINGO模型的基本組成包括定義集合、數據段、目標函數和約束條件。依據表2和公式(1)、(2),對案例建立LINGO模型如下:

即目標函數值為94000.00,完整的變量X求解結果總結如表3所示,與文獻[1]中的“表上作業法”結果完全一致。

變量XIJ的求解結果表 表3
在MATLAB的優化工具箱中,用于求解線性規劃問題的函數是linprog,其調用格式[x,fval]=linprog(C,[],[],A,b,lb)可求解如下問題:


其中,C為價值向量,A為等式約束矩陣,b為等式資源向量,lb為決策向量X的下界。[x,fval]表示計算返回結果向量X和最優目標值的計算結果。
結合公式(3)、(4)與表1,這里令:


為了方便將模型數據輸入到MATLAB軟件中,這里按表2數據在Excel電子表格中建立算例的模型數據,如對矩陣A在Excel中的錄入格式如圖1所示,類似地可錄入C、b、lb。

圖1 案例矩陣A的Excel數據格式
將建立的Excel文件導入到MATLAB后,在MATLAB的命令窗口中使用命令:
[x,fval]=linprog(C,[],[],A,b,lb)
則計算得到的結果為

土木工程中遇到的許多優化問題都可以歸結為規劃問題,當遇到變量比較多或者約束條件表達式比較復雜的實際工程情況時,試圖用手工計算來求解這類問題幾乎是難以實現的,編程計算雖然能夠代替手工計算快速得出結果,但編程工作量大、較為繁瑣且難以被工程技術人員掌握。因此,工程應用中較為可行的方法是通過軟件求解。LINGO作為專門用來求解各種規劃問題的軟件包,具有功能強大、模型輸入簡練直觀、能夠以較少的語句描述較大規模的優化模型等特點,其被認為是求解優化模型的最佳選擇。MATLAB軟件則具有強大的科學計算與可視化功能,并且已經形成了一套涵蓋領域廣泛的工具箱,如其優化工具箱可以求解線性規劃、非線性規劃和多目標規劃問題,這些特點使其已經成為科研和工程實踐必備的工具之一。因此,本文通過對土方最優調配方案的LINGO和MATLAB求解方法的具體描述,旨在幫助工程技術人員能夠通過軟件快速掌握這類問題的求解方法,進而能夠從復雜的數學計算中解脫出來,從而達到提高工程建設效率的目的。