天天看点

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搜索算法 

算法最终的结果是返回一个新的搜索路径

个人学习笔记,后续可能会对这部分代码进行复现

继续阅读