Page 58 - 《应用声学》2021年第4期
P. 58
542 2021 年 7 月
2 改进和声搜索算法 x i,j (0) 6 x , i = 1, 2, · · · , HMS; j = 1, 2, · · · , D},
U
i,j
按照如下方式随机产生:
2.1 标准和声搜索算法
U
x i,j (0) = unifrnd(x L − x ), (5)
和 声 搜 索 算 法 源 于 对 音 乐 演 奏 的 模 拟, i,j i,j
设 乐 器 演 奏 的 和 声 i 的 状 态 表 示 为 X i = 其中,HMS 为记忆库大小,x L 和 x U 分别为 x i,j 取
i,j
i,j
(x i1 , x i2 , · · · , x iD ),美学评估设为 Y i = f(X i ),即 值的下限和上限,unifrnd为在上下限生成均匀分布
待求目标函数。算法流程如下: 的随机数。
(1) 初 始 化 和 声 记 忆 库 HM: {x i (0)|x L 6 (2)基于差分变异创作一个新和声:
i,j
x r,j + bw · (x best − x middle ), if rand < PAR,
new = if rand < HMCR,
x
x new = i,j x r,j , otherwise, (6)
i,j
L U
unifrnd(x − x ), otherwise,
i,j i,j
其中,HMCR 为和声记忆库取值概率,PAR 为微调 似解给 BFGS 赋为初值利用其局部搜索能力,提高
概率,bw为微调带宽,r ∈ {1, 2, · · · , HMS}。 得到精确解的概率,两者的融合有利于同步提高全
(3)更新和声记忆库 HM:判断新和声目标函数 局和局部效率。
值f(X new )是否优于当前和声库中的f(X worst ),若 图 1 为 改 进 和 声 算 法 (Improved harmony
是,则用新和声代替当前和声库内的最差和声。 search algorithm, IHS) 流程,在迭代前期仅使用
(4) 是否满足终止条件:若满足停止条件,算法 和声搜索算法,基于差分策略生成新和声全局寻
结束;否则重复步骤 (2) 和步骤 (3),直到满足终止
优,待一定迭代次数时,拟牛顿 BFGS算法介入,与
条件。
和声搜索算法并行计算。具体的,将和声搜索算
2.2 拟牛顿法 法寻得当前最优解赋给拟牛顿 BFGS 作为初值,若
拟牛顿法是一种较成熟算法,拥有牛顿法 BFGS 反演目标函数值小于和声搜索算法所得,则
收敛速度快的优点,同时用每步梯度信息去近 以 BFGS 的最优解替代和声搜索种群库里最优解,
似 Hesse 矩阵,减少计算量 [23] ,基本迭代公式为 更新记忆库,直到满足停止条件。
d k = −H k ∇f(x k ),d k 为优化方向,由式 (7)BFGS
修正公式得H k :
नݽ
T T
H k y k y H k s k s k T
k
H k+1 = H k − T + T + w k w , (7)
k
y H k y k y s k Ѻݽӑ֗ܦᝮॺः
k k ѺݽӑBFGSԠ
其中,s k = x k+1 − x k ,y k = ∇f(x k+1 ) − ∇f(x k ),
( ) ᝠካए֗൦᫂
T 1 s k H k y k ࣀѬኖ႕̗ၷழᝍ
w k = (y H k y k ) 2 − ,k 为迭代次
k T T
y s k y H k y k ௧
k k
数,初始H 0 赋为单位矩阵。 ||g k⇁|| Ĺ ε
໘ᡜᤖ̽ ௧ ա
2.3 改进和声搜索算法 BFGSξНर
ա
作为全局优化算法,和声搜索算法进化到后期, ᝠካH k⇁
记忆库多样性降低,贪婪选择容易错过一些有潜力 ఞழᝮॺः
的解向量,陷入极小值,致求解精度不高;而拟牛顿 ա ௧
BFGS 算法局部开发能力强,搜索结果更依赖于给 ໘ᡜϣൣ͈ ፇౌ
定初值。由于搜索过程,局部和全局搜索未设也不
图 1 和声搜索算法和 BFGS 拟牛顿算法并行计算
易设清晰分界线,且前期与后期算法需求不同,为 流程图
了提高反演准确性,提出将和声搜索算法和拟牛顿 Fig. 1 Harmony search and BFGS quasi-Newton
BFGS 进行并行计算,HS 全局搜索能力强,将其近 algorithm parallel computing flow chart