李喆,王順森,李勇,吳君,顏曉江,徐耀博
(1.西安交通大學葉輪機械研究所,710049,西安;2.武漢第二船舶設計研究所熱能動力技術(shù)重點實驗室,430205,武漢)
船舶管線對于船舶而言,相當于血管對于人體的意義。船舶內(nèi)部的管線承擔著輸送燃油、滑油、液壓油、蒸汽、水、壓縮空氣等各類工質(zhì)的作用[1-2]。船舶管線布置質(zhì)量是衡量其經(jīng)濟性、安全性、可維修性和功能性的重要指標[3-6]。船舶管線布置設計的總體要求是:在給定的幾何空間中,尋找滿足相關(guān)規(guī)則和規(guī)范的從起點至終點的最佳布置路線[7]。
從20世紀70至80年代開始,船舶管線智能布置設計逐漸成為國內(nèi)外眾多研究者的研究熱點。Park等[8]提出了單元格生成法的概念,建立了一種考慮船舶管路布置規(guī)則的管路布置算法;范小寧等[9]對遺傳算法的算子進行了優(yōu)化設計,提出了一種變長度坐標編碼方式用于遺傳算法中的交叉編譯步驟,由于程序更為復雜導致管線布置效率有一定的降低;鄔君等[10]通過將協(xié)同進化算法和蟻群算法進行深度融合,得到了一種管線布置的新方案,不過隨著規(guī)模的增大其管路布置質(zhì)量存在明顯降低;Lu等[11]對Park提出的單元生成法進行了優(yōu)化設計,不過該算法可選擇的路徑生成模式仍然有限,在復雜布局空間下生成的路徑質(zhì)量不高;隋海騰等[12]基于非支配排序遺傳算法提出了一種處理管道路徑規(guī)劃問題的優(yōu)化算法,經(jīng)過驗證具有較好的布置效果,不過需要很大的數(shù)據(jù)存儲空間。
上述船舶管線智能布置算法可分為兩大類:一類是以迷宮算法為代表的確定性算法,另一類是以遺傳算法為代表的非確定性算法。確定性算法相對而言布置效率更高,不過固定條件下的布置結(jié)果是固定的,可選擇性較小;非確定性算法可以提供多種布置結(jié)果,不過效率過低;將確定性算法和非確定性算法結(jié)合而成的混合算法,雖然能夠提供相對較好的布置結(jié)果,不過布置效率反而更低。船舶內(nèi)部的布置空間復雜性較高、管系繁多且存在諸多規(guī)則約束,由此可見船舶管線的布置設計工作量大、難度高、要求多。當前還沒有形成一種適用于各類船型與各類別管路的船舶管路智能求解布置算法,因此對于具有不同特征的智能算法進行研究可為從事相關(guān)管路設計的工作者提供更多的選擇方案,提高設計工作效率,降低設計人員的工作量與人為設計失誤。
本文在前人研究基礎(chǔ)上,總結(jié)相關(guān)經(jīng)驗,引入確定性算法中的Astar算法,對船舶管線的智能布置問題進行研究。但直接將Astar算法用于船舶管線布置,其方向引導機制會導致管線出現(xiàn)大量拐角,且無法滿足遠離危險設備、附著艙壁布置等相關(guān)要求。本文對傳統(tǒng)Astar算法進行改進,基于管線長度、拐角個數(shù)和柵格能量值對代價函數(shù)進行重新設計。相對于傳統(tǒng)Astar算法和遺傳算法,本文的優(yōu)化Astar算法具有較高的運行效率和更少的拐角數(shù),且引入方向概率系數(shù)和能量值提高管線布置結(jié)果的確定性。通過案例的仿真模擬,說明了該智能布置算法的適配性和優(yōu)越性,探究了方向概率系數(shù)和能量值對于管線布置速率和質(zhì)量的影響。
船舶管線的布置空間內(nèi),存在形式多樣的相關(guān)儀器設備,例如柴油機或鍋爐、汽輪機、空氣壓縮機等,在管線布置時不能穿越這些設備及相關(guān)障礙物。因此,首先要對這些設備及障礙物建立計算機可識別的模型,考慮到管線走向大都與船體方向平行或垂直,只需要保證設備障礙物模型與真實設備形狀近似即可。在已有研究中大都采用軸平行包圍盒法[13],其優(yōu)點是設備模型大幅簡化,不過缺點同樣明顯,部分自由空間被當作障礙物處理,影響空間利用率,難以保證最終的路線布置結(jié)果為最優(yōu)解。
本研究以傳統(tǒng)的軸平行包圍盒法為基礎(chǔ),提出一種分割組合建模法,首先根據(jù)設備實體的幾何結(jié)構(gòu)特征將其分割為多個部分,針對每一個部分分別進行軸平行包圍,再將各部分的包圍盒按照設備原本幾何結(jié)構(gòu)重新組合在一起?;诖瞬呗?在保證管線準確布置的情況下降低了工作的復雜度和數(shù)據(jù)信息的存儲量。
船舶管線主要由內(nèi)徑、壁厚、長度和起終點位置4個特征值決定。在計算機識別模型過程中,起終點會簡化為一個點,因此本文針對船舶管線,在建立模型時將其簡化為管線中心線所對應的直線,忽略其直徑和壁厚,在實際管線布置時再將其復原。
相對于傳統(tǒng)的機器人[14]和無人機路徑規(guī)劃[15],三維空間內(nèi)的船舶管路布置的約束條件更多,包括經(jīng)濟性約束、物理性約束、安裝性約束、安全性約束和美觀性約束等。本文考慮的約束如下:①管路需要連接指定管路接口點,保證管路的連通性與合法性;②管線總長度要盡可能短,降低管材費用;③管線中的拐角數(shù)應盡可能少,降低彎頭用量;④保證管線與管線、管線與設備障礙物之間不發(fā)生物理性穿插;⑤原則上管線應盡量沿艙壁、艙底以及可支撐設備表面,遠離危險設備來安裝,以減少安裝費用,降低設備振動對管線的影響以及風險概率[16]。
其中①~④屬于剛性約束,管線布置時必須滿足,本文通過設置設備障礙物和重新設計代價函數(shù)來實現(xiàn);⑤屬于柔性約束,應盡可能滿足,本文通過在柵格中賦予能量值,在代價函數(shù)中引入能量代價來實現(xiàn)。
按照船舶管線布置空間內(nèi)存在的約束不同,可將整個布置空間分割為不同的布置區(qū)域,只需要對每個布置區(qū)域分別進行管線智能布置即可[17]。采用能量值和狀態(tài)值兩個評價指標,對各個布置區(qū)域進行描述,供計算機識別。
首先對船舶管線布置空間采用平行包絡盒法進行包絡處理,進而將船舶管線布置空間均勻劃分為一定數(shù)目的柵格[18],選取包絡盒的任意頂點作為坐標原點建立三維空間坐標系,每一個柵格必定有唯一與其相對應的空間坐標[19]。按照柵格是否被設備障礙物占據(jù)分為可用柵格和不可用柵格[20]。
在可用柵格中,又按照是否希望管線通過分為優(yōu)先可用柵格、普通可用柵格和候補可用柵格,分別對應不同的能量值。約束條件中要求管線盡量沿艙壁、艙底或者可支撐障礙物表面安裝,則艙壁、艙底或者可支撐障礙物表面所對應的柵格便屬于優(yōu)先可用柵格,更適合布置管線,設置其對應的能量值相對較小,布置時優(yōu)先考慮;而某些區(qū)域希望盡量不布置管線,這些區(qū)域?qū)谋闶呛蜓a可用柵格,其能量值相對較大,相對而言不太適合布置管線;其他普通可布置區(qū)域?qū)谋闶瞧胀捎脰鸥瘛?/p>
Astar算法屬于確定性智能尋徑算法[21],是對Best-First算法的一種改進,核心思想是廣義搜索,利用open表和close表對節(jié)點進行剪枝,同時利用啟發(fā)式代價函數(shù)來選擇最優(yōu)的擴展節(jié)點[22]。相對Best-First算法,搜尋節(jié)點更少,搜尋時間更短,適用性良好。Astar算法的步驟如下。
(1)初始時刻,把起點作為當前點C,將其加入open表。
(2)從open表取出當前點C放入close表。
(3)對當前點C的所有相鄰節(jié)點進行搜尋,若某相鄰節(jié)點既不在open表,也不在close表,計算該節(jié)點的F值后將其設為父節(jié)點,并將其加入open表。
(4)對open表是否為空進行判斷,若為空則尋路失敗;若不為空,則進行下一步驟。
(5)從open表中取出F值最小的節(jié)點,并將其放入close表,搜尋其可走的相鄰節(jié)點,將這些相鄰節(jié)點中不在open表中的節(jié)點加入其中。此時把F值最小節(jié)點認定為這些選取的相鄰節(jié)點的父節(jié)點。
(6)判別該F值最小節(jié)點是否為終點,若是,搜尋成功,結(jié)束搜尋;否則繼續(xù)。
(7)將該F值最小節(jié)點設為當前點C,跳回步驟(3)。其中F=G+H,G等于從起點移動到當前節(jié)點的移動代價,H等于從當前節(jié)點移動到終點的估算代價。
關(guān)于估算代價H的計算,主要有3種方法[23-24]。
(1)曼哈頓距離。從當前節(jié)點僅僅只能向上下左右4個方向進行搜尋,不能向其他方向進行搜尋移動,其距離計算公式為
d=(x2-x1)+(y2-y1)
(1)
(2)對角線距離。從當前節(jié)點可以朝著上下左右和4個45°對角線方向進行搜尋,其距離為
(2)
(3)歐幾里得距離。從當前節(jié)點可以朝著任意角度的幾何方向進行搜尋,其計算公式與對角線距離公式相同。
在傳統(tǒng)Astar算法路徑規(guī)劃中,大都是以線路的路程最短作為優(yōu)化目標。本文根據(jù)實際約束條件,把管線總體長度最短、彎頭數(shù)最少、不穿越設備障礙物、盡可能貼合船艙內(nèi)壁等可依附表面、遠離危險設備作為算法的優(yōu)化目標。由于優(yōu)化目標發(fā)生了改變,傳統(tǒng)Astar算法的代價函數(shù)不再適用,本文對于代價函數(shù)進行優(yōu)化改進。
2.2.1 當前移動代價
傳統(tǒng)Astar算法的代價函數(shù)Fn的計算公式為
Fn=Gn+Hn
(3)
式中:Gn為從起點到當前節(jié)點的移動代價;Hn為從當前節(jié)點移動到目標節(jié)點的預估移動代價;n為當前節(jié)點編號。
在過往路徑規(guī)劃研究中,Gn的求解函數(shù)為
Gn=D
(4)
式中D為船舶管線的總距離長度,每移動一個柵格,就要加上一個柵格邊長。
Gn的求解函數(shù)僅僅以距離最短作為目標,并未考慮其他因素,而在船舶管線中,管線彎頭的價格要遠遠高于等價長度的普通管線,因此有必要把彎頭數(shù)目加入到Gn的求解函數(shù)中,優(yōu)化后的當前移動代價Gn的求解函數(shù)為
Gn=αD+βB
(5)
式中:B為彎頭數(shù),也就是管線布置后的路徑轉(zhuǎn)彎次數(shù);α、β為常數(shù),分別代表普通管線價格和彎頭價格對應的代價因子。
2.2.2 預估移動代價
Hn表示從當前節(jié)點移動到目標節(jié)點的預估移動代價,Hn是啟發(fā)式搜索中最重要的部分,控制著Astar算法的行為特征,當Hn為0時,Fn=Gn,Astar算法轉(zhuǎn)變?yōu)镈ijkstra算法,此時尋找的路徑最短;相反,如果Hn遠遠大于Gn,此時Gn的作用基本被削弱消失,只有Hn起作用,Astar轉(zhuǎn)變?yōu)閺V度優(yōu)先搜索算法(也稱寬度優(yōu)先搜索,通常簡寫為BFS)。
預估移動代價Hn與從當前節(jié)點到終點實際代價的大小關(guān)系決定了路線規(guī)劃的精度和速度。若Hn大于實際代價,此時搜索運算速度較快,可精度較低,無法保證搜尋到的路線為最短路線;若Hn等于實際代價,此時能夠搜尋到一條最佳路徑,并且不擴充無用節(jié)點,是一種理想情況,不過往往難以實現(xiàn);若Hn小于實際代價,此時能夠保證搜尋到一條最短路線,Hn的數(shù)值越小,擴充的節(jié)點越多,搜尋速度越慢。在實際鋪設管線時,可根據(jù)要求的搜索精度和速度,靈活設定Hn。
通過對曼哈頓、對角線和歐幾里得這3種距離計算公式對比可知,對角線、歐幾里得距離均會出現(xiàn)傾斜管線,不符合船舶管線實際鋪設的規(guī)范約束,因此船舶管線智能布置應該選擇曼哈頓距離求解預估移動代價。
曼哈頓距離計算公式針對的是二維空間,不再適用于三維空間內(nèi)的船舶管線布置,因此優(yōu)化曼哈頓距離計算公式為
Hn=|Xd-Xn|+|Yd-Yn|+|Zd-Zn|
(6)
式中:下角標d、n分別表征終點和當前節(jié)點編號,即終點坐標是(Xd,Yd,Zd),當前節(jié)點坐標是(Xn,Yn,Zn)。
2.2.3 能量代價
為使布置的管線盡可能滿足約束條件⑤,在優(yōu)化Astar算法的代價函數(shù)中引入能量代價En,其計算方法為從起點到當前節(jié)點經(jīng)過的所有節(jié)點的能量代價之和,計算公式為
(7)
式中:n為當前節(jié)點編號;s為管線起點;ei為節(jié)點i對應的能量值;γ為常數(shù),代表能量值對應的代價因子。
綜上,優(yōu)化Astar算法的代價函數(shù)計算公式為
|Xd-Xn|+|Yd-Yn|+|Zd-Zn|
(8)
2.2.4 搜尋方向
對船舶管線的布置空間建立柵格后,每一個節(jié)點都相應對應著一個柵格,與空間中任意一個節(jié)點和至少3~6個節(jié)點相鄰。
空間中任意兩個節(jié)點的坐標在X、Y、Z方向的大小關(guān)系分別有大于和小于兩種,根據(jù)3個方向坐標的大小關(guān)系排列組合后,空間中任意兩個節(jié)點共有8(2×2×2)種位置關(guān)系。相應地,當選擇的管線起點和終點不同時,也分為這8種情況,起點和終點之間的空間相對位置關(guān)系發(fā)生變化時,管線路徑搜尋的結(jié)果或者速率也必然發(fā)生改變。
在確定起點和終點的位置過后,可對每個搜索方向賦予一個方向搜索概率系數(shù),代表著在眾多搜索方向中選擇該方向的概率值。方向搜索概率系數(shù)調(diào)整的具體實現(xiàn)方式為:在程序中設定一個列表([1,0,0],[0,1,0],[-1,0,0],[0,-1,0],[0,0,1],[0,0,-1]),列表中的每一個元素對應一個搜索方向,例如[1,0,0]代表搜索方向為X軸正方向。通過改變列表內(nèi)部代表不同搜索方向的元素個數(shù)來調(diào)整方向搜索概率系數(shù),例如[1,0,0],[1,0,0],[1,0,0],[0,1,0],[-1,0,0],[0,-1,0],[0,0,1],[0,0,-1],內(nèi)部有3個代表X軸正方向的元素[1,0,0],代表其余搜索方向的元素各一個,此時X軸正方向的方向搜索概率系數(shù)為3/8,代表著從當前節(jié)點向下一節(jié)點搜索時有37.5%的概率向X軸正方向進行搜尋。在已知管線起終點相對位置關(guān)系的情況下,通過合理地設置不同方向的方向搜尋概率,可提高路徑節(jié)點搜索時向終點方向搜索的趨勢,進一步提高管線布置的確定性和路徑搜索效率。本文提出的優(yōu)化Astar算法具體流程如圖1所示。
圖1 優(yōu)化Astar算法流程
為驗證優(yōu)化Astar算法在船舶管線布置中的可行性,在windows 10環(huán)境下,通過pycharm平臺用python語言進行編譯實現(xiàn)上述算法。首先建立了一個100×100×100的船舶管線布置空間,采用柵格法對布置空間進行等分,設定柵格邊長為1,共生成100萬個柵格細胞?;谇拔乃龅脑O備簡化方法,在空間內(nèi)搭建了一定數(shù)量的設備障礙物,各障礙物信息如表1所示,其中1號設備障礙物由1_1和1_2兩部分組成。
表1 障礙物位置坐標表
基于上表障礙物數(shù)據(jù)建立的船舶三維管線布置空間如圖2所示。建立了三維管線布置空間后,設置管線布置的起點坐標為(100,100,0),終點坐標為(0,0,100)。基于大量的模擬總結(jié),綜合考慮各參數(shù)對于管線布置的影響,最終初步選定相關(guān)優(yōu)化Astar算法的參數(shù)如表2所示。
圖2 布置空間三維模型
表2 優(yōu)化Astar算法參數(shù)設置
基于前文所建立的船舶管線三維布置空間模型和設置的相關(guān)參數(shù)數(shù)值,分別采用傳統(tǒng)Astar算法和優(yōu)化Astar算法進行管線布置仿真,布置結(jié)果如圖3、圖4所示,表3為兩種算法管線布置結(jié)果的部分信息對比。
圖3 采用傳統(tǒng)Astar算法的布置結(jié)果
圖4 采用優(yōu)化Astar算法的布置結(jié)果
表3 傳統(tǒng)Astar算法和優(yōu)化Astar算法的布置結(jié)果對比
通過對比圖3和圖4的管線布置結(jié)果,不難發(fā)現(xiàn),兩種算法雖然都能夠搜尋到一條從起點至終點不經(jīng)過障礙物的管線鋪設路徑,但傳統(tǒng)Astar算法搜尋的管線鋪設路徑拐角個數(shù)高達31個,不僅影響布置美觀性,更增加了管線與管線之間發(fā)生干涉的概率,而優(yōu)化Astar算法管線布置結(jié)果更加符合實際的船舶三維管線布置情況,拐角較少,并且在搜尋時間和路徑節(jié)點數(shù)上,優(yōu)化Astar算法均小于傳統(tǒng)Astar算法,說明優(yōu)化Astar算法的管線布置效率和質(zhì)量均優(yōu)于傳統(tǒng)Astar算法,證明本研究方案的先進性。
基于本文算法對文獻[25]中的案例進行了仿真運算,結(jié)果如圖5所示,文獻[25]的管線布置結(jié)果如圖6所示。將兩種算法結(jié)果進行對比,結(jié)果如表4所示,可知相對于文獻[25]中遺傳算法的布置結(jié)果,本文布置的管路結(jié)果具有更少的拐角數(shù)、更短的搜尋時間即更快的運行效率,但是管路布置結(jié)果沒有文獻[25]豐富,可選擇性略低。本文布置的結(jié)果在符合相關(guān)約束條件下經(jīng)濟性良好,由此可見其布置結(jié)果質(zhì)量較高,沒有過多的布置方案帶來的影響微乎其微,由此可證明本文船舶管線布置算法的優(yōu)越性。本文在后續(xù)仿真案例部分沒有采用文獻[25]的案例信息,主要是因為本文需要對能量值和方向概率函數(shù)對于管線布置結(jié)果進行驗證,而文獻[25]的案例中障礙物所占空間體積的比例較低,不能很好體現(xiàn)能量值和方向概率函數(shù)對于管線布置結(jié)果的影響。
圖5 本文算法對文獻[25]中的案例仿真運算的結(jié)果
圖6 文獻[25]的管線布置結(jié)果
表4 本文算法和遺傳算法的布置結(jié)果對比
本文在代價函數(shù)加入了能量代價,以此希望布置的船舶管線盡可能貼合船艙內(nèi)壁等可貼合表面,遠離相對危險設備,即通過盡可能多的優(yōu)先可用柵格,通過盡可能少的候補可用柵格。設定默認情況下,普通可用柵格的能量值都為1。設定1號設備障礙物(1_1號障礙物和1_2號障礙物組合構(gòu)成)為柴油機時,相對管線而言存在一定風險,希望管線盡可能遠離,因此把1號設備障礙物表面柵格能量值設定為10,此時基于文模型信息所建立的管線布置結(jié)果如圖7所示。
圖7 一號障礙物表面為高能量值時的布置結(jié)果
設定1號設備障礙物為儲物間,相對管線而言是可依附設備,把1號設備障礙物表面柵格能量值設定為0.1,其他柵格的能量值仍默認為1,此時管線的布置結(jié)果如圖8所示。
圖8 一號障礙物表面為低能量值時的布置結(jié)果
通過對1號障礙物表面設定不同的能量值,得到了不同的管線布置結(jié)果,驗證了柵格能量值對于管線布置的影響,證明了在代價函數(shù)中引入能量代價的科學性和必要性。
在管線布置時,每個節(jié)點向下一個節(jié)點搜尋時,分別有X軸正負方向、Y軸正負方向和Z軸正負方向6個方向可選擇,默認情況下各方向選擇概率相同。為研究方向選擇概率對于管線布置的影響,通過控制變量法,設置不同的方向選擇概率進行多次模擬實驗。以Y軸作為研究對象,設置兩組對照組,在對照組A中,不斷增大Y軸正方向的選擇概率,其余5個方向選擇概率不斷減小且均等,如表5所示;在對照組B中,不斷增大Y軸負方向的選擇概率,其他5個方向選擇概率不斷減小且均等,如表6所示。同理,X軸和Z軸同樣利用改變相應方向選擇概率進行實驗,具體改變數(shù)值與對照組A、B保持一致?;谇拔慕⒌牟贾每臻g模型和設置的相關(guān)參數(shù),模擬實驗、記錄搜尋節(jié)點個數(shù)、搜尋時間、搜尋路徑節(jié)點數(shù)和拐角數(shù)等數(shù)據(jù)進行對比。
表5 對照組A的方向選擇概率
通過程序算法的不斷模擬運算,得到了管線布置運行時間與方向選擇概率的關(guān)系曲線,分別如圖9、圖10所示,管線最終布置結(jié)果分別如圖11、圖12所示。
圖9 增大遠離終點的方向概率時的搜尋時間
圖10 增大靠近終點的方向概率時的搜尋時間
圖11 增大Y軸負半軸選擇概率的布置結(jié)果
圖12 增大Y軸正半軸選擇概率的布置結(jié)果
通過觀察,可以得到以下結(jié)論:當靠近終點的方向選擇概率不斷增加時,即不斷增大X軸負方向、Y軸負方向和Z軸正方向的方向選擇概率,此時管線布置的搜尋時間并不會發(fā)生明顯變化;相反地,當遠離終點的方向選擇概率不斷增加時,即不斷增大X軸正方向、Y軸正方向和Z軸負方向的選擇概率,管線布置的路徑搜尋時間大幅度增加。并且當方向選擇概率發(fā)生改變時,管線的布置結(jié)果也會發(fā)生改變,可利用該特點,合理設置方向選擇概率,可提高路徑節(jié)點搜索時向終點方向搜索的趨勢性,進一步提高管線布置的確定性和效率。
表6 對照組B的方向選擇概率
針對傳統(tǒng)Astar算法在船舶管路布置時出現(xiàn)的問題,提出了一種船舶管線智能布置的優(yōu)化Astar算法?;诠芫€長度、拐角個數(shù)和柵格能量值對傳統(tǒng)Astar算法的代價函數(shù)進行重新設計,并引入方向概率系數(shù)和能量值提高管線布置結(jié)果的確定性。通過仿真模擬探究了優(yōu)化Astar算法的優(yōu)勢以及方向概率系數(shù)和能量值對于管線布置速率和質(zhì)量的影響。主要結(jié)論如下。
(1)與傳統(tǒng)Astar算法和遺傳算法相比,本文的優(yōu)化Astar算法進行船舶管線布置時的拐角個數(shù)分別減少了87%、50%。因為管線彎頭的價格要遠遠高于等價長度的普通管線,本算法進一步降低了管線布置的成本,同時提高了管線布置的美觀性。
(2)與傳統(tǒng)Astar算法和遺傳算法相比,本文的優(yōu)化Astar算法的路徑搜尋時間分別降低了67.5%、51.5%,進一步提高了管線布置效率。
(3)與傳統(tǒng)Astar算法相比,本文的優(yōu)化Astar算法生成的船舶管線長度減小了49.8%,降低了管線的布置成本。