一種船舶分支管路路徑規(guī)劃方法
【專利摘要】一種船舶分支管路路徑規(guī)劃方法:在對設備和管路模型簡化的基礎上,參考移動機器人路徑規(guī)劃中可見圖法構建兩點間網(wǎng)絡圖;設定包含N個連接點的分支管路,實現(xiàn)N個連接點間每兩點間網(wǎng)絡圖的構建,組合更新數(shù)據(jù)信息得到總的N個點間網(wǎng)絡圖;構建基于斯坦納點遺傳算法的種群,設置遺傳算法參數(shù)后開始迭代尋優(yōu);確定管路當量長度,賦予不同管路的不同權重系數(shù);利用距離啟發(fā)式算法評價每條染色體的適應值;判斷是否達到設定的迭代次數(shù);最優(yōu)路徑輸出,路徑規(guī)劃結束,更新儲存文檔中管路編碼信息,結合三維設計軟件,實現(xiàn)船舶分支管路的三維可視化。本發(fā)明具有很高的搜索效率,解決了分支管路的布局問題,能更好的滿足船舶管路路徑規(guī)劃的實際需要。
【專利說明】
一種船舶分支管路路徑規(guī)劃方法
技術領域
[0001] 本發(fā)明涉及一種路徑規(guī)劃方法。特別是涉及一種基于斯坦納樹與遺傳算法的船舶 分支管路路徑規(guī)劃方法。
【背景技術】
[0002] 管路規(guī)劃設計是液壓、船舶、航空航天、核電、化學工業(yè)等領域復雜機電裝備研發(fā) 與流程工業(yè)過程的重要組成部分。當前船舶管路規(guī)劃的研究重點在于:運用現(xiàn)代CAD/CAE技 術,同時結合智能算法,開發(fā)用于船舶行業(yè)的專家系統(tǒng)和智能設計工具。船舶管路規(guī)劃設計 就是根據(jù)特定的任務要求(路徑最短、拐彎次數(shù)最少或費時最短等)尋求一條連接起點與終 點且能避開布局空間障礙物的最優(yōu)路徑。目前,較多研究僅針對兩點間的管路連接,而較少 關注在實際工程中占船舶管路70%以上的多點分支管路。多點分支管路的連接問題可以描 述為圖論中的尋找最短斯坦納樹問題。最短斯坦納樹是組合優(yōu)化問題,與最小生成樹相似, 是最短網(wǎng)絡的一種。
[0003] 現(xiàn)有的分支管路設計方法有迷宮算法、協(xié)同進化遺傳算法、多種群蟻群算法等,這 些算法對于不同的優(yōu)化問題的處理效果各有優(yōu)缺點。但大多數(shù)都是建立在柵格法劃分空間 和啟發(fā)式搜索算法之上,難以取得良好的應用效果。遺傳算法是一種借鑒生物遺傳和進化 機制而發(fā)明的啟發(fā)式優(yōu)化算法,于1975年由美國密歇根大學教授John Hoi land創(chuàng)立。在利 用遺傳算法進行路徑規(guī)劃的應用中,典型的代表是日本學者Ito,他將遺傳算法應用于二維 平面的兩點管路路徑搜索,取得了突破性的進展。改進的遺傳算法結合斯坦納樹理論,使效 率與船舶布局空間大小無關,因此具有很高的實用價值。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術問題是,提供一種針對不同分支管路分解編碼、并行求解 的策略,能更好的滿足管路路徑規(guī)劃實際需要的船舶分支管路路徑規(guī)劃方法。
[0005] 本發(fā)明所采用的技術方案是:一種船舶分支管路路徑規(guī)劃方法,包括如下步驟:
[0006] 1)在對設備和管路模型簡化的基礎上,參考移動機器人路徑規(guī)劃中可見圖法構建 兩點間網(wǎng)絡圖,包括生成遇到障礙的各個節(jié)點,確定各節(jié)點間的邊長度,并存儲在圖G=(V, E)中,其中V儲存各節(jié)點信息,E儲存邊的信息;
[0007] 2)設定包含N個連接點的分支管路,依據(jù)各連接點的坐標值,構建包含N個連接點 的集合,忽略空間障礙,利用連接點位置信息,基于圖論中最小生成樹算法確定N個連接點 的連接順序,然后實現(xiàn)N個連接點間每兩點間網(wǎng)絡圖的構建,組合更新數(shù)據(jù)信息得到總的N 個點間網(wǎng)絡圖;
[0008] 3)構建基于斯坦納點遺傳算法的種群,確定步驟2)所述的網(wǎng)絡圖中使各連接點之 間管路長度最短的斯坦納點的位置和數(shù)目,設置遺傳算法參數(shù)后開始迭代尋優(yōu);
[0009] 4)確定管路當量長度,根據(jù)管路粗細、直徑和靠近不同障礙面的距離賦予不同的 權重系數(shù);
[0010] 5)根據(jù)步驟3)中確定的新的染色體的斯坦納點的位置和數(shù)目,利用距離啟發(fā)式算 法評價每條染色體的適應值;
[0011] 6)判斷是否達到設定的迭代次數(shù),如果達到設定的迭代次數(shù),則轉到步驟7),輸出 最優(yōu)解,否則轉到步驟3);
[0012] 7)最優(yōu)路徑輸出,路徑規(guī)劃結束,更新儲存文檔中管路編碼信息,結合三維設計軟 件,實現(xiàn)船舶分支管路的三維可視化。
[0013] 步驟1)包括:
[0014] (1)依據(jù)逃逸圖理論,參考移動機器人路徑規(guī)劃可見圖構造方法,將起始點S看做 光源,從起始點S向XYZ方向發(fā)散,提前確定啟發(fā)式搜索方向,并將終點T所在各平面看做為 障礙面;
[0015] (2)在光線傳播中遇到障礙后面,首先判斷是實體障礙面還是擴展障礙面,如果是 實體障礙面,光線沿與原方向相垂直的方向傳播,如果是擴展障礙面,光線沿XYZ方向傳播, 然后,確定路徑節(jié)點,并將該節(jié)點作為新的起始點S1;
[0016] (3)按順序連接各路徑節(jié)點,將各節(jié)點與連接順序記錄在圖G = (V,E)中,其中,V儲 存節(jié)點信息,E儲存邊的信息。
[00?7]步驟2)所述的確定N個連接點連接順序的方法包括:
[0018] (1)設定包含N個連接點的分支管路,依據(jù)各連接點的坐標值,構建包含N個連接點 的集合,首先忽略空間中的障礙,利用連接點在布局空間的位置信息,基于圖論中最小生成 樹算法確定N個點的連接順序;
[0019] (2)得到連接順序之后,利用步驟1)中構造路徑節(jié)點和網(wǎng)絡圖的方法,實現(xiàn)N個連 接點間每兩個連接點的網(wǎng)絡圖,組合更新每兩點之間的數(shù)據(jù)信息得到總的N個點間網(wǎng)絡圖, 包括節(jié)點和邊的信息。
[0020] 步驟3)包括:
[0021] (1)構建基于斯坦納點遺傳算法的種群
[0022] 采用引入斯坦納點的染色體編碼方法,首先對于N個連接點最多存在N-2個斯坦納 點,設定V是網(wǎng)絡圖所有點集,用r = V/N表示所有非管路連接點集合,采用定長度編碼方式, 一條染色體編碼為:
[0023] {(Nodeo,0),(Nodei, 1),...(Nodem, 1),...(Noder-i ,0)} (2)
[0024] 其中{(1'1〇(161,1),...,(1'1〇(16111,1)}表示斯坦納點,{(~〇(16。,0),...,(1'1〇(161-1,0)}表 示潛在的斯坦納點,意味著隨著迭代過程有可能成為斯坦納點,對于N點連接,斯坦納點的 個數(shù)0<m<N-2,所以種群初始化時,斯坦納點的個數(shù)不能超過N-2,隨著迭代過程,對染色 體需要進行過濾過程,刪除不滿足要求的染色體;
[0025] (2)采用遺傳算法中隨機聯(lián)賽選擇和精英保留機制的方法進行選擇操作,具體包 括:首先利用隨機聯(lián)賽選擇方法從種群中隨機選擇Μ個個體進行適應度大小比較,將其中適 應度最高的一個個體遺傳到下一代種群中,重復上述選擇過程1次,便增加1個個體到下一 代種群中,直到達到設定的下一代種群中的大小;然后利用精英保留機制的方法引入最優(yōu) 個體保留策略,在不失下一代種群多樣性的同時保證了最優(yōu)個體的優(yōu)先權。
[0026] (3)利用遺傳算法單點交叉方法產(chǎn)生新的子代個體:隨機從第(2)步生成的下一代 種群中選擇兩個父代個體Ρ1和Ρ2,然后生成一個隨機數(shù)lu,如果為交叉概率,兩個 父代染色體需要重新組合產(chǎn)生新的子代個體,如果lu > C1,子代直接復制父代染色體得到子 代個體;將兩種方法得到的子代個體組合成新的種群;
[0027] (4)利用遺傳算法中二進制位變異和倒轉變異方法得到多樣性的種群:二進制位 變異具體是:隨機在第(3)步中得到的種群中選擇一條染色體,然后生成一個隨機數(shù)1?,如 果k2<C2,C2為變異概率,則隨機將該染色體的一個潛在斯坦納點變成斯坦納點,即二進制 由〇轉化為1,同時將一個斯坦納點變?yōu)闈撛谒固辜{點,將改變后的染色體放入下一代種群 中,如果k 2>C2,直接復制該染色體到下一代種群中;倒轉變異具體是:隨機在一條染色體上 選擇兩個位置,將這兩個位置之間的二進制位數(shù)倒轉得到新的染色體,放入下一代種群中。 [0028]步驟5)包括:首先將斯坦納點和管路連接點集合,共(N+m)個點,利用最短路徑算 法(Dijkstra Algorithm)求每兩點間在圖上的最短路徑;將這些點與邊長組合成圖D,在圖 D上求最小生成樹Q;用原圖G中邊代替最小生成樹Q中各邊,刪除重復的邊,即得到原圖G中 各連接點N基于這些斯坦納點的最短斯坦納樹,得到的斯坦納樹長度即作為這條染色體的 適應值。
[0029]本發(fā)明的一種船舶分支管路路徑規(guī)劃方法,結合船舶管路布局特點,引入對布局 空間環(huán)境建模的簡化,并提出一種基于斯坦納點的遺傳算法染色體編碼方法,解決了分支 管路的布局問題,實現(xiàn)了圖論問題與優(yōu)化算法的結合。本發(fā)明將路徑節(jié)點作為潛在斯坦納 點編譯成染色體,遺傳操作即是斯坦納點的尋優(yōu)過程,具有很高的搜索效率。本發(fā)明針對不 同管路分解編碼、并行求解的策略,能更好的滿足船舶管路路徑規(guī)劃的實際需要。具有如下 有益效果:
[0030] 1、布局空間環(huán)境建模方式改進,使搜索效率與障礙個數(shù)有關與布局空間大小無 關,減少了許多不必要的節(jié)點儲存空間,大大提尚了路徑搜索效率;
[0031] 2、提出了一種基于斯坦納點的遺傳算法染色體編碼方式,不同于傳統(tǒng)協(xié)同進化算 法針對分支管路分解編碼、并行求解策略,算法編碼、遺傳操作更為簡單易行,具有通用性, 能更好的滿足管路路徑規(guī)劃的實際需要。
【附圖說明】
[0032] 圖1是本發(fā)明船舶分支管路路徑規(guī)劃方法的流程圖;
[0033] 圖2是本發(fā)明中網(wǎng)絡圖構建方法的示意圖;
[0034] 圖3是本發(fā)明中基于斯坦納樹的遺傳算法流程圖;
[0035]圖4是本發(fā)明中交叉方法示意圖;
[0036]圖5a是本發(fā)明中二進制變異示意圖;
[0037]圖5b是本發(fā)明中倒轉變異示意圖。
【具體實施方式】
[0038] 下面結合實施例和附圖對本發(fā)明的一種船舶分支管路路徑規(guī)劃方法做出詳細說 明。
[0039] 本發(fā)明的一種船舶分支管路路徑規(guī)劃方法,區(qū)別于現(xiàn)有方法的顯著特征在于:其 一,基于逃逸圖的概念,參考機器人路徑尋優(yōu)的可見圖法,對布局環(huán)境建模方法改進,使其 效率與障礙復雜程度相關,與布局空間實際大小無關;其二,針對分支管路規(guī)劃問題,關鍵 是確定斯坦納點的數(shù)量和位置,本發(fā)明將生成的路徑節(jié)點作為潛在的斯坦納點編譯為遺傳 算法中的一條染色體,遺傳操作即是斯坦納點尋優(yōu)過程,因此具有很高的效率。這種路徑規(guī) 劃方法異于傳統(tǒng)按順序生成各分支管路方法或基于協(xié)同進化算法針對不同分支管路分解 編碼、并行求解的策略,能更好的滿足管路路徑規(guī)劃的實際需要。
[0040]本發(fā)明的一種船舶分支管路路徑規(guī)劃方法,如圖1所示,包括如下步驟:
[0041 ] 1)在對設備和管路模型簡化的基礎上,參考移動機器人路徑規(guī)劃中可見圖法,構 建兩點間網(wǎng)絡圖,包括生成遇到障礙的各個節(jié)點,確定各節(jié)點間的邊長度,并存儲在圖G = (V,E)中,其中V儲存各節(jié)點信息,E儲存邊的信息;其中,所述的構建兩點間網(wǎng)絡圖的方法包 括以下幾步:
[0042] (1)依據(jù)逃逸圖理論,參考移動機器人路徑規(guī)劃可見圖構造方法,將起始點S看做 光源,從起始點S向XYZ方向發(fā)散,為提高搜索效率,提前確定啟發(fā)式搜索方向,并將終點T所 在各平面看做為障礙面。
[0043] (2)在光線傳播中遇到障礙后面,首先判斷是實體障礙面還是擴展障礙面,如果是 實體障礙面,光線沿與原方向相垂直的方向傳播,如果是擴展障礙面,光線沿XYZ方向傳播, 然后,確定路徑節(jié)點,并將該節(jié)點作為新的起始點S1。例如:以起始點S向X方向發(fā)散的光線 遇到障礙面,則這個面一定是垂直于X軸。對應的坐標變換為:
[0044] ⑴
[0045]其中:(XQ,yo,Z())為起始點S的坐標,(xi,yQ,ZQ)為新的起始點S1的坐標,XI是障礙 面的坐標。其它方向的坐標變化與X軸方向相同,如果這個節(jié)點已經(jīng)被記錄,不作為新的起 始點。重復該過程直到終點T。
[0046] (3)按順序連接各路徑節(jié)點,將各節(jié)點與連接順序記錄在圖G=(V,E)中,其中,V儲 存節(jié)點信息,E儲存邊的信息。構造兩點間空間網(wǎng)絡圖的例子如圖2所示。
[0047] 2)設定分支管路包含N個連接點,依據(jù)各連接點的坐標值,構建包含N個連接點的 集合,忽略空間障礙,利用連接點位置信息,基于圖論中最小生成樹算法(Prim Algorithm) 確定N個連接點的連接順序,然后實現(xiàn)N個連接點間每兩點間網(wǎng)絡圖的構建,組合更新數(shù)據(jù) 信息得到總的N個點間網(wǎng)絡圖;所述的確定N個連接點連接順序的方法包括:
[0048] (1)設定包含N個連接點的分支管路,依據(jù)各連接點的坐標值,構建包含N個連接點 的集合,首先忽略空間中的障礙,利用連接點在布局空間的位置信息,基于圖論中最小生成 樹算法(Pr im A1 gor i thm)確定N個點的連接順序;
[0049] (2)得到連接順序之后,利用步驟1)中構造路徑節(jié)點和網(wǎng)絡圖的方法,實現(xiàn)N個連 接點間每兩個連接點的網(wǎng)絡圖,組合更新每兩點之間的數(shù)據(jù)信息得到總的N個點間網(wǎng)絡圖, 包括節(jié)點和邊的信息。
[0050] 3)構建基于斯坦納點遺傳算法的種群,確定步驟2)所述的網(wǎng)絡圖中使各連接點之 間管路長度最短的斯坦納點的位置和數(shù)目,設置遺傳算法參數(shù)后開始迭代尋優(yōu);如圖3所 示,具體包括:
[0051] (1)構建基于斯坦納點遺傳算法的種群
[0052] 解決多點間管路連接的關鍵問題是確定斯坦納點的數(shù)目和位置。采用引入斯坦納 點的染色體編碼方法,首先對于N個連接點最多存在N-2個斯坦納點,設定V是網(wǎng)絡圖所有點 集,用r = V/N表示所有非管路連接點集合,采用定長度編碼方式,一條染色體編碼為:
[0053] {(Nodeo,0),(Nodei, 1),...(Nodem, 1),...(Noder-i ,0)} (2)
[0054] 其中{(1'1〇(161,1),...,(1'1〇(16111,1)}表示斯坦納點,{(~〇(16。,0),...,(1'1〇(161-1,0)}表 示潛在的斯坦納點,意味著隨著迭代過程有可能成為斯坦納點,由斯坦納點理論知,對于N 點連接,斯坦納點的個數(shù)〇<m<N-2,所以種群初始化時,斯坦納點的個數(shù)不能超過N-2,隨 著迭代過程,對染色體需要進行過濾過程,刪除不滿足要求的染色體;
[0055] (2)采用遺傳算法中隨機聯(lián)賽選擇和精英保留機制的方法進行選擇操作,具體包 括:首先利用隨機聯(lián)賽選擇方法從種群中隨機選擇Μ個個體進行適應度大小比較,將其中適 應度最高的一個個體遺傳到下一代種群中,重復上述選擇過程1次,便增加1個個體到下一 代種群中,直到達到設定的下一代種群中的大小;但是,單純采用聯(lián)賽選擇機制會造成最優(yōu) 個體的丟失,因此,然后利用精英保留機制的方法引入最優(yōu)個體保留策略,在不失下一代種 群多樣性的同時保證了最優(yōu)個體的優(yōu)先權。
[0056] (3)利用遺傳算法單點交叉方法產(chǎn)生新的子代個體:對染色體進行完選擇操作之 后,需要進行交叉操作來產(chǎn)生新的子代個體。如圖4所示,隨機從第(2)步生成的下一代種群 中選擇兩個父代個體Ρ1和Ρ2,然后生成一個隨機數(shù)h,如果luSd, C1為交叉概率,兩個父代 染色體需要重新組合產(chǎn)生新的子代個體,如果h>C1,子代直接復制父代染色體得到子代個 體;將兩種方法得到的子代個體組合成新的種群;本例中,因為斯坦納點的個數(shù)要少于N-2 個,如果子代染色體中斯坦納點個數(shù)多于N-2,需要清除多余的點。
[0057] (4)如圖5所示,利用遺傳算法中二進制位變異和倒轉變異方法得到多樣性的種 群:變異操作隨機改變一些斯坦納點的位置,同時變異操作可以增加種群多樣性且增大搜 索空間。二進制位變異具體是:隨機在第(3)步中得到的種群中選擇一條染色體,然后生成 一個隨機數(shù)k2,如果k 2$C2,C2為變異概率,則隨機將該染色體的一個潛在斯坦納點變成斯 坦納點,即二進制由0轉化為1,同時將一個斯坦納點變?yōu)闈撛谒固辜{點,將改變后的染色體 放入下一代種群中,如果k 2>C2,直接復制該染色體到下一代種群中;倒轉變異具體是:隨機 在一條染色體上選擇兩個位置,將這兩個位置之間的二進制位數(shù)倒轉得到新的染色體,放 入下一代種群中。這兩種變異方法都不會增加斯坦納點的個數(shù),因此不需要進行過濾操作。
[0058] 4)考慮實際工程規(guī)則,確定管路當量長度,根據(jù)管路粗細、直徑和靠近不同障礙面 的距離賦予不同的權重系數(shù);
[0059] 管路敷設是不僅要求管路長度短,根據(jù)工程規(guī)則,管路需要靠近一些易于安裝支 撐件的設備,同時考慮安全因素,管路布置時需要遠離熱源、電源等危險設備。為了在網(wǎng)絡 圖上應用能量值,本發(fā)明定義布局空間障礙的兩種類型:〇C={〇 cl,Oc2, . . .,〇?}和0d={〇di, 0d2,...,0dm}分別表示管路敷設是應該靠近的障礙和應該遠離的障礙,并分別賦予靠近這 兩者障礙的管路不同的能量值Ec和Ed。管路的廣義長度即適應值函數(shù)如式(3)所示:
[0060] L,(pipe) =α · L(pipe)+P · E(pipe) (3)
[0061] 其中,L(pipe)表示管路路徑的總長度,E(pipe)表示設備能量值,α和β表示權系 數(shù),表示長短和勢能的相對重要程度即設計者意圖,〇彡α,β<1,α+β=1。
[0062] 5)根據(jù)步驟3)中確定的新的染色體的斯坦納點的位置和數(shù)目,利用距離啟發(fā)式算 法(Distance Network Heuristic Algorithm)評價每條染色體的適應值;包括:
[0063] 首先將斯坦納點和管路連接點集合,共(N+m)個點,利用最短路徑算法(Dijkstra Algorithm)求每兩點間在圖上的最短路徑;將這些點與邊長組合成圖D,在圖D上求最小生 成樹Q;用原圖G中邊代替最小生成樹Q中各邊,刪除重復的邊,即得到原圖G中各連接點N基 于這些斯坦納點的最短斯坦納樹,得到的斯坦納樹長度即作為這條染色體的適應值。
[0064] 6)判斷是否達到設定的迭代次數(shù),如果達到設定的迭代次數(shù),則轉到步驟7),輸出 最優(yōu)解,否則轉到步驟3);
[0065] 7)最優(yōu)路徑輸出,路徑規(guī)劃結束,更新儲存文檔中管路編碼信息,結合三維設計軟 件,實現(xiàn)船舶分支管路的三維可視化。
【主權項】
1. 一種船舶分支管路路徑規(guī)劃方法,其特征在于,包括如下步驟: 1) 在對設備和管路模型簡化的基礎上,參考移動機器人路徑規(guī)劃中可見圖法構建兩點 間網(wǎng)絡圖,包括生成遇到障礙的各個節(jié)點,確定各節(jié)點間的邊長度,并存儲在圖G=(V,E) 中,其中V儲存各節(jié)點信息,E儲存邊的信息; 2) 設定包含N個連接點的分支管路,依據(jù)各連接點的坐標值,構建包含N個連接點的集 合,忽略空間障礙,利用連接點位置信息,基于圖論中最小生成樹算法確定N個連接點的連 接順序,然后實現(xiàn)N個連接點間每兩點間網(wǎng)絡圖的構建,組合更新數(shù)據(jù)信息得到總的N個點 間網(wǎng)絡圖; 3) 構建基于斯坦納點遺傳算法的種群,確定步驟2)所述的網(wǎng)絡圖中使各連接點之間管 路長度最短的斯坦納點的位置和數(shù)目,設置遺傳算法參數(shù)后開始迭代尋優(yōu); 4) 確定管路當量長度,根據(jù)管路粗細、直徑和靠近不同障礙面的距離賦予不同的權重 系數(shù); 5) 根據(jù)步驟3)中確定的新的染色體的斯坦納點的位置和數(shù)目,利用距離啟發(fā)式算法評 價每條染色體的適應值; 6) 判斷是否達到設定的迭代次數(shù),如果達到設定的迭代次數(shù),則轉到步驟7),輸出最優(yōu) 解,否則轉到步驟3); 7) 最優(yōu)路徑輸出,路徑規(guī)劃結束,更新儲存文檔中管路編碼信息,結合三維設計軟件, 實現(xiàn)船舶分支管路的三維可視化。2. 根據(jù)權利要求1所述的一種船舶分支管路路徑規(guī)劃方法,其特征在于,步驟1)包括: (1) 依據(jù)逃逸圖理論,參考移動機器人路徑規(guī)劃可見圖構造方法,將起始點S看做光源, 從起始點S向XYZ方向發(fā)散,提前確定啟發(fā)式搜索方向,并將終點T所在各平面看做為障礙 面; (2) 在光線傳播中遇到障礙后面,首先判斷是實體障礙面還是擴展障礙面,如果是實體 障礙面,光線沿與原方向相垂直的方向傳播,如果是擴展障礙面,光線沿XYZ方向傳播,然 后,確定路徑節(jié)點,并將該節(jié)點作為新的起始點S1; (3) 按順序連接各路徑節(jié)點,將各節(jié)點與連接順序記錄在圖G=(V,E)中,其中,V儲存節(jié) 點信息,E儲存邊的信息。3. 根據(jù)權利要求1所述的一種船舶分支管路路徑規(guī)劃方法,其特征在于,步驟2)所述的 確定N個連接點連接順序的方法包括: (1) 設定包含N個連接點的分支管路,依據(jù)各連接點的坐標值,構建包含N個連接點的集 合,首先忽略空間中的障礙,利用連接點在布局空間的位置信息,基于圖論中最小生成樹算 法確定N個點的連接順序; (2) 得到連接順序之后,利用步驟1)中構造路徑節(jié)點和網(wǎng)絡圖的方法,實現(xiàn)N個連接點 間每兩個連接點的網(wǎng)絡圖,組合更新每兩點之間的數(shù)據(jù)信息得到總的N個點間網(wǎng)絡圖,包括 節(jié)點和邊的信息。4. 根據(jù)權利要求1所述的一種船舶分支管路路徑規(guī)劃方法,其特征在于,步驟3)包括: (1)構建基于斯坦納點遺傳算法的種群 采用引入斯坦納點的染色體編碼方法,首先對于N個連接點最多存在N-2個斯坦納點, 設定V是網(wǎng)絡圖所有點集,用r = V/N表示所有非管路連接點集合,采用定長度編碼方式,一 條染色體編碼為: {(Nodeo,0),(Nodei, 1),...(Nodem,1),...(Noder-i ,0)} (2) 其中{(Nodei,l), · · ·,(Nodem,l)}表示斯坦納點,{(Nodeo,0), · · · ,(Noder-1,0)}表示潛 在的斯坦納點,意味著隨著迭代過程有可能成為斯坦納點,對于N點連接,斯坦納點的個數(shù)0 <m<N-2,所以種群初始化時,斯坦納點的個數(shù)不能超過N-2,隨著迭代過程,對染色體需要 進行過濾過程,刪除不滿足要求的染色體; (2) 采用遺傳算法中隨機聯(lián)賽選擇和精英保留機制的方法進行選擇操作,具體包括:首 先利用隨機聯(lián)賽選擇方法從種群中隨機選擇Μ個個體進行適應度大小比較,將其中適應度 最高的一個個體遺傳到下一代種群中,重復上述選擇過程1次,便增加1個個體到下一代種 群中,直到達到設定的下一代種群中的大小;然后利用精英保留機制的方法引入最優(yōu)個體 保留策略,在不失下一代種群多樣性的同時保證了最優(yōu)個體的優(yōu)先權。 (3) 利用遺傳算法單點交叉方法產(chǎn)生新的子代個體:隨機從第(2)步生成的下一代種群 中選擇兩個父代個體Ρ1和Ρ2,然后生成一個隨機數(shù)h,如果luSd, C1為交叉概率,兩個父代 染色體需要重新組合產(chǎn)生新的子代個體,如果h>ci,子代直接復制父代染色體得到子代個 體;將兩種方法得到的子代個體組合成新的種群; (4) 利用遺傳算法中二進制位變異和倒轉變異方法得到多樣性的種群:二進制位變異 具體是:隨機在第(3)步中得到的種群中選擇一條染色體,然后生成一個隨機數(shù)1?,如果k 2< C2,C2為變異概率,則隨機將該染色體的一個潛在斯坦納點變成斯坦納點,即二進制由0轉化 為1,同時將一個斯坦納點變?yōu)闈撛谒固辜{點,將改變后的染色體放入下一代種群中,如果 k2>C2,直接復制該染色體到下一代種群中;倒轉變異具體是:隨機在一條染色體上選擇兩 個位置,將這兩個位置之間的二進制位數(shù)倒轉得到新的染色體,放入下一代種群中。5.根據(jù)權利要求1所述的一種船舶分支管路路徑規(guī)劃方法,其特征在于,步驟5)包括: 首先將斯坦納點和管路連接點集合,共(N+m)個點,利用最短路徑算法(Dijkstra Algorithm)求每兩點間在圖上的最短路徑;將這些點與邊長組合成圖D,在圖D上求最小生 成樹Q;用原圖G中邊代替最小生成樹Q中各邊,刪除重復的邊,即得到原圖G中各連接點N基 于這些斯坦納點的最短斯坦納樹,得到的斯坦納樹長度即作為這條染色體的適應值。
【文檔編號】G06F17/50GK105975674SQ201610284559
【公開日】2016年9月28日
【申請日】2016年4月29日
【發(fā)明人】牛文鐵, 牛亞肖
【申請人】天津大學