梁明霄,文艷,閆永思
(上海外高橋造船有限公司,上海 200137)
作為大型海上石油處理設備,FPSO安裝的各類型管路系統是其重要的組成部分。FPSO的管路系統具有排布復雜、布設空間受限、設計要求嚴格等特點,通常其管路系統的設計工時能占總設計時長的50%[1]。然而,目前的FPSO管路設計主要依賴人工完成,設計人員的經驗、知識和對設計規范的運用程度,直接決定管路設計的效率和設計結果的優劣。
FPSO管路系統設計中難點在于設計管道的路徑,在設計時通常要求以最短的路徑接連管道的起點和終點,同時需要滿足避開限制區域、減少彎頭數量、避免管路相互干涉等多種約束條件。FPSO的管道路徑設計問題可以歸類為一種路徑優化問題,這類問題自上世紀60年代起便得到了關注,并有大量研究人員對此做了研究[2-10]。
蟻群算法最早由Dorigo等[11]提出,該算法模擬螞蟻在自然界中搜索食物的行為,在解決管路路徑優化問題時相對其他算法具有優勢。
在實際設計船舶管路系統的過程中,需要面對的管路系統通常存在大量分支管路,針對這類管系的設計,已有的設計方法的處理方式主要是將管路系統中所有的終點和起點為管路設計起點,利用各類算法尋找并確定管路分支點,以此實現管路系統的設計。
針對FPSO甲板管路系統設計問題,考慮基于蟻群算法提出管路系統分級設計方法,首先將FPSO甲板管路系統分為主管路和分支管路,通過分別設計主管路和分支管路完成對管路系統的設計。
管路系統的設計首先受到其所處空間的限制,對于FPSO而言,其管路系統可以根工作空間分為甲板管路系統和艙內管路系統。FPSO的甲板管路系統的主要作用在于:連接沿船長方向分布的艙段;連接每個艙段中的艙室;連接甲板上部模塊系統和油氣儲存空間。因此,FPSO的甲板管路系統具有如下的特點。
1)管路系統的垂直方向尺度受到上部模塊的限制,因此其水平方向尺度遠大于垂直方向尺度。
2)管路系統中主管路和分支管路分級明顯,主管路沿船長方向分布,分支管路沿船寬方向分布。
3)各甲板管路系統的主管集中在甲板中部。
對于分級明顯且主管路集中于甲板中部的FPSO甲板管系,在進行數值設計時,考慮將管路系統拆分成不同層級進行設計,即先設計位于甲板中部主管路,再設計分支管路。如此設計既能降低計算難度,也更符合實際設計邏輯。
設計目標與約束條件是管路設計的核心部分,通常在管路系統設計過程中需要考慮的設計目標如下。
1)使管路系統的管路長度最小。
2)使管路系統中的彎頭數量最小。
3)使管路盡量靠近墻體、甲板等。
通常在管路系統設計過程中需要考慮的約束條件如下。
1)管路系統需要避開障礙物、危險區域和限制區域。
2)避免管路系統間的相互干涉。
需要說明的是,上述的設計目標與約束條件并非是固定的,在設計時可以結合具體的要求進行修改。本文中管道的彎頭都被設定為90°。
管路設計問題可以視為一個多目標、多約束條件的優化問題,依照前文所述,管路設計問題的數學形式可以表示為
(1)
式中:fp為第p條管路的目標函數;Lp,Bp為第p條管路的長度和彎頭數量;Rp為第p條管路的路徑;Ω為管道路徑的可經過區域。
如式(1)中所示,管路設計問題是一個典型的三維路徑優化問題,對于求解這一類問題,蟻群算法具有針對性強、收斂性好等優勢。因此,基于蟻群算法構建用于FPSO甲板管路分級設計方法。
FPSO甲板管路系統具有明顯的分級特點,其甲板管路中的主管路集中于甲板中部,沿船長方向延伸,分支管路由主管路向船舷延伸。對于這類型的管路系統,在設計時可以將其分為主管路和分支管路進行設計。設計流程見圖1。
圖1 FPSO甲板管路系統分級設計流程
針對所需要設計甲板管路系統,首先確定主管路的起點、終點以及分支管路的終點,并劃分管路所在區域的網格。設置螞蟻種群數量,搜索主管路起點、終點間的最優路徑。在主管路路徑搜索完成后,以分支管路終點為起點,搜索到達主管路的最優路徑。在主管路和分支管路搜索完成后,計算管路系統的長度和彎頭數量等目標函數,依據目標函數的大小更新網格邊界的信息素,完成第一步迭代。重復上述計算過程直至迭代步數到達設定值。
在蟻群算法中,路徑的搜過程實質是螞蟻不斷的選擇和移動到相鄰的未探索節點。螞蟻在網格中的移動方向由信息素和啟發因子共同決定。其中,信息素的強度取決于先前經過螞蟻的數量,經過某一路徑的螞蟻越多,該路徑上的信息素強度越高。信息素記錄的是前序計算的信息,其作用是保留下優秀的計算結果用于后續迭代。啟發因子用于評價當前迭代步中,螞蟻某前進方向的優劣,其大小與前述計算結果無關。啟發因子與信息素聯合使用可以避免蟻群算法發散或者陷入局部最優解。
螞蟻移動方向的具體選取過程如下。
(2)
式中:τij為當前點i到相鄰點j間路徑的信息素;ηij為當前點i到相鄰點j間路徑的啟發因子;、和為經驗系數,其中q0∈(0,1);Pij為當前點i到相鄰點j的概率,具體計算方法如下。
(3)
在計算時首先生成均布隨機數q,若q≤q0,則螞蟻向具有最大Pij值的點移動;否則,依據每個相鄰點的概率,選擇下一點的移動方向。
蟻群算法中的啟發因子用于在當前迭代步中,評價螞蟻某一移動方的優劣。本文管路系統被分為主管路和分支管路兩部分,在主管路部分設計完成后,分支管路再進行設計。在設計主管路時,其管路的起點和終點是確定的,因此主管路設計使用的啟發因子如下。
(4)
式中:xj、yj、zj為螞蟻當前所在位置的相鄰點j的三維坐標;XE、YE、ZE為主管路終點的三維坐標。
在主管路的路徑搜索完成后,分支管路開始設計。與主管路不同的是,分支管路路徑的搜索是由分支管路的終點開始的,當分支管路的路徑到達主管路時搜索結束。因此,分支管路路徑的起點是確定的,而其終點是不確定的。對于分支管路,螞蟻當前所在位置相鄰點j的啟發因子可以表示為
(5)
式中:Sj為點j到主管路的最近曼哈頓距離,具體可以表示為
Sj=argmin[|xj-XJ|+|yj-YJ|+|zj-ZJ|]
(6)
式中:XJ、YJ、ZJ為主管路上點J的三維坐標。
(7)
(8)
(9)
在FPSO甲板管路系統分級設計方法中,主管路和分支管路的搜索過程是分開進行的,因此,主管路和分支管路在搜索時使用的信息素信息也應當分為互不干擾的兩組。在主管路和分支管路路徑搜索完成后,再依據式(7)~(9)分別更新主管路和分支管路的信息素。
設置1個長、寬、高分別為50 m、50 m和1 m的管路系統設計區域,區域網格的長、寬、高分別為2 m、2 m和1 m,管路系統需要連接的3個點坐標分別為點A(0,0,0)、點B(50,0,0)和點C(22,50,0),其中主管路需要連接A、B兩點,分支管路需要連接C點。通過在區域內為管路系統設計路徑,對比FPSO甲板管路系統分級設計方法與常用方法所得結果,見圖2。
圖2 常用方法與本文方法結果對比
在圖a)中,為了保證3條路徑能最終合攏,從1點出發的螞蟻將另兩只螞蟻的當前位置和已搜索的路徑作為搜索目標。A螞蟻和B螞蟻首先在點D(24,0,0)處相遇,B螞蟻停止搜索,而A螞蟻由點D出發,繼續向Y軸正方向搜索直至與C螞蟻相遇。觀察圖a)中不難發現,A、B螞蟻的匯合點D實際成為了管路系統的分支點,但分支點D并非最優的分支點(22,0,0)。這一問題是目前常用方法中的一個缺陷,對于常用方法,管路系統中的分支點的位置由網格劃分、起點位置等多種參數共同決定,并不能保證其位置最優。在圖a)中,通過增加迭代步數或者螞蟻種群數并不能繼續優化分支點位置。針對這個問題,一個比較好的處理方式是修正網格。論文[12]給出了一種網格修正方法,以圖a)為例。圖中(2,0,0)至(20,0,0)間的節點以及(24,0,0)至(48,0,0)間的節點可以視作A、B兩螞蟻匯合過程中的過程節點,去掉這些節點可以使得A、B兩螞蟻在第一步迭代時直接在點(22,0,0)匯合。然而,對于有多套并行管路系統需要同時設計的情況,論文[12]中給出的網格修正方法并無優勢,它在去掉某些過程節點的同時,又會增加新的過程節點。因此,對于分級現象明顯、分支管路眾多、多管路系統并行排列的FPSO甲板管路系統,常用方法并無優勢。
在圖b)中,A、B、C三點間的管路系統被分為兩級,其中連接點A和點B的為主管路,連接點C和主管路的為分支管路。圖b)中的管路路徑由FPSO甲板管路系統分級設計方法所得,設計時A螞蟻首先沿X軸搜索確定了由A點至B點的主管路,隨后C螞蟻開始搜索并在點(22,0,0)與主管路匯合。相較于圖a),本方法通過將管路系統分級,在降低了每級管路系統的計算難度的同時,避免了路徑匯合對管路分支點的不利影響。
基于蟻群算法建立的用于設計FPSO甲板管路系統的分級設計方法,將甲板管路分化為主管和分支管路,通過先后設計主管路和分支管路的方式完成對管路系統的設計。對比一般方法表明,所提出的設計方法能有效解決分支管路設計中由多起點同時設計管道路徑造成的分支點不在最優位置的問題;同時,通過將管路系統分級的方式,可有效降低數值計算和程序編寫難度。
所提出的設計方法能有效輔助實際FPSO甲板管路系統設計,提高設計效率。在后續研究中可以將該方法進一步拓展,將管路系統的受力等作為約束條件,提高設計結果的完成度。