Page 138 - 《爆炸与冲击》2023年第2期
P. 138
第 43 卷 陈源捷,等: 基于ESGA遗传算法的水射流自驱旋转喷头优化设计 第 2 期
c
式中:K 为惩罚系数,一般取 10 左右 [20] ;n 为线性不等式约束条件的个数。
2.4 设计变量编码方式
采用固定长度的二进制符号串对设计变量进行编码来表示群体中个体的基因,基因由 0 和 1 组成,
基因的长度由设计变量的取值范围 [U , U max ] 以及编码精度 δ 决定,二进制编码长度与编码精度和取值
min
范围之间的关系为:
l
2 = U max −U min +1 (15)
δ
式中:l 为二进制符号串的长度,U 为设计变量的最大值,U n 为设计变量的最小值,δ 为编码精度。假
max mi
l
21
l
20
设设计变量的取值范围为 [−60, 60],δ 取 0.000 1 [21] ,解得 2 = 1 200 001。又因为 2 ≤ 2 ≤ 2 ,所以基因长
度 l = 21。对于基因的解码,即把二进制编码串还原为十进制的设计变量值。编码串与设计变量之间的
关系为:
( )
l
∑ U max −U min
x e = U min + b i 2 i−1 (16)
l
2 −1
i=1
式中:b 为基因座上的基因值。假设种群中某个体的基因编码 bin = 010100010101010001010,决策变量
i
取值范围为 [−60, 60],则经过解码后,x = −21.876 9。
e
2.5 遗传操作算子
2.5.1 锦标赛选择
针对 GA 算法易早熟收敛、搜索效率低等问题,本文中提出一种基于“锦标赛”的选择策略。首
先,每次随机地从种群中抽取数量为 N 的个体进行比较,选择其中适应度最好的个体生成新一代子种
群。不断重复此操作,直到子种群规模达到父辈种群规模。抽取数量 N 为竞赛规模,常取 N = 2(二元锦
标赛)。显然,适应度较好的个体具有较大的“生存”机会。同时,由于锦标赛策略以适应度作为选择
的标准,而与适应度的大小不成比例,从而可以避免对最优个体的影响,在一定程度上避免早熟收敛和
停滞现象产生。
2.5.2 两点交叉
与 GA 算法不同,在 ESGA 算法中,交叉算子采用两点交叉策略。根据锦标赛选择后产生的新一代
父辈种群两两随机配对,若父辈种群大小为 M,则共有 M/2 对相互配对的个体组。对每个配对的个体组
以较大的概率 P ,随机在两个父辈基因座上选择两个交叉点,并且交换两个交叉点之间的部分基因片
c
段,从而产生新的个体。交叉概率 P 的取值一般为 0.75~0.90 [21] ,其直接影响群体中交换的个体组数目
c
M ,其中:
c
M c
P c = (17)
M
显然,交叉概率与交叉个体组数目成正比,与 GA 算法中的单点交叉相比,两点交叉可以提高对可
行域中的搜索能力。
2.5.3 变异
ESGA 算法中,变异算子一般作为一种辅助算子,它作用在个体的基因座上,以较小的概率 P 改变
m
基因座上的基因值 [20] ,若基因座上原有的基因值为 1,则变异操作将该基因值变为 0,若基因座上原有的
基因值为 0,则变异操作将该基因值变为 1,其中:
B
P m = (18)
Ml
式中:B 为每代中变异的基因数,M 为每代中种群数目,l 为个体的二进制基因编码长度。变异概率一般
取值为 0.001~0.01 ,合理设置变异概率利于增加种群的多样性,同时能够避免算法早熟收敛。
[21]
024201-8