天天看點

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

該算法來源于文章2019-IEEE Access-Evolutionary Planning of Multi-UAV Search for Missing Tourists

假設已經為無人機

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

随機配置設定了一個子區域的集合

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

作為其搜尋路徑

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 
NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

其中

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

→無人機

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

将要搜尋的子區域序列

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

→無人機

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

搜尋子區域

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

時所用的搜尋模式

路徑

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

的适應度可以通過總探測機率與消耗的總搜尋時間之比來進行評估:

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

其中

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

表示無人機

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

開始在其搜尋路徑上的第i個子區域進行搜尋的時間,可被計算為:

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 
NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

→飛行時間

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

→搜尋時間 

具體步驟如Algorithm 1所示,先通過NEH啟發式算法建構無人機的初始搜尋路徑,然後通過緊急搜尋算法疊代地改進初始路徑。

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

1. NEH啟發式算法

1) 将

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

中的子區域按目标定位機率與到無人機

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

的距離之比遞減排序

N:計算目标定位機率,目标到無人機之間的距離

2) 建構

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

中前兩個子區域的局部排程

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

,使目前适應度最大

N:初始路徑,路徑的适應度計算

3) 

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

4) while循環→條件

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

        在

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

個可能的子區域中,将第

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

個子區域插入路徑

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

,使目前的适應度最大化

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

2. Tabu搜尋算法 

Tabu疊代地将目前解移動到沒有被禁忌表禁止的最佳領域解,其中的領域解是通過在搜尋路徑

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

中交換兩個相鄰的子區域來獲得的。

此外通過将被交換子區域的搜尋模式

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

更改為

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

,再在每個領域解上進行一次局部搜尋

禁忌搜尋操作的最大次數

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

被設定為

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

,禁忌長度

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

被設定為6

1) 初始化一個空的禁忌表

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

2) 

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

=

3) while循環→條件

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 
NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

→條件

                                                      →

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

是通過交換

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

的第

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

個子區域和第

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

個子區域得到的鄰域

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

指派給

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

        将

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

添加到禁忌表

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

        如果

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

→講第一個元素從

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

中移除

        如果

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

指派給

NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 
NEH啟發式算法+Tabu搜尋算法1. NEH啟發式算法2. Tabu搜尋算法 

算法最終的結果是傳回一個新的搜尋路徑

個人學習筆記,後續可能會對這部分代碼進行複現

繼續閱讀