本發明專利技術公開了一種基于小生境粒子群的二維空間多路徑規劃方法,應用于船舶路徑規劃系統。本發明專利技術首先在直角坐標系下對環境進行建模,采用將規劃區域等距分割的方法對粒子進行編碼,對粒子的評價考慮安全性和經濟性兩方面的因素;然后是子群粒子的區域內局部尋優,采用小生境識別技術創建新的子群,并對子群粒子采用基于隔離機制的小生境粒子群算法進行局部尋優;最后是主群的區域劃分,主群粒子采用認知模式的粒子群算法進行區域搜索,并對子群的中心進行交叉操作,產生的個體加入主群。本發明專利技術的方法具有較強的區域劃分和局部尋優能力,能夠正確、有效地規劃出多條路徑。
【技術實現步驟摘要】
本專利技術屬于計算智能
,具體涉及的是。
技術介紹
路徑規劃是實現船舶智能化航行的關鍵技術之一,其主要任務是在環境已知、環境部分已知或環境未知的情況下,規劃出安全的航行路線,同時高效地到達預定的位置。傳統路徑規劃方法中,如人工勢場法、可視圖法和遺傳算法等,對路徑優劣的評價完全依靠給定的適應值函數,生成一條具有最優適應度的路徑,算法求得的最優路徑的性能與評價函數密切相關。然而,在實際運用中單一的最優路徑往往并不完全適用。在實際路徑規劃過程中,由于路徑規劃問題本身的復雜性、船舶運動的復雜性以及外部環境的復雜性,采用任何單一的評價函數都是不完善的,很難用一個統一的適應值函數將所有的因素都考慮進去;對于給定的適應值函數,在某些情況下可能有些路徑的適應度一樣,利用傳統的路徑規劃算法需要對兩條路徑做出取舍,而預先設定的取舍策略很難反映實際的任務需求。
技術實現思路
針對現有技術中存在的問題,本專利技術提出,規劃出多條最優或次優路徑供決策者選擇。該方法借鑒遺傳算法求解多峰函數的思想,在基本粒子群優化算法的基礎上,引入小生境生成、隔離進化等策略實現船舶多路徑規劃,分別采用主群粒子進行區域劃分,采用子群粒子進行區域內尋優。其中,主群粒子采用僅含認知模式的粒子群算法進行更新,使用交叉算子增強主群粒子的區域劃分能力;子群粒子采用基于隔離機制的小生境粒子群算法進行局部尋優,規劃出區域內的最優路徑。本專利技術提出的,具體包括以下步驟步驟一、環境建模及粒子編碼。在直角坐標系O-XY下對環境進行建模,障礙物用不規則的多邊形表示,以船舶最大尺寸對障礙物進行膨脹,將船舶抽象為一大小可忽略的質點。設S為船舶航行的起點,G為終點,對規劃區域進行坐標變換,以SG作為X’軸,垂直于X’軸且經過S點的直線為Y'軸,坐標變換公式為權利要求1.,其特征在于該方法具體包括以下幾個 步驟 步驟一、環境建模及粒子編碼 在直角坐標系O-XY下對環境進行建模,障礙物用不規則的多邊形表示,以船舶最大尺寸對障礙物進行膨脹,將船舶抽象為一大小可忽略的質點;設S為船舶航行的起點,G為終點,對規劃區域進行坐標變換,以SG作為X’軸,垂直于X’軸且經過S點的直線為Y'軸,坐標變換公式為 X 「COSQT sin (2 I「X-Xij 二 y [-sin a cos a J y-ys 其中,(x, y), (x’,y’)分別表示全局地圖中某一點在坐標系O-XY和S-X' Y'下的坐標,a為坐標軸X’軸與X軸的夾角,由X軸轉向X’軸,逆時針方向為正,(xs,ys)為S點在坐標系O-XY下的坐標; 采用將規劃區域等距分割的方法對粒子進行編碼,節點間用直線連接; 步驟二、采用小生境識別技術創建新的子群 子群創建之前,對主群粒子按照適應度由小到大進行排序,判斷主群粒子是否符合小生境產生條件,若主群粒子符合小生境產生條件,則以該主群粒子為中心粒子,創建一個新的子群,在主群中將新創建的子群的粒子刪除;若粒子所代表的路徑不與障礙物碰撞,且沒有類似的子群存在,則符合小生境產生條件;新的子群創建成功后,以中心粒子與主群中最近粒子的歐氏距離為子群半徑,新創建子群的半徑擴大M1倍,表達式為 I = Mi X min { .v - .Vv } 其中,I < i^nM, nM為主群的大小,即主群中粒子的個數,%^為新創建子群的中心粒子,Xi為主群中的第i個粒子,4t為新創建子群的半徑; 隨著主群粒子的迭代尋優,若主群粒子進入子群的半徑范圍內且該子群粒子的個數小于子群最大規模限制,則將其吸收到相應的子群,即若粒子Xi I Xi-Sk Xg I I Sk R 則吸收粒子Xi到子群Sk中Sk — Sk U {xj 其中,Sk R表示子群Sk的半徑,Sk Xg表示子群Sk的全局最優粒子,IxJ表示粒子Xi的集合; 步驟三、子群粒子采用基于隔離機制的小生境粒子群算法進行局部尋優; 子群的中心處于不同的區域,每個子群在一個局部最優路徑周圍形成一個小生境,子群粒子的更新采用標準粒子群算法,其更新公式為 JV+1 =續 ri + cA {Pij - XiJ ) + C2T2 (pj I f+1 t , t+i 1 = +v" 其中,Vi/, XiJt分別表示粒子的速度和位置;Pi/表示個體最優位置,Pg/表示全局最優位置為均勻分布在(0,I)區間的隨機數;Cl,C2為學習因子;《為慣性權重,其中,i表示粒子的序號,j表示粒子的維度序號,t表示迭代次數,取值為正整數; 子群間采用隔離進化的機制,群體間沒有信息的交流;子群粒子更新后,以子群中心與該子群內距離中心粒子最遠的粒子之間的歐氏距離為子群半徑,子群半徑擴大M2倍,即 Sk · R = M2Xmax{I Sk · Xg-Sk · Xi }, ^ = 1,2,-··,^ Sk · R表示子群Sk的半徑,Sk · Xg表示子群Sk的全局最優粒子,Sk · Xi表示子群Sk中距離子群中心粒子最遠的粒子,~,表示子群Sk中粒子的個數; 步驟四、主群粒子采用認知模式的粒子群算法進行區域劃分 主群粒子分布在整個規劃區域,主群粒子的更新采用認知模式的粒子群算法,其更新公式為2.根據權利要求I所述的,其特征在于步驟三所述的子群粒子的更新采用基于隔離機制的小生境粒子群算法,包括以下步驟 第I步判斷是否有子群存在,若有,設定當前要更新的子群為第一個子群;否則,轉到第7步; 第2步對當前子群粒子的位置、速度按照標準粒子群算法進行更新; 第3步計算每個粒子的適應度,并更新子群的個體最優極值Sk · Xip ; 第4步子群中心粒子Sk. Xg更新; 第5步子群半徑Sk · R更新; 第6步判斷是否結束條件,對當前需要更新的子群的序號加1,若小于目前已創建子群的個數,則轉到第2步;否則,繼續下一步; 第7步退出循環。3.根據權利要求I所述的,其特征在于步驟二中所述的類似的子群,通過兩個粒子所代表的路徑之間是否有障礙物進行判另O,若兩路徑間不存在障礙物,則這兩條路徑相似;否則,這兩條路徑不相似。4.根據權利要求I所述的,其特征在于步驟三中子群中心粒子的更新不僅要考慮適應度的提高,而且還要考慮粒子所代表的路徑不穿越障礙物,且與當前子群中心粒子所代表的路徑之間不存在障礙物,同時滿足這三個條件時,子群中心才進行更新。5.根據權利要求I所述的,其特征在于步驟一中還包括對主群粒子初始化,具體包括以下幾個步驟 第(I)步設定種群規模m,粒子維數η,粒子個數為m,粒子節點個數為η,粒子每個節點可重復初始化次數kmax,初始粒子的粒子序號i = I ; 第(2)步判斷種群是否初始化完畢,即判斷粒子序號i < m ;若滿足條件,則粒子維度j = I,繼續下一步;否則,轉到第(7)步; 第(3)步判斷粒子Xi是否初始化完畢,即判斷粒子維度j < η ;若滿足條件,則記錄粒子每個節點初始化次數的參數k = I,繼續下一步;否則,粒子序號i = i+Ι,轉到第(2)I K少; 第(4)步判斷初始化次數k < kmax,若滿足條件,則初始化粒子Xi的位置;否則,j=j+1,轉到第⑶步; 第(5本文檔來自技高網...
【技術保護點】
一種基于小生境粒子群的二維空間多路徑規劃方法,其特征在于:該方法具體包括以下幾個步驟:步驟一、環境建模及粒子編碼:在直角坐標系O?XY下對環境進行建模,障礙物用不規則的多邊形表示,以船舶最大尺寸對障礙物進行膨脹,將船舶抽象為一大小可忽略的質點;設S為船舶航行的起點,G為終點,對規劃區域進行坐標變換,以SG作為X“軸,垂直于X“軸且經過S點的直線為Y′軸,坐標變換公式為:x′y′=cosαsinα-sinαcosα·x-xsy-ys其中,(x,y),(x“,y“)分別表示全局地圖中某一點在坐標系O?XY和S?X′Y′下的坐標,α為坐標軸X“軸與X軸的夾角,由X軸轉向X“軸,逆時針方向為正,(xs,ys)為S點在坐標系O?XY下的坐標;采用將規劃區域等距分割的方法對粒子進行編碼,節點間用直線連接;步驟二、采用小生境識別技術創建新的子群:子群創建之前,對主群粒子按照適應度由小到大進行排序,判斷主群粒子是否符合小生境產生條件,若主群粒子符合小生境產生條件,則以該主群粒子為中心粒子,創建一個新的子群,在主群中將新創建的子群的粒子刪除;若粒子所代表的路徑不與障礙物碰撞,且沒有類似的子群存在,則符合小生境產生條件;新的子群創建成功后,以中心粒子與主群中最近粒子的歐氏距離為子群半徑,新創建子群的半徑擴大M1倍,表達式為:lSk=M1×min{||xi-xSk||}其中,1≤i≤nM,nM為主群的大小,即主群中粒子的個數,為新創建子群的中心粒子,xi為主群中的第i個粒子,為新創建子群的半徑;隨著主群粒子的迭代尋優,若主群粒子進入子群的半徑范圍內且該子群粒子的個數小于子群最大規模限制,則將其吸收到相應的子群,即若粒子xi:||xi?Sk·xg||≤Sk·R則吸收粒子xi到子群Sk中:Sk←Sk∪{xi}其中,Sk·R表示子群Sk的半徑,Sk·xg表示子群Sk的全局最優粒子,{xi}表示粒子xi的集合;步驟三、子群粒子采用基于隔離機制的小生境粒子群算法進行局部尋優;子群的中心處于不同的區域,每個子群在一個局部最優路徑周圍形成一個小生境,子群粒子的更新采用標準粒子群算法,其更新公式為:vijt+1=ωvijt+c1r1(pijt-xijt)+c2r2(pgjt-xijt)xijt+1=xijt+vijt+1其中,vijt,xijt分別表示粒子的速度和位置;pijt表示個體最優位置,pgjt表示全局最優位置;r1,r2為均勻分布在(0,1)區間的隨機數;c1,c2為學習因子;ω為慣性權重,其中,i表示粒子的序號,j表示粒子的維度序號,t表示迭代次數,取值為正整數;子群間采用隔離進化的機制,群體間沒有信息的交流;子群粒子更新后,以子群中心與該子群內距離中心粒子最遠的粒子之間的歐氏距離為子群半徑,子群半徑擴大M2倍,即Sk·R=M2×max{||Sk·xg?Sk·xi||},Sk·R表示子群Sk的半徑,Sk·xg表示子群Sk的全局最優粒子,Sk·xi表示子群Sk中距離子群中心粒子最遠的粒子,表示子群Sk中粒子的個數;步驟四、主群粒子采用認知模式的粒子群算法進行區域劃分:主群粒子分布在整個規劃區域,主群粒子的更新采用認知模式的粒子群算法,其更新公式為:vijt+1=ωvijt+c1r1(pijt-xijt)xijt+1=xijt+vijt+1其中,vijt,xijt分別表示粒子的速度和位置;pijt表示個體最優位置;r1為均勻分布在(0,1)區間的隨機數;c1為學習因子;ω為慣性權重;若主群粒子被子群吸收,則將其在主群中刪除;當主群粒子的個數小于主群最小規模限制時,則隨機產生相應個數的粒子加入主群,隨機產生粒子的個數為主群最小規模限制減去主群當前粒子的個數;步驟五、對子群中心粒子進行交叉操作:若子群的個數大于兩個,則隨機選取兩個子群,讓這兩個子群的中心粒子進行交叉操作,產生的個體取代主群中適應度最差的兩個粒子,然后再隨機選取兩個子群進行交叉操作,此過程重復進行五次;子群中心粒子所代表的路徑都不穿越障礙且屬于不同的區域,若兩個中心粒子進行交叉后可產生分布在不同區域的路徑,則交叉點選在交叉后產生不同區域的的那些節點上;否則,將兩個子群的中心復制給交叉后的個體;若兩個粒子所代表的路徑不穿越障礙物,且兩條路徑之間有障礙物,則這兩條路徑屬于不同的區域。FDA00001976471900013.jpg,FDA00001976471900014.jpg,FDA00001976471900022.jpg,FDA00001976471900023.jpg...
【技術特征摘要】
【專利技術屬性】
技術研發人員:劉利強,戴運桃,汪相國,
申請(專利權)人:哈爾濱工程大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。