工程科学与技术   2017, Vol. 49 Issue (3): 144-152
基于反向学习的自适应α 约束病毒种群搜索算法
李牧东1,2, 赵辉1, 吴利荣2, 陈超2, 李建勋2, 韩博3     
1. 空军工程大学 航空航天工程学院,陕西 西安 710038;
2. 复杂航空系统仿真重点实验室,北京 100076;
3. 95994部队,甘肃 酒泉 735006
基金项目: 国家杰出青年科学基金资助项目(71501184)
摘要: 为了提高该算法求解约束优化问题的能力,提出一种新的约束病毒种群搜索算法。首先,提出自适应α-level比较策略,以在算法的不同阶段充分利用可行个体与不可行个体的有效信息;其次,为了进一步提高算法求解约束优化问题的收敛速度和搜索精度,针对算法的病毒扩散行为,提出了结合反向学习机制的搜索方程,以提高种群多样性并加速全局收敛。对CEC2006中13个约束优化函数的对比仿真结果表明,本文算法在搜索精度、收敛速度以及稳定性方面,相比于αSimplex算法、粒子群遗传算法算法、交叉人工蜂群算法算法以及约束改进差分进化算法算法具有明显优势。同时将该算法应用于无人机协同实时航迹规划约束优化问题中,通过仿真实验并与利用约束改进差分进化算法对这一问题进行求解的方法进行对比,验证了本文算法在规划效率、规避威胁等方面的优越性。
关键词: 病毒种群搜索算法    约束优化    自适应α-level比较策略    反向学习    无人机协同航迹规划    
Self-adaptive α-constrained Virus Colony Search Algorithm Using Opposition-based Learning
LI Mudong1,2, ZHAO Hui1, WU Lirong2, CHEN Chao2, LI Jianxun2, HAN Bo3     
1. School of Aeronautics and Astronautics, Air Force Eng. Univ., Xi’an 710038, China;
2. Sci.and Technol. on Complex Aviation Systems Simulation Lab., Beijing 100076, China;
3. PLA of 95994, Jiuquan 735006, China
Abstract: In order to improve the performance for solving constrained optimization problems, a novel constrained virus colony search (VCS) algorithm was proposed. Firstly, self-adaptive α-level comparison strategy was proposed to make full use of the feasible and infeasible solution at the different stages of the algorithm. Then, in order to improve the convergence rate and search ing precision for solving constrained optimization problems, the search equations based on opposition-based learning mechanism were designed for the process of virus diffusion in VCS. It was mainly used to improve the population diversity and convergence of the algorithm. Finally, the comparative experiments on thirteen CEC2006 benchmark functions showed that the proposed algorithm possessed more distinct advantages on searching accuracy, convergence rate and stability compared with αSimplex algorithm, particle swarm-assisted genetic algorithm (PSGA), crossover-based artificial bee colony (CBABC) and constrained optimization based on modified differential evolution (COMDE) algorithm. Meanwhile, compared with COMDE algorithm, the successful application in unmanned aerial vehicles (UAVs) cooperative path planning constrained problem verified the superiority of the proposed algorithm in the aspects of planning efficiency and threats avoiding.
Key words: virus colony search algorithm (VCS)    constrained optimization    self-adaptive α-level comparison strategy    opposition-based learning    UAVs cooperative path planning    

随着实际科学与工程问题的不断复杂化,约束优化问题(constrained optimization problem,COP)逐渐成为人工智能领域研究的热点[1]。如何在较好地处理约束条件的同时收敛至全局最优解是提高约束优化效果的关键[2]

目前针对约束优化算法的研究主要集中于智能优化算法和约束处理技术2个方面[3]。在约束处理技术方面,常用的方法有罚函数法[4]、多目标优化法[5]、随机排序法[6]以及α约束法[7]等,其中,α约束法采用定义约束满意水平μ的方法来确定个体的满足约束的程度,同时通过定义α-level比较策略评价个体的优劣,以筛选出较优的个体,在允许的约束满意水平下有效地放大了约束区域,然而水平参数α的选取并没有考虑在算法不同阶段对可行个体与不可行个体的有效信息的充分利用,且约束满意水平参数的设置存在一定的盲目性。

而在智能优化算法方面,主要围绕如何提高现有算法的优化性能或设计出新型算法展开,如文献[8]在研究遗传算法的基础上,通过提出的顺序选择策略、基于方向的交叉策略以及动态随机变异策略对其进行改进,提高了算法的收敛速度。Mirjalili等[9]在设计并提出的灰狼优化算法(grey wolf optimizer, GWO)基础上,通过引入多目标优化处理技术,提出了多目标灰狼优化算法以处理约束优化问题。

课题组通过研究病毒在细胞环境内感染寄主细胞过程中所表现出的扩散与感染现象于2016年提出了病毒种群搜索算法(virus colony search algorithm, VCS)[10]。VCS算法是一种新型群智能算法,该算法在综合平衡算法的探索性能和开发性能的基础上,通过病毒扩散、寄主细胞感染以及免疫反应3个行为的相互作用,促使种群个体朝着全局最优解收敛。通过对40个不同类型的测试函数并与目前较为流行的8种算法比较,验证了其在收敛速度、搜索精度以及稳定性方面的优越性。虽然,文献[10]中讨论了利用罚函数法处理3个工程约束优化问题的有效性,但算法并没有对多种复杂约束优化问题进行讨论。

作者在前期研究的基础上,针对所提出的病毒种群搜索算法,结合机器学习中的反向学习机制和α-level比较策略约束处理方法,提出了基于反向学习的自适应α约束病毒种群搜索算法(self-adaptive α-constrained virus colony search based on opposition-based learning, SαVCS-OBL),以拓宽病毒种群搜索算法的应用领域。首先通过自适应α水平参数,提高了算法在不同阶段对可行个体与不可行个体有效信息的利用程度;其次,针对VCS算法的病毒扩散行为,利用反向学习机制以进一步提高算法的搜索能力和收敛速度。

1 病毒种群搜索算法

VCS算法主要包含3个策略:病毒扩散阶段中的高斯游走策略、寄主细胞感染阶段中的自适应协方差进化策略(evolutionary strategies with covariance matrix adaptation,CMA-ES)[11]以及免疫反应过程中的筛选进化策略。从理论角度分析,第1个策略的设计主要是为了提高算法的探索能力,第2个策略则是主要加强算法的开发能力,第3个策略则是充分利用生存能力较差的个体以提高整体的搜索效率。

1)病毒扩散。

病毒种群Vpop在初始化后,根据高斯游走策略在种群个体位置附近随机扩散:

$Vpo{p_i}' = {\rm{Gaussian}}(G_{\rm{best}}^g,\tau ) + ({r_1} \cdot G_{\rm{best}}^g - {r_2} \cdot Vpo{p_i})$ (1)

式中,Vpop'i为更新后种群的第i个( $ i=1,2, \cdots,N $ )个体,N为种群规模, $G_{\rm{best}}^g$ 为当前迭代次数g下的最优个体,Gaussian( $G_{\rm{best}}^g, \tau$ )为以 $G_{\rm{best}}^g$ 为均值, $\tau$ =lg(g)/g· $(Vpo{p_i} - G_{\rm{best}}^g)$ 为方差的高斯随机游走分布,r1r2为[0, 1]间的随机数。

2)寄主细胞感染。

更新后的种群首先根据VCS算法的边界控制策略对个体进行边界控制,即对于超出搜索区间的个体进行重新初始化,其次利用贪婪选择策略选择较优的个体并替换种群Vpop中相应较差的个体,而后结合CMA-ES策略,对寄主细胞进行感染交叉并产生新的种群Hpop

$Hpop_i^g = X_{\rm{mean}}^g + \sigma _i^g{B^g}{D^g}{G_i}$ (2)

式中,G为个体元素服从均值为0方差为1的标准正太分布矩阵,B为协方差矩阵C的特征向量,D为相应特征值, $X_{\rm{mean}}^g$ λ个较优个体的平均位置,σ为全局步长,参数的具体过程可参见文献[1011],在这里不再赘述。

3)免疫反应。

在对上述过程中产生的种群进行边界控制和个体更新后,由于寄主细胞免疫系统的作用,因此根据筛选进化策略,对病毒细胞中的较差个体和较好的个体分别采取不同的操作以提高病毒的免疫能力,如式(3)所示:

$\left\{\! \! \! {\begin{array}{*{20}{c}}{Vpo{p_{i,j}}''\! \! = \!\! Vpo{p_{k,j}} \! - \! rand \cdot (Vpo{p_{h,j}} \! - \! Vpo{p_{i,j}}),r \! > \! P{r_{rank(i)}}}\!;\\[2pt]\! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! {Vpo{p_{i,j}}'' \! = \! Vpo{p_{i,j}}, {\rm else} \qquad \qquad \qquad \qquad \qquad \quad}\end{array}} \right.$ (3)

式中,ikh为种群个体下标,且互不相等,j(j=1,2, $\cdots, D$ )为个体第j个元素,D为问题维数,randr为[0,1]之间的随机数,Prrank(i)为第i个个体的选择概率,计算式为:

$P{r_{rank(i)}} = \frac{{(N - i + 1)}}{N}$ (4)

式中,rank(i)为第i个个体适应度值从小到大的顺序。

最后通过边界控制和贪婪选择策略更新个体并选出适应度值较好的个体,直到满足终止条件,输出优化结果。

其中,边界控制策略如下:

1)if xi, j<Low, then xi, j=rand×(Up-Low)+Low

2)if xi, j>Up, then xi, j=rand×(Up-Low)+Low

其中,UpLow分别为搜索区间的上、下界,xi, j为第i个个体的第j维元素。

图1给出了VCS算法的基本流程。

图1 VCS算法的基本流程 Fig. 1 Flow chat of VCS algorithm

2 α 约束处理技术 2.1 约束优化问题

约束优化问题一般由目标函数、等式约束、不等式约束以及变量边界等组成,如下:

$\begin{array}{l}\min \;\;f(x)\\{\rm{s}}{\rm{.t}}{\rm{. }}\,\,\,{g_j}(x) \le 0,\;j = 1,2, \cdots,p;\\\;\;\;\;\;\;\;\;\;{h_k}(x) = 0,\;k = 1,2, \cdots,q;\\\;\;\;\;\;\;\;\;\;lo{w_i} \le {x_i} \le \;u{p_i},i = 1,2, \cdots,D\end{array}$ (5)

式中,f(x)为目标函数,g(x)为不等式约束,h(x)为等式约束,x=(x1, x2, …, xD)为一个D维向量,lowup分别为x的下界和上界。

一般情况下,式(5)等式约束需要转换为不等式约束,即

$|{h_k}(x)| - \delta \le 0$ (6)

式中,δ为容忍因子,一般为正数。

2.2 满意水平μ

满意水平函数μ(x)一般可以定义为:

$\left\{ {\begin{array}{*{20}{c}}{\!\!\!\mu (x) = 1,{\rm{if}}\;\;{g_j}(x) \le 0\;\text{且}{h_k}(x) \le 0\;\text{对所有}\;i,j};\\[3pt]{\!\!\!\!\! 0 \le \mu (x) \le 1,{\rm{otherwise}} \quad \quad \quad \qquad \quad \quad \quad \quad }\end{array}} \right.$ (7)

从式(7)中可以看出,当解的满意水平小于1时,即为不可行解。式(5)中每个约束可以转换为1个分段线性方程:

${\mu _{{g_j}}}(x) = \left\{ {\begin{array}{*{20}{c}}{\!\!\!\!\!\!\!\!\! 1,{\rm if}\;\;{g_j}(x) \le 0; \quad \quad \quad \quad \quad \;}\\[2pt]{\!\!\! 1 - {g_j}(x)/{b_j},\;{\rm if}\;0 \le {g_j}(x) \le {b_j};}\\[2pt]{\!\!\!\!\!\!\!\!\! 0,{\rm{otherwise}}\quad \quad \quad \quad \quad \quad \;}\end{array}} \right.$ (8)
${\mu _{{h_k}}}(x) = \left\{ {\begin{array}{*{20}{c}}{\!\!\! 1 - |{h_k}(x)|/{b_k},{\rm if}\;\;|{h_k}(x)| \le {b_k}}; \\[2pt]{\!\!\! 0,{\rm{otherwise}}\quad \quad \quad \quad \quad \quad }\end{array}} \right.$ (9)

式中,bjbk为2个正整数。

因此,结合各个约束条件的满意水平,解的满意水平可表示为:

$\mu (x) = \mathop {\min }\limits_{j,k} \{ {\mu _{{g_j}}}(x),{\mu _{{h_k}}}(x)\} $ (10)
2.3 α-level比较策略

α约束处理技术主要采用α-level比较策略来衡量个体的优劣,设f1f2μ1μ2分别为个体Vpop1Vpop2的目标函数值和满意度,则当满足下式时,则认为个体Vpop1优于个体Vpop2

$({f_1},{\mu _1}) < \alpha \qquad ({f_2},{\mu _2}) \Leftrightarrow \left\{ \begin{array}{l}\!\!\! {f_1} < {f_2},\;{\mu _1},{\mu _2} \ge \alpha ; \\\!\!\! {f_1} < {f_2},\;{\mu _1} = {\mu _2} ; \\\!\!\! {\mu _1} > {\mu _2}\end{array} \right.$ (11)

式中,α∈[0,1],当α=0时,式(11)中小于号<α等价于一般小于号<,即α约束变为无约束优化;当α=1时,则约束满意水平μ(x)的比较将代替目标函数值的比较。可以看出,当满足约束条件时,目标函数值的比较才有意义。通常,水平参数α设置为1。

3 基于自适应α 约束的改进VCS算法 3.1 约束满意水平参数b

从式(10)中可以看出,可以看出,约束满意水平的大小取决于参数 ${b_j}\left( {j = 1,2, \cdots ,p} \right)$ ${b_j}\left( {j = 1,2, \cdots ,q} \right)$ 的设置。而标准α约束中这2个参数往往根据不同的问题而设置相应固定的值,具有一定的盲目性,因此,利用初始种群约束满意水平的均值对其进行改进,由于初始种群是在相应约束优化问题的搜索区间内随机产生,从而具有一定的针对性,避免了参数设置不恰当而对算法性能带来的影响。

${b_j} = \frac{ \displaystyle {\sum\limits_{i = 1}^N {{\mu _{{g_j}}}(Vpo{p_i})} }}{N}$ (12)
${b_k} = \frac{ \displaystyle {\sum\limits_{i = 1}^N {{\mu _{{h_k}}}(Vpo{p_i})} }}{N}$ (13)

式中,N为种群Vpop规模。

3.2 自适应水平参数α

在标准α约束中,水平参数α一般设置为1,虽然在多数情况下可以满足约束问题的求解。但是当可行域较小时,比如存在多个强等式约束时,就必须通过调整α值而获得较好的解[12]。为了提高解的质量,必须在算法初期充分利用不可行解的个体信息,而在算法后期则需要加强利用可行解的个体信息,对此,文献[12]对α的计算提出了如下公式:

${\alpha ^t} = \left\{ {\begin{array}{*{20}{c}}{\!\!\! {\mu _0}, t = 0 ; \quad \qquad \qquad \qquad}\\[3pt]{\!\!\!(1 - \beta ) \cdot {\alpha ^{t - 1}} + \beta , t < {G_{\max }}/2 ;}\\[3pt]{\!\!\! 1, t \ge {G_{\max }}/2\qquad \qquad \qquad }\end{array}} \right.$ (14)

式中,β为控制α增大的比例系数,μ0为初始化种群满意水平的最大值与中值的平均值,且不大于0.1,t为迭代次数。

从式(14)可以看出,水平参数α主要依赖于比例系数β的确定,图2给出了β取不同值时α的变化曲线。从图2中可以看出,当β值较小时,算法逃离不可行域变得十分缓慢,同时提高了寻优的难度;而当β值较大时,α-level比较策略促使算法的搜索域快速减小,从而影响了解的质量。水平参数α的快速增大往往会以损失不可行解的个体信息为代价。

图2 β取不同值时α的变化曲线 Fig. 2 Curves of different αwith different β

对此,为了提高求解效率,在算法初期充分利用不可行解的个体信息,本文提出了自适应水平参数α的计算策略,如下式所示:

${\alpha ^t} = \left\{ {\begin{array}{*{20}{c}}{\frac{\displaystyle{1}}{\displaystyle{1 + \exp (4 - \varepsilon \cdot t/{G_{\max }})}},t < {G_{\max }}/2};\\[6pt]{\! 1, t \ge {G_{\max }}/2 \qquad \qquad \quad \quad \quad \quad }\end{array}} \right.$ (15)

式中,ε为控制水平参数的增长速率。

图3给出了ε取不同值时α的变化曲线。与图2α的变化相比,图3中水平参数在初始搜索阶段成S型曲线缓慢变化,因此,种群可以避免早熟并拥有足够的时间跳出不可行区域。

图3 ε取不同值时α的变化曲线 Fig. 3 Curves of different αwith different ε

3.3 基于反向学习机制的病毒扩散行为

基于反向学习的机器学习方法一经提出,便引起了学者们的广泛关注,特别是在进化计算领域[13]。为了进一步提高VCS算法求解约束优化问题的收敛速度和搜索精度,本文引入文献[14]针对差分进化算法提出的反向学习方法对VCS算法的病毒扩散阶段进行改进,具体过程如下:

Step1:根据式(1)产生新种群Vpop';

Step2:根据反向学习机制,即式(16)产生反向种群OVpop';

$OVpop_{i,j}' = G_j^{\rm Worst} + G_j^{\rm Best} - Vpop_{i,j}'$ (16)

式中, $G_j^{\rm Worst}$ 为当前最差个体的第j个元素(j= $ 1,2,\cdots, $ D), $G_j^{\rm Best}$ 为当前最优个体的第j个元素,计算流程如下:

1)if rand(0, 1)<Pc do

2) for i=1 to N do

3)  for j=1 to D do

4)    $OVpop_{i,j}^{'}$ = $G_j^{\rm Worst}$ + $G_j^{\rm Best}$ - $Vpop_{i,j}^{'}$ ;

5)  end for

6)  end for

7)end if

其中,Pc为代跃概率,一般情况下Pc=0.3[14]

Step3: 从种群Vpop'与反向种群OVpop'中选出最优个体组成新的种群Vpop

3.4 SαVCS-OBL算法的实现流程

本文提出的SαVCS-OBL算法的具体流程如下:

步骤1: 初始化参数NDLowUpε以及Gmax;

步骤2: 在搜索区间内随机生成初始种群Vpop,根据式(12)~(13)计算种群的约束满意水平参数bjbk, 并评价初始种群;

步骤3: 根据式(15)计算水平参数α

步骤4: 执行基于反向学习机制的病毒扩散行为,产生种群Vpop'与反向种群OVpop',并执行边界控制策略;

步骤5: 根据式(8)~(11)进行自适应水平参数的α约束比较,从种群Vpop'与反向种群OVpop'筛选出较优个体更新种群Vpop;

步骤6: 执行寄主细胞感染行为,产生种群Hpop,并对其进行边界控制;

步骤7: 根据式(8)~(11)进行自适应水平参数的α约束比较更新种群Vpop;

步骤8: 执行免疫反应行为,产生种群Vpop'',并对其进行边界控制;

步骤9: 根据式(8)~(11)进行自适应水平参数的α约束比较更新种群Vpop;

步骤10: 判断是否满足终止条件,若满足,执行步骤11,否则执行步骤3;

步骤11: 输出最优解。

4 仿真实验与结果分析

实验采用Matlab R2013a进行仿真,运行环境为Intel(R) Core(TM) i5-3470处理器,3.46 G内存。

为了验证本文SαVCS-OBL算法在求解约束优化问题的有效性和优越性,首先采用文献[15]中13个国际通用的约束测试函数进行测试,并与目前较为先进的αSimplex算法[7]、粒子群遗传算法(particle swarm-assisted genetic algorithm, PSGA)算法[16]、交叉人工蜂群算法(crossover-based artificial bee colony, CBABC)算法[17]以及约束改进差分进化算法(constrained optimization based on modified differential evolution,COMDE)算法[18]进行对比,算法的参数设置可参见文献[7, 1618];其次,针对无人机协同航迹规划约束问题,利用所提出的SαVCS-OBL算法对其进行优化求解,以验证其求解实际问题的有效性。

4.1 标准测试函数实验验证

表1给出了13个约束测试函数的基本参数设置,其中,D为问题维度,ρ为可行域与搜索区间的估计比率,Gmax为最大迭代次数,f(x*)为最优值。

表1 13个测试函数的基本设置 Tab. 1 Basic settings of 13 benchmark functions

所用测试函数中对于等式约束δ=0.000 1,种群规模N=150,SαVCS-OBL算法中ε=10。仿真针对同一测试函数,每个算法独立运行30次,通过计算统计平均值M、方差S、最优值B、最差值W来比较算法的优化性能。表23分别给出了仿真结果。

表2 g01~g04的比较结果 Tab. 2 Comparison results of g01~g03

表3 g05~g13的比较结果 Tab. 3 Comparison results of g04~g13

表23的结果中可以看出,本文算法针对上述13个约束测试函数,表现出了良好的优化性能,除了函数g02外,SαVCS-OBL算法均能搜索到最优解,而PSGA算法仅能寻找到6个测试函数的最优解,CBABC算法在8个测试函数上(g01、g03、g06、g08、g09、g12、g13)达到了最优,COMDE算法在对6个函数(g01、g05、g06、g08、g09、g11、g12、g13)的优化中找到了最优解,αSimplex算法在7个测试函数(g03、g04、g06、g08、g09、g11、g12)的优化中达到了最优结果。对于g13函数,COMDE相比于所提出的SαVCS-OBL算法,表现出了较好的稳定性。而对于g02函数,由于其维度高且可行域较窄,因此上述5种算法均无法收敛至全局最优解,而相比于其他4种算法,SαVCS-OBL算法仍然表现出了较好的优化性能。

为了进一步说明本文算法的优越性,本文针对表23中的均值结果,利用多组数据分析的Wilcoxon符号秩检验[19]进行分析,表4给出了置信水平a=0.05的检验结果,其中“+”表示第1个算法明显优于第2个算法,“-”表示第1个算法明显差于第2个算法,而“≈”表示两种算法性能相当。从表4中可以看出,SαVCS-OBL算法明显优于FSGA、CBABC、COMDE以及αSimplex算法。

表4 Wilcoxon符号秩检验结果 Tab. 4 Results of Wilcoxon sign rank test

4.2 无人机协同航迹规划问题求解

为了验证本文算法在求解实际问题的有效性,针对多无人机(unmanned aerial vehicle, UAV)协同航迹规划这一约束优化问题,利用所提出的SαVCS-OBL算法对其进行优化求解。

首先对问题模型进行描述,本文中多无人机协同航迹规划问题可以描述为各个UAV朝着目标PT(xT yT)以较短路径飞行且同时到达目标点。通过控制航向和航程的方法从而产生下一个航路点,如图4所示。M架无人机中,第j架UAV当前航路点Pj, i(xj i, yj, i, zj,i)作为下一飞行状态的初始点,如图4所示,Pj,i+1(xj,i+1, yj,i+1, zj,i+1)为产生的下一航路点,R为UAV的探测半径,将飞行方向与向量 ${{\mathit{\boldsymbol{P}}}_{j,i + 1}}{{\mathit{\boldsymbol{P}}}_T} $ 的夹角γj作为控制朝目标飞行的控制量,航程差Disj来控制第j架UAV的飞行路径,则目标函数为:

$fit = \sum\limits_{j = 1}^M {(|{\gamma _j}| + Di{s_j})} $ (17)

其中:

${\gamma _j} = \arccos (\frac{{{{{\mathit{\boldsymbol{P}}}_{j,i}}{{\mathit{\boldsymbol{P}}}_{j,i + 1}}} \cdot {{{\mathit{\boldsymbol{P}}}_{j,i + 1}}{{\mathit{\boldsymbol{P}}}_T}} }}{{\left| {{{{\mathit{\boldsymbol{P}}}_{j,i}}{{\mathit{\boldsymbol{P}}}_{j,i + 1}}} } \right| \cdot \left| {{{{\mathit{\boldsymbol{P}}}_{j,i + 1}}{{\mathit{\boldsymbol{P}}}_T}} } \right|}})$ (18)
$Di{s_j} \! = \! {L_j} \! +\! {l_j} \! - \! {L_{ST}}_j \! = \! \left| {{{{\mathit{\boldsymbol{P}}}_{j,i + 1}}{{\mathit{\boldsymbol{P}}}_T}} } \right| \! + \! \left| {{{{\mathit{\boldsymbol{P}}}_{j,i}}{{\mathit{\boldsymbol{P}}}_{j,i + 1}}} } \right| \! - \! \left| {{{{\mathit{\boldsymbol{P}}}_{j,i}}{{\mathit{\boldsymbol{P}}}_T}} } \right|$ (19)

不等式约束和等式约束条件主要采用文献[20]提出的关于威胁、机身性能等处理方法,即:

${g_1} \! = \! \mathop {\max }\limits_{j = 1,2, \cdots, M} (\sum\limits_{i = 1}^N {(R_c^i \! - \! {{\left\| {{x_j} \! - \! x_c^i,{y_j} \! - \! y_c^i,{z_j} \! - \! z_c^i} \right\|}_2}))} \le 0$ (20)
${g_2} = \mathop {\max }\limits_{j \in K} (H({x_j},{y_j}) + {z_j} - {H_{\max }}) \le 0$ (21)
${g_3} = \mathop {\max }\limits_{j \in K} (S{c_j} - {\alpha _j}) \le 0$ (22)
${g_4} = \mathop {\max }\limits_{j \in K} ({\beta _j} - S{c_j}) \le 0$ (23)
${g_5} = \mathop {\max }\limits_{j \in K} |\Delta {\alpha _{j,i}} - {\alpha _{\max }}| \le 0$ (24)
${g_6} = \mathop {\max }\limits_{j \in K} ({d_{\min }} - {\left\| {{P_{j,i}} - {P_{k,i}}} \right\|_2}) \le 0,\;\forall j \ne k$ (25)
${h_1} = \mathop {\max }\limits_{i,j \in K} \{ \left| {({L_{i,PT}} + {F_{i,P}})/{v_i} - ({L_{j,PT}} + {F_{j,P}})/{v_j}} \right|,i \ne j\} $ (26)

其中,

${\alpha _j} \! = \! - 1.537\,\,\,7 \times {10^{ - 10}}z_j^2 \! - \! 2.699\,\,\,7 \times {10^{ - 5}}{z_j} \! + \! 0.421\,\,\,1\! $ (27)
${\beta _j} = 2.506\,\,\,3 \times {10^{ - 9}}z_j^2 - 6.301\,\,\,4 \times {10^{ - 6}}{z_j} - 0.325\,\,\,7$ (28)
$S{c_j} = \frac{{{z_{j,i + 1}} - {z_{j,i}}}}{{\sqrt {{{({x_{j,i + 1}} - {x_{j,i}})}^2} + {{({y_{j,i + 1}} - {y_{j,i}})}^2}} }}$ (29)
${\alpha _{j,i}} = \left\{ {\begin{array}{*{20}{c}}{\!\!\! \arctan (\Delta {x_j}/\Delta {y_j}),\Delta {y_j} \ge 0;\quad \quad \quad \qquad}\\[2pt]{\!\!\! \arctan (\Delta {x_j}/\Delta {y_j}) + \pi ,\;\Delta {y_j} < 0,\;\Delta {x_j} > 0;}\\[2pt]{\!\!\! \arctan (\Delta {x_j}/\Delta {y_j}) + \pi ,\;\Delta {y_j} < 0,\;\Delta {x_j} \le 0}\end{array}} \right.$ (30)

式中,g1为威胁约束, $(x_c^i,y_c^i,z_c^i)$ 为第i个半球形威胁的球心坐标, $R_c^i$ 为威胁半径,N为威胁个数;g2为地形约束,H(xj,yj)为第j架UAV航路点(xj,yj)所对应的地面高度,Hmax为最大高度;g3g4分别为爬升坡度和下降坡度约束;g5为最大转弯角约束,其中;Δαj,i=αj, i+1αj,i为转弯角,αmax为最大转弯角,且Δx; i=xj, +1xj,i,Δyj, i=yj,i+1yj,ig6为防碰撞约束,dmin为无人机间的最小间隔;h1为速度约束,通过优化速度变量v,以达到多架无人机同时到达目标点的目的;

${L_{j,PT}} = {\left\| {{P_{j,i + 1}} - {P_T}} \right\|_2}\text{;}{F_{j,p}} = {\sum\nolimits_{i = 0}^C {\left\| {{P_{j,i + 1}} - {P_{j,i}}} \right\|} _2}\text{。}$

其中,C为第j架UAV已经规划出的航路点个数;另外,飞行高度约束可通过SαVCS-OBL算法的边界控制策略将坐标变量z控制在安全飞行高度区间[HsafeL, HsafeU]内。则无人机协同航迹规划问题模型可概括为式(31):

图4 航路点产生过程 Fig. 4 Generation process of flight point

$\begin{array}{l}\mathop {\min }\limits_{x,y,z,v} \;\;f(x,y,z,v) = fit\text{,}\\[2pt]{\rm{s}}{\rm{.t}} \,\,\,{\rm{. }}{g_j}(x,y,z,v) \le 0,\;j = 1,2,\cdots,6;\\[2pt]\;\;\;\;\;\;\;\;\;{h_k}(x,y,z,v) = 0,\;k = 1\;\end{array}$ (31)

基于上述模型,通过与COMDE算法相比较,以验证SαVCS-OBL算法求解多UAVs协同实时航迹规划问题的有效性。设任务空间[0,100] km×[0,100] km×[0, 16] km内存在不同类型的12个威胁,探测半径R=10 km,UAV性能参数为αmax=π/2,HsafeL=0.01 km、HsafeU=5 km,vmin=50 m/s,vmax=300 m/s,3架UAV起始点坐标分别为(90,95)、(2,20)和(5,92),目标点为(46,49),且起始飞行方向指向目标点,其中,有一个威胁覆盖UAV3的起始点。维度D=3×4=12,种群规模N=60,迭代次数25,dmin=1 km,Hmax=8 km。

图56分别给出了在相同条件下两种方法3维和平面的规划结果。从图56中可以看出,UAV3虽然在起始点探测到威胁,但两种方法均能快速跳出威胁,说明了本文所设计的问题模型的有效性,同时可以发现,相比于COMDE算法,SαVCS-OBL算法在跳出威胁时能以较为平滑的航迹绕过地形障碍并逐渐搜索下一航迹点。另一方面,在图56中可以看出COMDE算法所规划出的航迹会出现无法及时规避威胁的情况,而SαVCS-OBL算法所规划出的协同航迹均能有效规避威胁,且相比于COMDE算法更为平滑。

图5 两种算法3维规划结果 Fig. 5 Planning results of two algorithms in 3D view

图6 两种算法的平面规划结果 Fig. 6 Planning results of two algorithms in 2D view

图7为两种算法的平均收敛曲线,从图7中可以看出,相比于COMDE算法,SαVCS-OBL算法明显收敛较快,另外,COMDE算法在最大评价次数为1 500次时(迭代次数为1500÷60=25次),尚无法收敛至较优解,而采用改进的SαVCS-OBL算法则在较少评价次数时已收敛至较为理想的解。

图7 收敛曲线 Fig. 7 Convergence curves

表5列出了两种方法的仿真结果,从表5中可以看出,COMDE算法在规划过程中由于产生了不必要的航路点而导致了3架UAVs总飞行距离及飞行时间大于利用SαVCS-OBL算法所规划的结果,另外,COMDE算法虽然到达时间误差较小,但相比于SαVCS-OBL算法明显较差,特别需要指出的是COMDE算法在上述实验设置的条件下无法有效规避威胁,也说明了利用SαVCS-OBL算法能有效处理所多UAVs协同实时航迹规划问题。

表5 仿真结果 Tab. 5 Simulation results

5 结 论

本文在前期提出的病毒种群搜索算法的基础上,针对约束优化问题,提出了基于反向学习的自适应α约束病毒种群搜索算法。通过对13个标准约束测试函数的仿真并与PSGA、CBABC、COMDE以及αSimplex约束算法相比较,说明了所提出的算法在有效提高种群多样性的基础上,能够以较快的速度收敛至全局最优解,且具有较好的搜索精度和稳定性。另一方面,通过将该算法应用与无人机协同航迹规划问题中,并与COMDE约束算法进行比较,从而进一步验证了本文所提出的算法对于求解多机协同航迹规划这一实际约束优化问题的有效性。然而,在求解高维、窄可行域约束优化问题方面,仍需进一步的研究。

参考文献
[1]
Mezura-Montes E, Coello C A. Constraint handling in nature-inspired numerical optimization:Past,present and future[J]. Swarm and Evolutionary Computation, 2011, 1(4): 173-194. DOI:10.1016/j.swevo.2011.10.001
[2]
Bi Xiaojun, Zhang Lei. Dual population constrained optimization algorithm with hybird strategy[J]. Control and Decision, 2015, 30(4): 715-720. [毕晓君, 张磊. 基于混合策略的双种群约束优化算法[J]. 控制与决策, 2015, 30(4): 715-720.]
[3]
Guo S M, Hsu P H, Yang C C, Tsai J S H. Constrained min-max optimization via the improved constraint-activated differential evolution with escape vectors[J]. Expert Systems with Applications, 2016, 46: 336-345. DOI:10.1016/j.eswa.2015.10.042
[4]
Mellal M A, Williams E J. Cuckoo optimization algorithm with penalty function for combined heat and power economic dispatch problem[J]. Energy, 2015, 93(2): 11711-11718.
[5]
Cai Z X, Wang Y. A multiobjective optimization based evolutionary algorithm for constrained optimization[J]. IEEE Transactions on Evolutionary Computation, 2006, 10(6): 658-675. DOI:10.1109/TEVC.2006.872344
[6]
Rodrigues M D C, Lima B S L P, Solange G. Balanced ranking method for constrained optimization problems using evolutionary algorithms[J]. Information Sciences, 2016, 327: 71-90. DOI:10.1016/j.ins.2015.08.012
[7]
Takahama T, Sakai S. Constrained optimization by applying the α constrained method to the nonlinear simplex method with mutations [J]. IEEE Transactions on Evolutionary Computation, 2005, 9(5): 437-451. DOI:10.1109/TEVC.2005.850256
[8]
Chuang Y C, Chen C T, Hwang C. A simple and efficient real-coded genetic algorithm for constrained optimization[J]. Applied Soft Computing, 2016, 38: 87-105. DOI:10.1016/j.asoc.2015.09.036
[9]
Mirjalili S, Saremi S, Mirjalili S M. Multi-objective grey wolf optimizer: A novel algorithm for multi-criterion optimization[J]. Expert Systems with Applications, 2016, 47: 106-119. DOI:10.1016/j.eswa.2015.10.039
[10]
Li M D, Zhao H, Weng X W, Han T. A novel nature-inspired algorithm for optimization:virus colony search[J]. Advances in Engineering Software, 2016, 92: 65-88. DOI:10.1016/j.advengsoft.2015.11.004
[11]
Hansen N, Müller S D, Koumoutsakos P. Reducing the time complexity of the derandomized evolution strategy with covariance matrix adaptation (CMA-ES)[J]. Evolutionary Computation, 2003, 11(1): 1-18. DOI:10.1162/106365603321828970
[12]
Wang L, Li L P. Fixed-structure H controller synthesis based on differential evolution with level comparison [J]. IEEE Transactions on Evolutionary Computation, 2011, 9(1): 120-129.
[13]
Xu Q Z, Wang L, Wang N. A review of opposition-based learning from 2005 to 2012[J]. Engineering Applications of Artificial Intelligence, 2014, 29(1): 1-12.
[14]
Wei Wenhang, Zhou Jianlong, Tao Ming. Constrained differential evolution using opposition-based learning[J]. ACTA Electronica Sinica, 2016, 44(2): 426-436. [魏文红, 周建龙, 陶铭. 一种基于反向学习的约束差分进化算法[J]. 电子学报, 2016, 44(2): 426-436.]
[15]
Yu K J, Wang X, Wang Z L. Constrained optimization based on improved teaching learning based optimization algorithm[J]. Information Sciences, 2016, 352: 61-78.
[16]
Dhadwal M K, Jung S N, Kim C J. Advanced particle swarm assisted genetic algorithm for constrained optimization problems[J]. Computational Optimization and Applications, 2014, 58(3): 781-806. DOI:10.1007/s10589-014-9637-0
[17]
Brajevic I. Crossover-based artificial bee colony algorithm for constrained optimization problems[J]. Neural Computing and Applications, 2015, 26(7): 1587-1601. DOI:10.1007/s00521-015-1826-y
[18]
Mohamed A W. Constrained optimization based on modified differential evolution algorithm[J]. Information Sciences, 2012, 194: 171-208. DOI:10.1016/j.ins.2012.01.008
[19]
Corder G W,Foreman D I.Nonparametric statistics for non-statisticians:A step-by-step approach[M].New Jersey:John Wiley & Sons,2009.
[20]
Fu Y, Ding M, Zhou C. Route planning for unmanned aerial vehicle (UAV) on the sea using hybrid differential evolution and quantum-behaved particle swarm optimization[J]. IEEE Transactions on Systems,Man and Cybernetics:Part A:Systems, 2013, 43(6): 1451-1465. DOI:10.1109/TSMC.2013.2248146