一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于果蝇算法的约束区域均匀试验设计方法与流程

2021-11-25 00:18:00 来源:中国专利 TAG:


1.本发明属于均匀实验技术领域,尤其是涉及一种基于果蝇算法的约束区域均匀试验设计方法。


背景技术:

2.试验设计是一类安排试验和分析试验数据的数理统计方法,通过对试验方案进行合理的安排,以较小的试验规模、较少的试验次数、较短的试验周期及较低的试验成本,获得理想的试验结果并得出科学的结论。试验设计方法最早由英国人r,a,fisher提出并经过多年的发展和改进,现已被广泛应用于计算机仿真试验和工业试验等领域。常用的试验设计方法主要有:正交试验设计、均匀试验设计、因子设计、拉丁方试验设计等方法。
3.均匀试验设计(uniform design)是目前试验设计方法中应用最为广泛的一种方法。它由方开泰和王元两位数学家于1978年提出。均匀试验设计方法是在试验范围内挑选出充分均衡分散的部分代表性试验点的试验方法。目前均匀试验设计方法主要有传统均匀设计、基于数论的均匀设计以及基于演化算法的均匀设计等三种方法。传统的均匀设计方法首先在设计空间内生成均匀的一组试验样本,然后检查违反约束条件的样本个体,并将违反约束的样本删除。这类方法难以适用于求解可行域比例很小的试验设计问题。基于数论的均匀设计方法在设计空间内产生均匀分布的样本后,通过映射函数对约束进行处理。然而这类方法往往只能处理线性等式约束,对于其它的约束条件只能采用类似均匀试验设计方法的处理方式,该类方法不适用于求解带有复杂约束的均匀设计问题。针对传统方法和基于数论方法中难以处理线性/非线性、等式/不等式约束这一问题,近年来已涌现出一些用于约束区域均匀试验设计的演化算法。topde和topdeeda是两种可获取较高质量解的代表性演化算法。
4.topde和topdeeda两种算法都采用了两阶段演化的思想,即第一阶段优化的目标是获得符合约束的可行解种群,并通过引入聚簇机制提高种群在约束域内分布多样性,第二阶段优化的目标是使得符合约束的个体在可行域内的分布均匀化。topdeeda分别对topde的第一阶段和第二阶段进行了改进。具体地,topdeeda第一阶段中增加了基于分布估计的新解产生策略,在提高搜索效率的同时,帮助丰富第二阶段初始解的多样性;topdeeda第二阶段提出了新的删点策略以降低计算复杂性。尽管topde和topdeeda可有效求解带线性/非线性、等式/不等式约束的均匀试验设计问题,但它们仍存在两个问题:一是第一阶段采用随机参考点的聚类方法,不利于种群在约束区域内的分布多样性;另一是第二阶段缺乏有效的约束区域内局部搜索能力,使得在求解约束区域范围较小且高度不规则的问题时难以保障个体在约束区域内均匀分布。上述两个问题从一定程度上影响了topde和topdeeda解质量的提高。
5.针对上述问题,本文提出了一种基于果蝇算法的约束区域均匀试验设计方法(简称topfoa)。与topde和topdeeda类似,topfoa也采用两阶段优化框架,但做了如下改进:(1)第一阶段运用融合差分算子的果蝇搜索策略、基于k

means聚类及外部文档更新类中心等
方法,以动态改进种群在约束区域分布的多样性;(2)第二阶段使用自定义果蝇算子提高约束区域内局部搜索能力。在标准测试集和汽车碰撞结构仿真问题上与topdeeda和topde实验对比结果表明topfoa在解质量和稳定性上均优于topdeeda和topde。


技术实现要素:

6.有鉴于此,本发明旨在提出一种基于果蝇算法的约束区域均匀试验设计方法,以解决现有的均匀试验设计不利于种群在约束区域内的分布多样性;使得在求解约束区域范围较小且高度不规则的问题时难以保障个体在约束区域内均匀分布。
7.为达到上述目的,本发明的技术方案是这样实现的:
8.一种基于果蝇算法的约束区域均匀试验设计方法,包括以下两个阶段:
9.k/de融合的全局搜索策略,基于k

means聚类及外部文档更新类中心,并运用融合差分算子的果蝇搜索策略,以动态改进种群在约束区域分布的多样性;
10.lm/ps融合的局部搜索策略,基于局部变异算子的种群生成策略和基于最小欧式距离的种群选择策略提高约束区域内局部搜索能力。
11.进一步的,k/de融合的全局搜索策略中的具体算法包括以下步骤:
12.s11.随机生成初始种群p(t),t=0;其中定义ns代表子种群大小,np代表种群大小,n代表初始采样点个数,t代表演化代数;
13.s12.使用k

means聚类算法将种群p(t)聚成(np/ns)个子种群;
14.s13.判断种群p(t)={p1(t),...,p
i
(t),...,p
np/ns
(t)}中每个子种群是否存在大于或等于n/(np/ns)个合法个体,是则执行步骤s15,否则执行下一步;
15.s14、借助外部文档更新子种群,形成新的子种群,返回步骤s13继续判断新的子种群是否符合要求;
16.s15、从每个种群中选n/(np/ns)个体形成个体集s输出。
17.进一步的,步骤s14中借助外部文档更新子种群的过程包括以下步骤:
18.s1401、初始化外部文档为空;
19.s1402、将每个子种群p
i
(t)中合法个体存入外部文档,并根据个体适应度评估函数f1的值选择外部文档中的每个子种群中的最优个体作为子种群中心
20.s1403、判断每个子种群p
i
(t)的中心个体是否合法且不等于最优个体是则转步骤s1405,否则执行下一步;
21.s1404、通过差分算子更新子种群p
i
(t)的中心个体返回步骤s1403中,继续判断更新的子种群p
i
(t)中心个体是否符合要求;
22.s1405、从外部文档子种群p
i
(t)中按个体适应度评估函数f1值选择不劣于的个体放入外部文档,使用k

means聚类算法将个体聚成新的种群p(t 1)。
23.进一步的,步骤s1404中差分算子更新子种群p
i
(t)的中心个体过程包括以下步骤:
24.s140401、将每个子种群赋值给临时子种群tp,对每个子种群p
i
(t)的中心,根据果蝇变异算子、差分算子的变异算子和交叉算子生成临时子种群qp;
25.s140402、根据选择算子从种群tp∪qp中按个体适应度评估函数f1择优选择形成新的子种群p
i
(t);
26.s140403、从新的子种群p
i
(t)中按个体适应度评估函数f1选择最好的个体作为新的子种群中心
27.进一步的,步骤s140403中个体适应度评估函数为:
[0028][0029]
f1是个体适应度评估函数,g
k
是个体x
i
的等式、不等式约束的违反程度,k为编号;
[0030]
步骤s140401果蝇变异算子公式如下:
[0031][0032]
x
i,j
表示第j个决策变量,分别表示决策变量的下界、上界,x
axis,j
表示果蝇中心个体的第j个决策变量;rand∈[0,1]和j
rand
∈[1,d]分别表示一个随机数;
[0033]
步骤s140401中差分算子包括:变异算子、交叉算子、选择算子;
[0034]
变异算子公式如下:
[0035]
v
i
=x
i
rand
×
(x
r1

x
i
) f
×
(x
r2

x
r3
),i=1,2...,ns;
[0036]
其中,x
i
表示果蝇个体;x
i,j
表示第j个决策变量,表示决策空间,v
i
表示变异向量,x
r1
、x
r2
和x
r3
表示种群中三个随机个体,ns表示种群大小,f为缩放因子;
[0037]
交叉算子公式如下:
[0038][0039]
其中v
i
表示变异向量,v
i,j
表示v
i
中第j个维度,rand∈[0,1]和j
rand
∈[1,d]分别表示一个随机数,x
i,j
表示第j个决策变量;
[0040]
步骤s140402中选择算子公式如下:
[0041][0042]
x
i
表示果蝇个体,q
i
表示试验向量,f1是个体适应度评估函数,ns为子种群大小。
[0043]
进一步的,lm/ps融合的局部搜索策略具体包括以下步骤:
[0044]
s21.将种群s(t)赋给临时种群tp(t)={tp1(t),tp2(t),...,tp
n
(t)},
[0045]
s22.对种群tp(t)中的每个子种群tp
i
(t),进行果蝇算法迭代,更新子种群tp
i
(t);
[0046]
s23.对种群tp(t)通过merge算法得到新的种群tp(t 1);
[0047]
s24.将种群tp(t 1)赋值给种群s(t 1),并判断s(t 1)是否连续c次迭代无变化,是则输出最终的s,不是则返回步骤s22中。
[0048]
进一步的,步骤s22中果蝇算法迭代过程包括如下步骤:
[0049]
s221、初始循环次数g=0,并使子种群tp
i
(t)作为果蝇中心
[0050]
s222、判断循环次数g是否小于预设的最大迭代次数maxgen,是则进行下一步,否则执行步骤3.6;
[0051]
s223、基于果蝇中心根据局部变异算子生成子种群p
i
(g);
[0052]
s224、根据个体适应度评估函数选择子种群p
i
(g)中的最优个体作为新的果蝇子种群中心
[0053]
s225、循环次数g=g 1,返回步骤s222;
[0054]
s226、将子种群p
i
(t)中的合法个体组成候选子种群c
i

[0055]
s227、如果子种群c
i
大小|c
i
|>0,则通过计算每个子种群c
i
的最小欧氏距离更新子种群tp
i
(t)。
[0056]
进一步的,步骤s227中计算每个子种群c
i
的最小欧氏距离更新子种群tp
i
(t),过程包括以下步骤:
[0057]
s2271、计算子种群c
i
中每个个体的适应度,即该个体距离种群tp(t)中除tp
i
(t)外其他个体的最小欧氏距离;
[0058]
s2272、选择子种群c
i
中适应度值最大的个体作为候选个体c
i

[0059]
s2273、种群tp(t)中按个体适应度函数f2值计算个体tp
i
(t)的适应度值;
[0060]
s2274、如果个体c
i
优于个体tp
i
(t),则个体c
i
替换tp(t)中个体tp
i
(t)。
[0061]
进一步的,步骤s23中merge算法包括以下步骤:
[0062]
s231、使种群s(t)=种群s(t)∪种群tp(t);
[0063]
s232、判断种群s(t)的个数是否>子种群个数n,是执行下一步,否则跳转步骤s;
[0064]
s233、根据个体适应度函数f2计算个体集s中每个个体的适应度值;
[0065]
s234、从个体集s中去掉适应度值最小的个体,若存在两个个体的适应度值大小相等且都最小,则比较这两个个体的次小欧氏距离,找出次小欧氏距离最小的;
[0066]
s235.输出个体集s。
[0067]
进一步的,步骤s223中局部变异算子公式如下:
[0068][0069]
x
i,j
表示第j个决策变量,分别表示决策变量的下界、上界,x
axis,j
表示果蝇中心个体的第j个决策变量,rand∈[0,1]和j
rand
∈[1,d]分别表示一个随机数;
[0070]
步骤s2273与s233中任一所述的个体适应度函数f2公式如下:
[0071][0072][0073]
果蝇个体记为x
i
=(x
i,1
,x
i,2
,...,x
i,d
)∈s,其中x
i,j
表示第j个决策变量,表示决策空间,d表示决策变量的个数,分别表示决策变量的下界、上界,k表示编号,dis为欧式距离函数,normal为正则化函数。
[0074]
相对于现有技术,本发明所述的一种基于果蝇算法的约束区域均匀试验设计方法具有以下有益效果:
[0075]
本发明所述的一种基于果蝇算法的约束区域均匀试验设计方法,第一阶段中,通过融合差分算子的果蝇搜索策略扩大算法搜索范围,同时基于k

means聚类将种群划分为多个子种群,并通过外部文档更新类中心,以动态改进种群在约束区域分布的多样性;第二阶段中,通过自定义果蝇算子在约束区域内局部搜索,进一步提高算法求解质量;topfoa获
得了均匀分布性更好的解,而且算法的稳定性更优。
附图说明
[0076]
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0077]
图1为本发明实施例所述的约束区域均匀试验设计示意图;
[0078]
图2为本发明实施例所述的foa搜索过程的示意图;
[0079]
图3为本发明实施例所述的topde算法流程图;
[0080]
图4为本发明实施例所述的topde、topdeeda和topfoa求解5个案例的md值统计盒图;
[0081]
图5为本发明实施例所述的topde、topdeeda和topfoa求解5个案例在第一阶段获得的md值统计盒示意图;
[0082]
图6为本发明实施例所述的topde和topfoa求解5个案例在第二阶段获得md值统计盒示意图;
[0083]
图7为本发明实施例所述的图8topfoasingle和topfoakmeans求解5个测试案例在第一阶段获得的结果统计盒示意图;
[0084]
图8为本发明实施例所述的k/de融合的全局搜索策略示意图;
[0085]
图9为本发明实施例所述的lm/ps融合的局部搜索策略示意图。
具体实施方式
[0086]
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0087]
下面将参考附图并结合实施例来详细说明本发明。
[0088]
如图1至图9所示,topfoa算法是一种基于果蝇算法的约束区域均匀试验设计方法,其特征在于包括以下两个阶段:
[0089]
第一阶段:k/de融合的全局搜索策略主要应用在topfoa算法的第一阶段,主要借助融合差分算子的果蝇搜索策略进行搜索以帮助扩大搜索范围;使用k

means进行聚类并借助外部文档更新聚类中心,以动态改进种群在约束区域分布的多样性。具体算法流程包括以下内容:
[0090]
输入:子种群大小ns、种群大小np以及初始采样点个数n;
[0091]
输出:满足约束的个体集s;
[0092]
s101.随机生成初始种群p(t),t=0;
[0093]
s102.使用k

means聚类算法将种群p(t)聚成(np/ns)个类(子种群);
[0094]
s103.判断种群p(t)={p1(t),...,p
i
(t),...,p
np/ns
(t)}中每个子种群是否存在至少(n/(np/ns))个合法个体,是则转步骤s110,否则转步骤s104;
[0095]
s104.初始化外部文档archive为空;
[0096]
s105.对每个子种群p
i
(t),将合法个体存入外部文档archive,并根据f1(见公式(4))的值选择每个子种群中的最优个体作为子种群中心
[0097]
s106.判断每个子种群p
i
(t)的中心个体是否合法且不等于是则转步骤s108,否则转步骤s107;
[0098]
s107.更新子种群中心
[0099]
s107.1令tp=p
i
(t);
[0100]
s107.2对每个子种群中心依次使用变异算子(见公式(5))和差分算子(见公式(7)

(8))生成新的临时子种群qp;
[0101]
s107.2根据式(9)从种群tp∪qp中按适应度f1择优选择个体形成新的种群p
i
(t);
[0102]
s107.3从p
i
(t)中按适应度f1选择最好的个体作为新的子种群中心转步骤s106;
[0103]
s108.从子种群p
i
(t)中按f1函数值选择不劣于的个体放入外部文档archive;
[0104]
s109.对外部文档archive使用kmeans聚类聚成(np/ns)个类,t=t 1,跳转步骤s103;
[0105]
s110.从每个子种群中选出距离该类中心最近的(n/(np/ns))个个体形成新的个体集s输出;
[0106]
第二阶段:lm/ps融合的局部搜索策略
[0107]
lm/ps是一种将基于局部变异算子(local mutation,简记为lm)的种群生成策略和基于最小欧式距离的种群选择策略(population selection,简记位ps)融合的局部搜索策略;第二阶段演化过程中,topfoa算法首先依据式(6)生成果蝇种群进行局部搜索,然后根据适应度评估函数f2来选择种群;算法步骤如下:
[0108]
输入:第一阶段输出的满足约束的个体集s,内循环迭代次数maxgen;
[0109]
输出:最终的解s;
[0110]
s201.t=0;
[0111]
s202.将个体集s(t)赋给临时集合tp(t)={tp1(t),tp2(t),...,tp
n
(t)},
[0112]
s203.对个体集tp(t)中的每个个体tp
i
(t),执行如下步骤:
[0113]
s203.1初始循环次数g=0,并使个体tp
i
(t)作为果蝇中心
[0114]
s203.2判断g是否小于预设的最大迭代次数maxgen,是则转步骤s203.3,否则转步骤s203.6;
[0115]
s203.3基于果蝇中心根据局部变异算子(见公式(6))生成子种群p
i
(g);
[0116]
s203.4根据f1选择子种群p
i
(g)中的最优个体作为新的果蝇子种群中心
[0117]
s203.5循环次数g=g 1,转向步骤s203.2;
[0118]
s203.6将子种群p
i
(t)中的合法个体组成候选个体集c
i

[0119]
s203.7如果个体集|c
i
|>0,则转步骤s203.7.1;
[0120]
s203.7.1计算个体集c
i
中每个个体的适应度,即该个体距离个体集tp(t)中除tp
i
(t)外其他个体的最小欧氏距离;
[0121]
s203.7.2选择个体集c
i
中适应度值最大的个体作为候选个体c
i

[0122]
s203.7.3tp(t)中按f2函数值计算个体tp
i
(t)的适应度值;
[0123]
s203.7.4如果个体c
i
优于个体tp
i
(t),则个体c
i
替换tp(t)中个体tp
i
(t);
[0124]
s204.对种群tp(t)通过merge算法得到新的种群tp(t 1);
[0125]
s205.将种群tp(t 1)赋值给种群s(t 1);
[0126]
s206.判断s(t 1)是否连续c次迭代无变化(即f2的值连续c次迭代无变化),是则转步骤s207,否则转步骤s202;
[0127]
s207.输出最终的解s;
[0128]
算法merge的具体步骤如下所示:
[0129]
输入:可行个体集s、p和n
[0130]
输出:个体集s
[0131]
s20401.使种群s(t)=种群s(t)∪种群tp(t);
[0132]
s20402.判断种群s(t)的个数是否>子种群个数n,是则转s202.1,否则转s203;
[0133]
s20402.1根据个体适应度函数f2(如式(10)(11))计算个体集s中每个个体的适应度值;
[0134]
s20402.2从个体集s中去掉适应度值最小的个体;如果存在两个个体的适应度值大小相等且都最小,则比较这两个个体的次小欧氏距离,找出次小欧氏距离最小的;
[0135]
s20403.输出个体集s。
[0136]
topfoa算法所使用的相关定义:
[0137]
定义1(果蝇个体编码)果蝇个体记为x
i
=(x
i,1
,x
i,2
,...,x
i,d
)∈s,其中x
i,j
表示第j个决策变量,表示决策空间,d表示决策变量的个数,表示决策空间,d表示决策变量的个数,分别表示决策变量的下界、上界。
[0138]
定义2(改进的果蝇变异算子)在基本果蝇算子基础上提出了两种改进的果蝇变异算子,分别用于算法第一阶段和算法第二阶段,具体定义如式(5)、式(6)所示。其中:x
axis,j
表示果蝇中心个体的第j个决策变量,rand∈[0,1]和j
rand
∈[1,d]分别表示一个随机数。
[0139][0140][0141]
定义3(基于差分算法的遗传算子)变异、交叉和选择算子分别由式(7)、式(8)和式(9)给出,其中x
r1
、x
r2
和x
r3
表示种群中三个随机个体,v
i
表示变异向量,q
i
表示试验向量,ns表示种群大小,f为缩放因子,cr为交叉率。
[0142]
变异算子:
[0143]
v
i
=x
i
rand
×
(x
r1

x
i
) f
×
(x
r2

x
r3
),i=1,2...,ns(7)
[0144]
交叉算子:
[0145][0146]
选择算子:
[0147][0148]
定义4(正则化欧式距离)决策空间中任意一个果蝇个体x
i
∈s正则化的方法如式(10)定义,任意两个果蝇个体之间的正则化欧氏距离由式(11)定义。
[0149][0150][0151]
定义5(适应度函数)在topfoa算法中,决策空间中任意一个果蝇个体x
i
∈s在第一阶段的适应度函数f1由式(4)定义,f1的值越小个体越优,即个体的总约束违反程度越小。第二阶段的适应度函数f2由式(11)定义,即果蝇个体间的最小欧式距离,其值越大表明个体越优。
[0152]
其他内容:
[0153]
1.1约束区域试验设计问题
[0154]
约束区域均匀设计是在决策空间内找到满足约束条件的试验点,并使得试验点分散得尽可能均匀。例如,一个二维约束均匀试验设计问题如图1所示,矩形区域是决策空间,深色区域是可行域空间(满足约束条件的空间)。图1中,三角形表示不满足约束试验方案点,圆形表示满足约束的试验方案点。试验设计有两个目标,一个是所有试验方案点都满足约束,另一个是试验点在可行域空间内分散均匀。即图中圆形应该在灰色区域内均匀分布,以达到均匀试验设计的目的。
[0155]
在复杂的工业设计问题中,因变量之间存在复杂的交互而产生多种不同的约束条件。这些条件主要分为线性约束、非线性约束、等式约束和不等式约束等。通过设定合适的目标函数,可以将均匀试验设计问题转换为一个带约束的优化问题。其定义如式(1)所示:找到l个个体,使得集合x={x1,x2,...,x
l
}的均匀程度f(x)最大化,并且要满足m个不等式约束g(x)和(n

m)个等式约束h(x)。
[0156][0157]
式(1)中的等式约束和不等式约束组成了可行域空间(图1中灰色区域),决策空间由变量x
i,j
的上下界和定义(图1矩形区域),d表示向量的维度,即试验设计的维度。
[0158]
可将任意一个个体x
i
的等式、不等式约束的违反程度定义为式(2)。其中:δ表示等式约束的正容忍值。
[0159][0160]
针对均匀试验设计问题,优化目标是在满足约束的情况下,最大化集合x的均匀度,其定义如(3)所示。
[0161][0162]
1.2基本果蝇算法
[0163]
果蝇优化算法(fruitfly optimizationalgorithm,简记为foa)是近年来提出的
具有较强局部搜索能力一种新的群体智能演化优化算法。foa模拟了果蝇种群的觅食行为过程中的嗅觉搜索与视觉搜索两个过程。图2给出了foa算法搜索过程的示意图,具体算法流程如下所示:
[0164]
输入:种群大小popsize
[0165]
输出:最优个体
[0166]
s.1随机初始化种群中心位置(x
axis
(t),y
axis
(t)),t=0;(嗅觉搜索)
[0167]
s.2围绕种群中心位置,生成初始种群p(t);
[0168]
x
i
=x
axis
randvalue,
[0169]
y
i
=y
axis
randvalue
[0170]
s.3对每个个体i,计算个体i所在位置的气味浓度值smell
i
和适应度值fitness
i
;(视觉搜索)
[0171][0172]
smell
i
=1/dist
i

[0173]
fitness
i
=f(smell
i
)
[0174]
s.4选择当前种群中最优个体(x
best
(t),y
best
(t));
[0175]
s.5如果最优个体优于种群中心,则更新种群中心:
[0176]
(x
axis
(t 1),y
axis
(t 1))=(x
best
(t),y
best
(t))
[0177]
s.6判断是否满足终止条件,是则转步骤s.7;否则转步骤s.2;
[0178]
s.7满足则输出最优个体(x
axis
(t),y
axis
(t))。
[0179]
1.3topde和topdeeda算法
[0180]
topde算法是一种用于求解约束区域均匀设计问题的两阶段演化优化算法。第一阶段首先随机生成一个参考点,以该参考点为类中心,将种群分为多个子种群,对每个子种群采用差分算子产生后代。第二阶段通过迭代加点的方式最大化种群个体之间的最小欧式距离,提高种群在约束区域内分布的均匀度。topde算法具体流程如图3所示。
[0181]
图3中np、ns、n和c分别代表第一阶段种群大小、子种群大小、均匀试验设计采样点的数目,第二阶段中连续不改变均匀度的代数。topde在第一阶段通过差分算法引导各子种群向可行区域方向演化,其中f1是第一阶段中个体适应度评估函数,其值越小表示个体越优,具体定义如式(4)所示。
[0182][0183]
在topde第二阶段,首先从第一阶段中每个子种群中随机选择n/(np/ns)个体作为第二阶段的初始种群q,然后利用差分算子(de)产生后代,对满足约束条件的个体利用topde算法提出的迭代加点法进行筛选,通过最大化种群q的适应度值f2提高种群在可行域中分布的均匀度,其中f2表示种群q个体之间最小欧式距离的最小值,其值越大越好。当种群q的适应度值连续经过c次迭代没有提高,算法第二阶段结束,输出当前种群q作为均匀试验设计的方案。
[0184]
topdeeda算法是基于topde算法的改进算法,topdeeda算法在第一阶段中提出了一种差分算法(de)和分布式估计算法(eda)结合的新解生成策略,种群后代的生成一部分来自de算子产生,一部分来自基于统计信息构建的高斯模型产生,第二阶段提出了一种基
于删点法的种群更新策略,以降低算法在第二阶段演化过程中的计算复杂度,本质上与topde算法第二阶段相同。
[0185]
案例简介
[0186]
本文选择g04、g05、g09和g18四个标准测试案例以及一个实际车辆防撞结构约束试验设计问题(crashbox)作为测试案例。表1给出了各案例的变量维度、约束类型、约束数目及可行域比例等重要的问题特性。具体地,g04和g09包含较少数目的不等式约束,g18包含大量不等式约束,而g05和crashbox则同时包含等式约束和不等式约束。此外,crashbox还包含大量的不等式约束。从可行域空间在决策空间所占比例上可以看出:g04具有较高的可行域比例,g09可行域比例很低,而g05、g18和crash box的可行域比例较g09更小;
[0187]
其中g04、g05、g09和g18四个标准测试案例,是基于论文题目:problem definitions and evaluation criteria for the cec 2006special session on constrained real

parameter optimization选择。
[0188]
表1测试案例特征
[0189][0190][0191]
3.2研究问题
[0192]
问题1(topfoa算法解质量)本文topfoa较topde和topdeeda两种对比算法在求解约束区域均匀设计问题时能否获取更优的解?通过回答这一问题,可以检验topfoa的有效性。
[0193]
问题2(topfoa算法第一阶段的解质量)针对第一阶段演化求解过程,topfoa是否较topde和topdeeda获得更优的解?通过回答这一问题,可以检验topfoa中k/de融合的全局搜索策略的有效性。
[0194]
问题3(topfoa算法第二阶段的解质量)针对第二阶段演化求解过程,topfoa是否较topde获得更优的解?通过回答这一问题,可以检验topfoa中基于自定义果蝇算子的局部搜索策略的有效性。
[0195]
问题4(topfoa算法中差分算子的有效性)topfoa中引入的差分演化算子,是否较传统foa获取更优的解?通过回答这一问题,可以检验引入差分演化算子是否有效提高topfoa在第一阶段演化求解过程中的全局搜索能力。
[0196]
问题5(topfoa算法中聚类策略的有效性)topfoa中k

means聚类策略较topde中随机参考点聚类策略是否获得更优的解?通过回答这一问题,可以检验topfoa中k

means聚类策略是否优于topde中基于随机参考点的聚类策略。
[0197]
3.3使用的度量指标
[0198]
本文使用与对比算法topde和topdeeda相同的度量指标md,对本文算法topfoa的解质量进行评价。md是一种基于最大距离的评价指标,其计算需要预先获得大量满足约束
条件的点集ts={y1,y2,...,y
m
},以及待计算均匀度的集合x={x1,x2,...,x
n
}。md指标的具体计算公式如式(12)和式(13)所示,该指标用于衡量测试集ts和待计算均匀度集合中每个点之间最小距离的最大值。式(12)用于计算测试集ts中任意一个个体与待计算均匀度集合x中所有个体之间的最小距离,式(13)用于计算测试集ts与待计算均匀度集合x中所有个体之间最小距离的最大值。md值越小,表明待计算均匀度集合x在可行域空间中的分布均匀性越好。
[0199][0200][0201]
考虑到各对比算法在演化求解过程带有一定的随机性,对比实验均独立运行50次。
[0202]
3.4参数设置
[0203]
topfoa尽可能采用与topde和topdeeda相同的参数设定。表2给出了各参与对比算法的参数设置,np和ns分别表示各算法第一阶段中的种群大小和子种群大小,n为各算法第一阶段获取合法个体的数目(第一阶段停机条件),c为各算法第二阶段连续不改变均匀度的代数(第二阶段停机条件),maxgen为topfoa在第二阶段搜索过程中内循环的迭代次数。
[0204]
表2对比算法参数设置
[0205][0206]
3.5实验结果及分析
[0207]
本节将对3.2节中提出的问题分别进行实验并对实验结果进行分析。
[0208]
(1)问题1(topfoa算法解质量)的实验结果及分析
[0209]
表3给出了5个测试案例下topde与topdeeda和topfoa三种对比算法的实验结果,其中mean代表md指标的均值,var代表md指标的方差。表3的结果可以看出:topfoa算法在所有5个案例下的md指标的均值和方差均优于topde与topdeeda算法,表三中用黑体标出。特别地,对于强约束(等式约束和不等式约束)的g05和crash box案例,topfoa获得的md均值均小于topde和topdeeda算法。图4给出的统计盒图中也可以直观地看出topfoa在5个案例下都较topde和topdeeda算法获得了更低的md值。
[0210]
实验结果表明topfoa较topde和topdeeda两种对比算法在求解约束区域均匀设计问题时能获得更优的解。
[0211]
表3 topde、topdeeda和topfoa求解5个测试案例的结果统计表
[0212][0213]
(2)问题2(topfoa算法第一阶段的解质量)的实验结果及分析
[0214]
表4,图5分别给出了topde、topdeeda和topfoa求解5个案例的实验结果以及各算法获得的md值统计盒图。表4的结果可以看出topfoa在g05、g018和crash box案例下获得的md值的均值和方差均优于topdeeda和topfoa。在g04案例中,topfoa获得的md指标的均值接近topde,略低于topdeeda。在g09案例中,topfoa获得的md指标的均值接近topdeeda,优于topde。图5所给出的统计盒图也直观地得到一致结论。
[0215]
实验结果表明:在求解可行域比例极小的案例时(g05、g018和crash box这三个案例均为可行域极小的案例),topfoa在第一阶段提出的k/de融合的全局搜索策略能有效帮助提高md指标的均值和方差。
[0216]
表4 topde、topdeeda和topfoa求解5个测试案例在第一阶段获得的结果统计表
[0217][0218]
(3)问题3(topfoa算法第二阶段的解质量)的实验结果及分析
[0219]
为了公平地比较,所有对比算法以topde在第一阶段求解各测试案例获得的解作为第二阶段的输入。topde和topdeeda的第二阶段演化过程本质相同,因此仅选择topde作为对比算法。
[0220]
表5给出了topde和topfoa求解5个测试案例的md指标统计表,topfoa在求解g04、g09、g18和crash box四个案例时md指标的均值优于topde(表中用黑体表示)。topfoa在求解g05案例时md指标的均值接近topde。图6所给出的统计盒图也直观地得到一致结论。
[0221]
实验结果表明topfoa在第二阶段提出的基于自定义果蝇算子的局部搜索策略能有效地提升均匀度,特别对于难以求解的具有极小可行域空间(包含等式约束,如g05和
crashbox案例)的问题。
[0222]
表5 topdea和topfoa求解5个测试案例在第二阶段获得的结果统计表
[0223][0224][0225]
(4)问题4(topfoa算法中差分算子的有效性)的实验结果及分析
[0226]
为了验证差分算子的有效性,对比算法采用topfoade

和topfoa,其中topfoade

为topfoa去掉差分算子后的算法。
[0227]
表6给出了topfoade

和topfoa求解5个案例时在第一阶段获得的md指标统计结果。topfoa在求解所有五个案例时md指标的均值和方差均优于topfoade

(表中用黑体表示)。从表1可知,g05、g18和crash box是三个可行域范围极小的案例,topfoade

在这三个案例中均不能达到第一阶段的停机条件。实验结果表明topfoa引入的差分算子具有很强的全局搜索能力,有助于提高topfoa的全局搜索能力。
[0228]
表6 topfoa
de

和topfoa求解5个测试案例在第一阶段获得的结果统计表
[0229][0230]
(5)问题5(topfoa算法中聚类策略的有效性)的实验结果及分析
[0231]
为了验证聚类策略的有效性,对比算法采用topfoasingle和topfoakmeans,其中topfoasingle表示topfoa采用topde里使用的随机参考点聚类策略,topfoakmeans表示topfoa中采用k

means聚类策略。
[0232]
表7给出了topfoasingle和topfoakmeans在第一阶段求解5个案例时获得的md值统计结果。topfoakmeans几乎在所有案例下均获得了较topfoasingle更优的md均值和方差(表中用黑体表示),除了g04案例的md值的均值基本接近。图7所给出的统计盒图也直观地得到了一致结论。
[0233]
实验结果表明topfoa中提出的k

means聚类策略优于topde提出的随机参考点聚类策略。k

means聚类策略能有效帮助提高topfoa在第一阶段的求解质量和稳定性。
[0234]
表7 topfoasingle和topfoakmeans求解5个测试案例在第一阶段获得的结果统计表
[0235][0236]
4结论
[0237]
针对目前最先进的用于求解复杂约束的均匀试验设计问题的算法topde和topdeeda所存在问题:第一阶段所采用的随机参考点聚类方法不利于种群在约束区域内的分布多样性,以及第二阶段缺乏有效的约束区域内局部搜索能力来保障个体在约束区域内均匀分布,本文提出了一种基于果蝇算法的约束区域均匀试验设计方法topfoa。topfoa主要针对两阶段优化框架做了如下改进:(1)第一阶段运用融合差分算子的果蝇搜索策略、基于k

means聚类及外部文档更新类中心等方法,以动态改进种群在约束区域分布的多样性;(2)第二阶段使用自定义果蝇算子提高约束区域内局部搜索能力。通过在标准测试集和汽车碰撞结构仿真问题上与topdeeda和topde进行实验对比,结果表明topfoa在解质量和稳定性上均优于topdeeda和topde。另外,本文还对所提出的差分算子以及k

means聚类策略进行了实验验证。
[0238]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
[0239]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献