隋海騰,牛文鐵
(天津大學機構理論與裝備設計教育部重點實驗室,天津 300072)
基于迷宮算法和遺傳算法的船舶管路路徑規劃
隋海騰,牛文鐵
(天津大學機構理論與裝備設計教育部重點實驗室,天津300072)
船舶管路的多樣性和布局環境中約束的復雜性導致管路設計效率低下.為輔助設計人員提高管路設計效率并減少人為錯誤,提出了一種新的管路設計方法.首先,基于軸平行包圍盒簡化管路布局空間,利用柵格法對其進行離散化,并賦予空間網格特定的能量值,構建管路布局優化問題的數學模型.其次,基于遺傳算法的框架,引入改進迷宮算法,提出管路路徑規劃方法,其中:迷宮搜索中引入輔助點的概念,增加了遺傳算法中初始種群的多樣性,有利于提高遺傳算法的全局搜索能力;提出了定長度的編碼方法,簡化了管路染色體處理難度,提高了算法性能;基于引入方向優先搜索策略的迷宮算法,設計定長度編碼遺傳算子,保證了子代個體的質量,提高算法的收斂速度.最后,基于仿真試驗,驗證算法的性能.試驗結果表明了該方法的可行性和高效率,以及其對實際管路布局工作具有指導意義.
管路布局;迷宮算法;遺傳算法;定長度編碼
從20世紀70年代起,管路布局設計問題已經在諸如航空發動機、大規模集成電路及船舶機艙等工業領域成為一個熱門的研究課題.管路設計是船舶設計過程中至關重要的部分.由于布局空間結構的復雜性、管路數量眾多以及各種設計約束等,船舶管路布局工作復雜而耗時[1].因此,需要一種智能優化設計方法輔助設計人員提高設計效率,減少設計過程中的人為錯誤.
在路徑規劃問題的研究中,傳統的搜索算法包括Dijkstra算法[2]、迷宮算法[3-4]等.其中迷宮算法是經典的布線算法,在管路解存在的條件下,迷宮算法一定能找到最優解;但當搜索空間的范圍增大時,迷宮算法則需要大量的數據存儲空間,其搜索效率降低.對此,Hightower[5]提出了逃逸算法,有效提高了算法的搜索效率,但是難以保證搜索到最短路徑.近年來,現代優化算法[6-16]的發展推動了管路路徑規劃算法的進一步研究,遺傳算法[6-9]是具有代表性的一種算法.Ito[6]應用遺傳算法對二維空間的管路布局問題進行了系列的研究,提出變長度的編碼方法,引入空間能量的概念,取得了較好的仿真驗證結果.范小寧等[8]基于遺傳算法提出了變長度編碼的交叉變異方法,求解三維空間管路布局問題,其仿真實例也驗證了算法的有效性.但是,變長度編碼易產生過分冗長的管路,而這些管路對更優管路的搜索意義不大,造成程序設計復雜,影響算法效率.此外,專家系統法也被廣泛應用于管路布局的實踐中.
針對上述問題,本文在對簡化布局空間進行網格劃分并完成網格能量值分布的基礎之上,構建了管路布局優化問題的數學模型.進一步將改進的迷宮算法與遺傳算法相結合,提出一種優化設計方法解決管路路徑規劃問題.引入輔助點改進迷宮算法保證了初始種群的多樣性,保證了管路編碼的連續并且沒有重復基因段.在此基礎上,提出了定長度的管路染色體編碼方法,并結合基于引入方向優先搜索策略的迷宮算法設計相應的操作算子,提高了遺傳算法的性能.仿真試驗驗證了算法的有效性和可行性.
船舶艙室空間有限,布局環境復雜,而且管路系統復雜,在管路布局過程中需要滿足多種約束.其中主要的約束有障礙躲避、管路長度最短、管路彎頭數最少、保證管路間的安全距離及管路支架的公用性等.本文考慮的管路布局的評價標準為管路總長度最短、彎頭數最少和管路的并行性好;將障礙躲避等作為管路布局優化問題的約束條件.針對以上的評價標準與約束條件,首先闡述了布局空間的數學描述方法,并在此基礎之上構成了管路布局優化問題的數學模型.
1.1布局空間表達
船舶管路布局空間的表達指對布局環境中船舶設備、管路的實體模型的數學描述,其首要任務是進行空間劃分.本文利用軸平行包圍盒對布局空間進行包絡,并將其分解為m×n×l個均等的網格細胞.選定包圍盒某一頂點作為坐標原點,并設定其坐標值為(1,1,1),則其他各個網格細胞的坐標由其與原點網格的相對位置關系決定,換句話說,當前網格所處的行、列、層即為其坐標值.同時,各個網格細胞也被賦予了一個默認的標定值“0”,代表了布局環境中的可行布局空間.工作空間中的船舶設備、已生成的管路等都是布局過程中的障礙,其所占據的網格被賦予一個標定值“#”,代表工作環境中的不可行空間.完整地表達設備、管路的模型信息需要大量的存儲空間,影響算法的運行效率.據此,本文利用軸平行包圍盒對船舶設備進行包絡,極大地簡化了模型的表達;同時,對于生成的管路,本文也將其圓形橫截面處理為矩形橫截面.鑒于網格劃分的精度和各障礙在工作空間中的位置差異性,每個網格細胞存在3種狀態:空、完全被占據和部分被占據.文中將部分被占據的網格細胞視為完全占據,并賦予標定值“#”.圖1為一個簡化布局空間網格劃分后對布局障礙和生成管路進行表達的例子.

圖1 布局空間表達示例Fig.1 An example for representation of layout space
基于上述空間劃分方法,管路路徑即被定義為一條從起始點到終止點、由一系列相互鄰接網格組成的折線段,并假定管路的中軸線穿過各網格點的中心.一條管路路徑的編碼即與其所穿過的網格細胞相對應的坐標值構成的序列,其中,路徑的始、末點即為船舶設備的進、出口.但是,采用上述的簡化方法對設備模型進行簡化之后,會導致設備進、出口被包含在模型內,因此,將設備的原進、出口沿中心軸線向外延伸至模型外部的鄰接網格,并以此網格作為新的管路接口點.
1.2能量值分布
在管路布局設計過程中,2條或者多條管路并行時,可以共享管路支架,降低管路安裝的費用.為了便于對管路并行性的優劣進行評價,文中對布局空間中劃分的網格細胞賦予特定的能量值,表示該網格的優先權值[6].本文假定,能量值越低,管路穿過該區域的消耗越小,該網格的優先權值越大.對于不可行布局空間所包含的網格細胞,其默認能量值為E∞;對于可行布局空間包含的所有網格細胞,其能量值的默認值為E.當布局空間中存在已生成的管路時,管路本身所穿過的網格細胞的能量值為“無窮”,但其周圍網格細胞的能量值根據距離差異被賦予不同的能量值Ei(Ei<E).圖2為一個對管路周圍網格細胞能量值進行賦值的例子.

圖2 布局空間網格能量值評估示例Fig.2 An example for evaluation of energy value of grid cells
1.3優化數學模型的建立
有以上的介紹可知,船舶管路路徑尋優問題是典型的多目標優化問題,其本質是尋找一組滿足約束條件并使評價函數得到最優組合的解.本文根據工程設計經驗,對各個評價目標賦予一個權值,將復雜的多目標優化問題轉換為單目標優化問題,并將迷宮算法和遺傳算法相結合對其進行求解.依據評價標準,確定優化問題的目標函數Obj(f),見式(1),并將此目標函數直接作為后文優化算法中的適應度函數.

其中:c1,c2和c3為與各目標函數相關的權重值,它們的值取決于優化問題中目標函數的重要性,且與設計人員對多個目標函數的權衡相關;Lp為管路路徑的總長度,Bp為管路路徑的拐彎次數,Ep為管路路徑所穿過的網格細胞能量值的總和.
為解決方向優先搜索策略存在的易產生無效管路而導致需要大量修補工作的問題,本文將迷宮算法和遺傳算法相結合,提出了一種新的管路路徑規劃方法.利用改進迷宮算法生成少量的初始種群,迷宮算法擴展編碼的連續性有效保證了種群中個體的有效性;而且,相比單純利用迷宮算法搜索所有可行路徑后比較選出最優解的方法,遺傳算法所需的種群規模非常小,用以生成初始種群的迷宮算法的搜索效率也是可以接受的.在此基礎之上,利用遺傳算法對初始種群進行優化,并最終得出綜合最優解.圖3為利用優化算法進行路徑規劃的流程圖,其中,gen表示遺傳代數,max gen表示設定的最大遺傳代數.

圖3 路徑規劃算法流程圖Fig.3 Flow chart of pipe routing algorithm
2.1迷宮算法的改進
2.1.1迷宮算法概述
迷宮算法是經典的路徑搜索算法,主要包括擴展搜索和回溯兩個過程.
擴展搜索是指從一個網格細胞到另一個相鄰網格細胞的擴張過程,并且對到達的網格賦予特定的標定值進行標記.擴展搜索持續進行直到找到目標網格點,其中擴展過程與網格標記的規則如下:
1)初始網格標記為1;
2)只有當前網格相鄰的可行空間網格可以被標記,其標定值為當前網格標定值加1;
3)當前搜索到的網格已經標記,則取較小的值作為其標定值.
回溯過程是從目標點到起始點的反向搜索過程.回溯的方向取為網格標記值減少的方向,每次遍歷1個網格細胞,直到找到起始網格點.則由起始點到終止點的網格坐標編碼構成了一條可行并且無重復路徑段的聯通路徑.
2.1.2輔助點的引入
由于迷宮算法的編碼特性,直接利用迷宮算法可以對由以始、末點為對角頂點構成的空間S進行全局的搜索,但卻難以到達除此之外的布局空間.另外,試驗發現,在利用迷宮算法進行路徑搜索過程中存在與單純方向優先搜索策略相同的問題:可行解多集中于始、末點對角連接線附近,而無法均勻遍布布局空間[6].因此,本文在布局空間中引入了輔助點的概念.以圖4為例,空間S分別沿著坐標軸的方向進行適當擴充得到S′,為了能夠遍歷S′中所有的區域,增加管路多樣性,在S′中的可行空間中隨機產生一個輔助點P.以原起始點為起點,P點為終點,利用迷宮算法生成一條可行的輔助路徑A-P1;然后以P點為起點,原終止點為終點,產生另一條可行的輔助路徑A-P2;將2條路徑連接,便構成了一條新的有效的路徑.輔助點的引入擴大了迷宮算法的搜索范圍,增加了可行管路的多樣性,有助于算法搜尋到最優的管路段,提高算法的搜索效率.

圖4 輔助點的引入Fig.4 Introduction of auxiliary point
2.2定長度編碼
在改進迷宮算法的基礎之上,結合迷宮算法自身的特點,本文提出了管路染色體的定長度編碼策略.一般地,在由始、末點所構成的布局空間S中可以搜索到有效的管路路徑,因此本文假定擴展的空間即S′-S是無障礙的.由迷宮算法的搜索原理易知,利用其在布局空間S中搜索到的路徑長度是相同的.但在擴展空間中,由于輔助點位置的差異性,管路路徑的長度也會有所不同,并且有一個最大長度值.為了找到這個最大的長度值,分別選取擴展空間中的8個頂點作為輔助點,與原始末點共同構造出可行的聯通路徑,并比較其路徑長度,得出最大值.此最大值即為遺傳算法過程中染色體編碼的固定長度值.
本文提出的定長度編碼方法只需在遺傳操作進行之前進行1次,不會顯著增加算法的計算量,影響算法的運行效率.而且,定長度編碼克服了變長度編碼在遺傳操作過程中程序設計復雜、運行效率低等缺陷,有助于提高算法的收斂效率.
2.3遺傳算子
2.3.1選擇算子
本文采用的選擇方法為隨機聯賽選擇機制,其具體操作過程如下:從種群中隨機選擇N個個體進行適應度大小比較,將其中適應度最高的個體遺傳到下一代,此處N=2;重復上述過程n次,便得到了包含n個個體的下一代種群.但是,單純采用聯賽選擇機制可能會造成最優個體的丟失,因此,引入最優個體保留策略,不失種群多樣性的同時保證了最優個體的優先權.
2.3.2交叉算子
傳統的單點交叉操作是隨機選擇一個染色體串的節點位置,然后交換2個父代染色體節點右端部分來產生2個子代個體.在此基礎之上,結合范小寧等[8]所提出的變長度編碼交叉方法,本文提出了基于定長度編碼的交叉策略.此部分以圖5為例來說明定長度編碼的交叉策略:隨機選定2個父代染色體Parent 1和Parent 2;分別在2個父代染色體上選擇2個交叉點,本例假設Parent 1上的交叉點為(1,5,3),Parent 2上的交叉點為(1,2,1);分別以這2個交叉點為始、末點,利用改進迷宮算法生成一條輔助路徑Mid-path 1,并與父代染色體重新結合生成2個子代個體Child 1和Child 2,結合方法如圖5所示.本例中,子代染色體Child 1長度在限定長度內,不足位置由0補充;子代染色體Child 2的長度超過了限定長度,直接刪除.

圖5 定長度編碼交叉方法Fig.5 Crossover based on fixed-length coding method
其中,此處的迷宮算法不同于初始路徑生成時采用的改進迷宮算法,在擴展過程結束后,算法的回溯過程采用方向優先的搜索策略:利用2個點的位置關系確定優選方向的矢量,隨機選擇初始方向,沿網格值減小的方向搜索,遇到障礙后改變回溯方向,直到找到終止點形成一條有效的聯通路徑作為子路徑;若多次改變方向仍無法找到有效的聯通路徑,則重新選擇交叉點,重復以上操作,直到找到可行的路徑. 2.3.3 變異算子
在基本位變異的思想的基礎上,結合變長度編碼變異方法[8],提出了基于定長度編碼的變異策略.以圖6為例詳細敘述該策略的實現過程:隨機選定一個父代染色體Parent 3;在父代染色體上隨機選擇2個變異點,本例假設選定的變異點為(1,3,1)與(1,7,3);分別以這2個變異點作為始、末點,利用與交叉操作中相同的迷宮算法構造一條輔助路徑Midpath 2,并以該路徑替換父代染色體Parent 3上變異點間的基因段,生成一個子代染色體Child 3.同樣,若生成的子代個體長度超過了定長度編碼限定的長度,則直接將其刪除,不計入子種群當中.

圖6 定長度編碼變異方法Fig.6 Mutation based on fixed-length coding method
3.1布局空間建模
在Windows 7的環境下,利用MATLAB 2011b實現了上述管路路徑規劃算法.試驗建立了一個三維模擬空間Space-test,空間對角坐標為(1,1,1)和(50,50,50).利用布置在模擬空間Spacetest中的長方體塊模擬布局過程中的障礙,各長方體塊的對角坐標如表1所示.

表1 障礙對角坐標Table 1 Diagonal coordinates of obstacles
在確定了布局空間后,首先要對其進行網格劃分.本例的模擬空間Space-test被劃分為50×50× 50個網格細胞,并賦予默認標定值和能量值.對于長方體障礙空間中的網格,則將其標記為“#”,賦予其能量值為“∞”.為充分檢驗算法的性能,在模擬空間Space-test加入一條“已生成”直管路G-pipe,假定該管路路徑染色體編碼為:[(25,1,1);(25,1,2);(25,1,3);…;(25,1,50)],并依據前文所述能量值賦值方法對該管路及其周圍的網格細胞進行賦值.其中,默認能量值取為10,管路周圍網格能量值的范圍取為(2,6),偶數遞增.至此,完成了管路布局空間的構建.
3.2仿真、結果與分析
對模擬空間Space-test進行參數設置的基礎上,以公式(1)作為評價函數,利用本文提出的組合優化算法對以(1,1,1)和(50,50,50)為始、末點的管路路徑進行規劃求解.本例中各目標函數采用的計量單位均為1,多次試驗發現,當各目標函數的權值相同時,由于管路路徑的拐彎次數的取值相對于路徑總長度值和路徑穿過的網格細胞總能量值較小,其對總體適應度函數值的影響較小,易導致優化算法無法收斂到最優解.因此,需適當增加目標函數的Bp權值大小,并減小目標函數Lp和Ep權值的大小.基于大量的試驗總結,并考慮到各目標函數對優化結果影響的均衡性,最終將各目標函數的權值c1,c2,c3依次確定為0.01,0.97,0.02.遺傳算法的參數如表2所示.

表2 遺傳算法的參數Table 2 Parameters of the genetic algorithm
算法的進化過程如圖7所示,其中,圖示中x,y,z坐標軸表示了布局空間中管路的位置坐標值.參考圖7(a)可知,輔助點的引入增加了初始種群的多樣性,并使得管路能夠遍布整個布局空間,為得出最優管路奠定了良好的基礎.圖7(b)為算法收斂曲線圖,其中橫坐標為遺傳代數,縱坐標為適應度函數值.可見,最優個體保留策略保留了當代的最優個體,有助于算法向最優解收斂;算法在23代左右收斂,證明了算法具有良好的收斂性能.圖7(c)為依據得到的最優路徑編碼繪制的三維路線圖,作為比較,在布局空間Space-test中去除“已生成”管路G-pipe,則利用路徑規劃算法對其求解,得出的可能最優管路路徑圖如圖7(d)所示.比較發現,所提出的算法能夠有效地找到一條長度最短、拐彎次數最少并且具有良好并行性的綜合最優管路.

圖7 優化算法路徑規劃進程Fig.7 Optimization procedure of pipe routing algorithm
為進一步驗證算法的效率,采用文獻[8]中的例子進行對比試驗,如圖8所示.測試結果顯示,在相同的測試條件下,本文的規劃算法平均迭代10次即可收斂,文獻[8]平均迭代60次;得到路徑圖如圖8(a)所示,圖8(b)為某次算法運行過程的收斂曲線圖.對比試驗結果,充分驗證了改進迷宮算法對提高算法搜索效率的顯著效果,也證明了所提出的路徑規劃算法具有較快的收斂速度和較高的搜索效率.

圖8 比較案例優化進程Fig.8 Optimization procedure of a comparative case
結合布局空間參數設置和優化算法得到最優管路,其仿真試驗三維實體模型示意圖如圖9所示.應當注意,試驗中的模型是對實際布局空間的一種簡化,因此布局結果可能與實際的管路布局存在一定的差距.但試驗結果表明了算法可以獲得一定約束條件下的綜合最優解,可以對設計人員的管路布局工作提供有效的參考,提高其工作效率,因此該算法對實際布局工作具有一定的指導意義.
以上算法主要是針對兩點管路進行路徑規劃,在此基礎上,進行適當擴展即可對分支管路路徑進行規劃.在處理分支管路路徑問題時,可以將分支管路視為若干個兩點管路,以最短重合路徑為評價標準并設計相應的遺傳算子,利用優化算法進行優化,從而得出近優解.不難看出,本文所提出的算法為分支管路路徑規劃問題的研究奠定了良好的基礎.

圖9 仿真環境管路布局結果Fig.9 Pipe layout result of simulation environment
本文將改進的迷宮算法與遺傳算法相結合,提出了一種新的船舶管路布局方法.迷宮算法的應用保證了管路編碼的連續性和無重復性,輔助點的引入增加了初始種群的多樣性,有利于算法搜索效率的提升.基于此,提出了定長度的編碼方法,結合基于引入方向優先搜索策略的迷宮算法,設計了相應的遺傳操作算子.帶方向優先策略的迷宮算法加快了遺傳算法的收斂速度,提高了搜索算法的收斂性能.仿真試驗也表明所提出的算法能夠找到長度最短、拐彎次數最少及并行性好的綜合最優路徑,驗證了其可行性和效率,以及對實際管路布局工作的指導意義.
[1]PARK J H,STORCH R L.Pipe-routing algorithm development:case study of a ship engine room design[J]. Expert Systems with Applications,2002,23(3):299-309.
[2]DIJKSTRA E W.A note on two problems in connexion with graphs[J].Numerische Mathematik,1959,1(1):269-271.
[3]LEE C Y.An algorithm for path connections and its applications[J].Ire Transactions on Electronic Computers,1961,10(3):346-365.
[4]樊江,馬枚,楊曉光.航空發動機外部管路自動敷設研究[J].機械設計,2003,20(7):21-23.
FAN Jiang,MA Mei,YANG Xiao-guang.Research on automatic laying out for external pipeline of aero-engine[J].Journal of Machine Design,2003,20(7):21-23.
[5]HIGHTOWER D W.A solution to line routing problems on the continuous plane[C]//Proceedings of 6th Design Automation Workshop.IEEE,1969:1-24.
[6]ITO T.A genetic algorithm approach to piping route path planning[J].Journal of Intelligent Manufacturing,1999,10(1):103-114.
[7]ITO T.Developments in applied artificial intelligence[C].Berlin:Springer,2002:547-556.
[8]范小寧,林焰,紀卓尚.船舶管路三維布局優化的變長度編碼遺傳算法[J].中國造船,2007,48(1):82-90.
FAN Xiao-ning,LIN Yan,JI Zhuo-shang.A variable length coding genetic algorithm to ship pipe path routing optimization in 3Dspace[J].Shipbuilding of China,2007,48(1):82-90.
[9]SANDURKAR Sunand,WEI Chen.GAPRUS—genetic algorithms based pipe routing using tessellated objects[J].Computers in Industry,1999,38(3):209-223.
[10]REN Tao,ZHU Zhi-liang,DIMIROVSKI G M,et al.A new pipe routing method for aero-engines based on genetic algorithm[J].Proceedings of the Institution of Mechanical Engineers,Part G:Journal of Aerospace Engineering,2014,228(3):424-434.
[11]JIANG Wen-ying,LIN Yan,CHEN Ming,et al.An ant colony optimization-genetic algorithm approach for ship pipe route design[J].International Shipbuilding Progress,2014,61(3):163-183.
[12]范小寧,林焰,紀卓尚.多蟻群協進化的船舶多管路并行布局優化[J].上海交通大學學報,2009,43(2):193-197.
FAN Xiao-ning,LIN Yan,JI Zhuo-shang.Multi ant colony cooperative co-evolution for optimization of ship muti pipe parallel routing[J].Journal of Shanghai Jiaotong University,2009,43(2):193-197.
[13]LIU Qiang,WANG Chen-gen.A discrete particle swarm optimization algorithm for rectilinear branch pipe routing[J].Assembly Automation,2011,31(4):363-368.
[14]LIU Qiang,WANG Chen-gen.Pipe-assembly approach for aero-engines by modified particle swarm optimization[J].Assembly Automation,2010,30(4):365-377.
[15]LIU Qiang,WANG Chen-gen.Multi-terminal pipe routing by Steiner minimal tree and particle swarm optimization[J].Enterprise Information Systems,2012,6(3):315-327.
[16]KIM S H,RUY W,JANG B S.The development of a practical pipe auto-routing system in a shipbuilding CAD environment using network optimization[J].International Journal of Naval Architecture and Ocean Engineering,2013,5(3):468-477.
Ship pipe route planning method based on maze algorithm and genetic algorithm
SUI Hai-teng,NIU Wen-tie
(Key Laboratory of Mechanism Theory and Equipment Design of Ministry of Education,Tianjin University,Tianjin 300072,China)
The diversity of piping systems and complexity of constrains in layout space lead to the low efficiency of ship pipe design.A new pipe route planning method was proposed to improve the design efficiency and reduce human errors.Based on the simplified layout space,the mathematical model was firstly built by the discretization of the layout space and the specific energy value which was given to the spatial network.Based on the constructed mathematical model,the improved maze algorithm and genetic algorithm were then combined together to conduct pipe route planning.The concept of auxiliary point was introduced to improve the maze searching performance,which guaranteed the diversity of initial population and enhanced the global search ability of genetic algorithm.A fixed-length coding method was also proposed to simplify the difficulty in handling the pipe chromosomes and improve the performance of algorithm.The direction oriented strategy was applied in maze retracing process to design the genetic operators with fixed-length chromosomes,which not only guaranteed the quality of children chromosomes but also improved the convergence speed of the algorithm.The simulation results verify the feasibility and effectiveness of this approach,and prove the guiding significance of the approach to actual ship pipe route planning.
pipe route planning;maze algorithm;genetic algorithm;fixed-length coding method
U 662.9
A
1006-754X(2016)02-0188-07
10.3785/j.issn.1006-754X.2016.02.013
2015-05-08.本刊網址·在線期刊:http://www.journals.zju.edu.cn/gcsjxb
國家自然科學基金資助項目(51275340).
隋海騰(1989—),男,山東煙臺人,碩士生,從事設計理論與方法研究,E-mail:suihaitengtju@tju.edu.cn. http://orcid.org//0000-0002-3364-1715
牛文鐵(1971—),男,內蒙古赤峰人,副教授,博士,從事設計理論與方法及數控機床數字化設計研究,E-mail:niuwentie@tju.edu.cn.