Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

2016 年 8 月 西北工业大学学报 Aug. 2016

第 34 卷第 4 期 Journal of Northwestern Polytechnical University Vol.34 No.4

基于遗传算子采样的自适应代理优化算法
宋保维, 王新晶, 王鹏
( 西北工业大学 航海学院, 陕西 西安 710072)

摘 要: 提出一种应用于黑盒问题( black⁃box problem) 的优化算法,称为遗传算子 采 样 ( genetic


operator sampling,GOS)自适应代理优化算法。 通过对当前样本进行两两交叉,对当前最优样本进行
高斯变异 2 种算子获得候选样本集。 对候选样本进行适应性评估,评估标准为候选样本处的交叉验
证误差和该样本与父代样本之间最小距离的乘积,将乘积最大的样本加入已有样本集。 GOS 优化算
法在一维问题中详细阐述,与有效全局优化算法(efficient global optimization,EGO)和最大化模型误差
算法(maximum square error,MSE)在 3 个典型数学算例中进行对比,验证该算法的有效性。

关 键 词:代理模型;遗传算子;采样准则;代理优化
中图分类号:TP18 文献标志码:A 文章编号:1000⁃2758(2016)04⁃0614⁃07

设计优化问题通常包含计算量大的高保真度模 过程中仅考虑最优解附近的局部区域,当确定最优
型( 计算流体力学、有限元分析、基于试验的工程计 解区域后重点对该区域进行寻优。 大部分代理优化
算等) 。 由于目标函数与设计变量之间没有显式函 算法通过优化辅助函数获得新增样本。 本文提出的
数表达,这类问题称为黑盒问题。 传统基于梯度的 优化算法的优势是不需要优化辅助函数,通过遗传
优化算法( 牛顿法) 和基于函数估计的优化算法( 遗 算子获得候选样本集,通过采样准则获取新增样本,
传算法) 已经不适用于此类问题。 代理模型作为一 提高模型更新效率;同时该算法适用于各种代理模
种有效的工具,为黑盒问题提供满足一定精度的合 型,具有广泛适用性和稳定性。 GOS 算法与 EGO、
理近似。 同时,在设计优化过程中,为了减小计算代 MSE 算法进行对比,证明算法的有效性。
价和过滤高保真度模型噪声,使用代理模型已经成

1 基于 GOS 的自适应代理优化算法
为一种趋势。 典型的代理模型包括多项式响应面
( PRS) 、克里金模型( KRG) 、径向基函数( RBF) 、支
持向量回归模型( SVR) 等。 代理模型方法已经广泛
1.1 自适应采样方法
应用于飞行器设计、汽车设计等领域。
一种好的采样准则可以在全局空间探索和局部
基于代理模型的优化算法是依据少量初始样本
建立代理模型,基于采样准则在设计空间增加样本 空间开发之间进行权衡。 本文提出的采样准则的基
并对代理模型进行更新,当模型精度满足要求时,对 本过程是建立样本交叉验证误差的代理模型;通过
代理模型进行优化获得最优解的算法。 代理优化算 对已有样本进行两两交叉、对当前最优样本进行变
法从 Jones 等人提出有效全局优化算法( EGO) [1] 开 异产生新的候选样本集,同时计算候选样本集中每
始,获得了广泛关注,并成功应用于相关工程设计优 个样本与已有样本的最小距离,交叉验证误差和最
化 [2⁃4] 。 此后,很多 EGO 改进算法 [5⁃6] 以及不同的自 小距离的乘积作为评价候选样本适应性的准则,将
适应采样代理优化算法 [7⁃10] 被提出。 有些方法在寻 乘积最高的候选样本作为新增样本。 采样准则的基
优过程中逐步提高代理模型整体精度,当迭代次数 本思想是:在交叉验证误差较大处采样可以很好地
达到最大时对代理模型进行优化;有些方法在寻优 提高代理模型的精度,计算候选样本与已有样本的

收稿日期:2015⁃10⁃22 基金项目:国家自然科学基金(51375389) 资助
作者简介:宋保维(1963—) ,西北工业大学教授、博士生导师,主要从事水下航行器设计及多学科设计优化等研究。
第4期 宋保维,等:基于遗传算子采样的自适应代理优化算法 · 615·

最小距离可以避免样本聚集,二者的乘积是对设计 本集对所有样本所对应的 e^ iLOO 和 ds( x i ) 进行归一化


空间探索和开发的一种权衡。 处理
交叉验证 ( cross validation,CV) 误差通常用来 e^ iLOO - min{ e^ iLOO }
验证代理模型的精度。 典型的 leave one out cross e^ iLOO =
max{ e^ iLOO } - min{ e^ iLOO }
validation( LOOCV) 是取样本中的一个作为验证样
ds( x i ) - min{ ds( x i ) }
本,剩下的样本用来建立代理模型。 代理模型在验 ds( x i ) =
max{ ds( x i ) } - min{ ds( x i ) }
证样本处的预测值与该样本对应的真实值之间的误
i = 1,2,…,N p (4)
差即为该点处的交叉验证误差。 如果样本较多,可
式中, N p 代表每一代候选样本的数量。
以将样本分成 K 份,取 K - 1 份含有的所有样本建立
为了防止新增样本的聚集,每隔 5 次( d ≤ 3) 或
代理模型,剩下的一份样本作为验证样本,在验证样
10 次( d > 3) 采样进行 1 次优化运算。 其中 d 为设
本处预测值与真实值之差即为该部分样本的交叉验
计变量的数量。
证误差;重复执行 K 次即可得到所有样本的交叉验
1.2 GOS 优化算法流程
证误差。 GOS 优化算法使用交叉算子和变异算子
GOS 优化算法的具体步骤为:
产生候选样本集。 样本采用十进制编码,避免使用
1) 采 用 OLHS ( optimal latin hypercube
二进制编码带来的编码解码过程。 交叉算子采用中
sampling) 试验设计方法在设计空间选取初始样本,
间重组算法( intermediate recombination,IR) ,这种杂
并运行高保真度模型得到相应的响应值。
交算法结合两父代样本的信息,在父代样本周围随
2) 基于样本及其响应值,构建代理模型。 本文
机产生 2 个子代样本
采用 KRG 方法建立代理模型,但是并不限于 KRG
Z i = αX i + (1 - α) Y i i ∈ 1,2,…N p (1)
模型。
式中, X 和 Y 是 父 代 样 本,Z 是 子 代 样 本,α 代 表
3) 基于 LOOCV 得到样本处交叉验证误差,并
[ - 1,1] 之间随机选取的权重因子。 每两个父代样
用 RBF 建立交叉验证误差的代理模型。
本可以产生 2 个候选样本。 考虑到样本数量的有限
4) 对所有样本进行两两交叉运算,对当前最好
性,交叉操作对于所有样本两两进行,可以进行较大
样本进行变异运算,得到候选样本集。
范围的样本探索。
5) 根据(3) 式计算所有候选样本适应度,将乘
高斯变异算子,是一种对重点区域局部搜索的
变异算子。 在进行变异操作时,用符合均值为 m,方 积最高的样本及其响应值加入已有样本空间并更新

差为 s 2 的正态分布的一个随机数代替原有的基因 代理模型。
值。 具体实现时,均值、方差的取值和变异位按( 2) 6) 重复步骤 2) ~ 步骤 5)5 或 10 次后进行基于
式处理 代理模型的优化得到当前最优解,将最优解及其响
u max - u min 应值加入样本空间。
m = x pbs s =

7) 若满足收敛准则,优化停止;否则执行步骤

12 2) ,进行下一轮迭代。 本文的收敛准则为预先设定
x′ = m + s 2 ( ∑ r i - 6 ) (2) 的总的函数估计量。
i=1

式中, x pbs 是当前过程最优样本,u max 和 u min 为设计变


量上下限,r i 是[0,1] 之间的随机数,x′ 为变异后样 2 GOS 优化算法举例与验证
本。 变异算子只针对样本中的最优样本进行操作,
保证了局部开发的特性。 采用 1⁃D 测试函数对 GOS 优化算法进行阐述。
候选样本的适应性评估采用下式进行 GOS 与 MSE 和 EGO 算法在 3 个测试函数中进行对
x i = max( e^ iLOO ·ds( x i ) ) 比以验证其有效性。 EGO 算法是以 KRG 模型为代
ds( x i ) = min( ‖x i - x j ‖2 ) , ∀x j ∈ D (3) 理模型 的 优 化 算 法, 通 过 优 化 辅 助 函 数 ( excepted
式中, e^ iLOO 为该点交叉验证误差,由交叉验证误差代 improvement,EI) 自适应采样求得最优解。 MSE 算
理模型 得 到;ds( x i ) 为 该 点 距 已 有 样 本 的 最 小 距 法是在以 KRG 为代理模型的优化算法中,在预测方
离。 考虑到 e^ i
LOO 和 ds( x i ) 量级不同,每一代候选样 差最大处进行采样的一种优化算法。
· 616· 西 北 工 业 大 学 学 报 第 34 卷

2.1 测试函数和试验设定 d=
1⁃D 函 数、 Branin 函 数、 Hartman3 和 Hartman6 éê 0.131 0.170 0.557 0.012 0.828 0.589 ù
ú
函数 4 个广泛应用的函数作为测试函数。 它们的数 ê 0.233 0.414 0.831 0.374 0.100 0.999 ú
学表达为: ê 0.235 0.145 0.352 0.288 0.305 0.665 ú
ê ú
1⁃D 函数 êë 0.405 0.883 0.873 0.574 0.109 0.038 úû
f( x) = (6x 1 - 2) 2 sin(2(6x 1 - 2) ) , x 1 ∈ [0,1] 表1 测试函数的数值设定

(5) 迭代次
函数 初始样 总样
Branin 函数 函数名称
维数 本数量
数×采
本量
最优解

5.1 2 5 2
1 ö 样数
x + x 1 - 6 ÷ + 10 ç 1 - ÷·
æ ö
y = ç x2 -
æ
4π 2 1
π 8π 1⁃D 1 4 1×5 10 -6.020
è ø è ø
Branin 2 10 3×5 28 0.398
cos( x 1 ) 10, x 1 ∈ [ 5,10] , x 2 ∈ [0,15]
+ -
Hartman3 3 18 4×5 42 -3.863
(6) Hartman6 6 56 9×10 155 -3.322
Hartman3 和 Hartman6 函数
表 1 给出了 4 个测试函数的基本信息,为了避免试
4 m
y( x) = - ∑ a i exp [ - ∑ b ij( x j - d ij ) 2 ] 验设计结果的偶然性,对每个测试函数进行 30 次优
i=1 j=1
化计算,采用 30 次计算结果的平均值进行比较。 采
0 ≤ x j ≤ 1,j = 1,2,…,m (7)
用遗传算法( GA) 对代理模型进行优化。 由于本文
式中, a = [1 1.2 3 3.2] 。 当含有 3 个变量时,矩阵 b
设定的收敛准则为预先设定的函数估计量,所以算
和d为
法优劣的判定标准为:在相同函数估计量前提下,优
éê 3 10
30 ù
ú éê 0.369 0.117 0.267 ù
ú 化结果更接近最优解的算法更好。 KRG 模型通过
ê 0.110 35 ú ê 0.470 0.439 0.747 ú
Lophaven 等人 [11] 开发的 KRG 工具箱获得,交叉验
b= ê d= ê
3010 30 ú 0.109 0.873 0.555 ú
ê ú ê ú 证、EGO 算 法 通 过 Viana 等 人 [12] 开 发 的 SURRO⁃
êë 0.1
10 35 û
ú ë 0.038 0.574
ê 0.883 úû
GATES Toolbox 工具箱获得。
当含有 6 个变量时,矩阵 b 和 d 为
2.2 GOS 算法在 1⁃D 函数的优化过程
éê 10 3 17 3.5 1.7 8ù
ú 图 1 给出了 GOS 算法在 1⁃D 函数的优化过程。
ê 0.05 10 17 0.1 8 14 ú
b= ê
3 3.5 1.7 10 17 8ú
ê ú
ê 17 8 0.05 10 0.1 14 úû
ë

图1 GOS 算法在 1⁃D 函数的优化过程


第4期 宋保维,等:基于遗传算子采样的自适应代理优化算法 · 617·

图中虚线表示真实函数,实线表示使用已有样 优解。 圆点表示样本,星号表示算法得到的最优解。


本( 方形) 建立的代理模型,圆形表示本次迭代过程 从计算结果来看,4 种算法获得最优解需要的函数
获取的新增样本。 初始样本为[0,0.333,0.666,1] , 估计次数只有 22、22、23 和 28,都比设定的 28 次要
5 次迭代过程加入样本分别是[0.213,0.810,0.568, 少。 GOS 算法的样本分布均匀,没有在非最优解的
0.902,0.089] 。 从图中可以看出在 5 次采样之后, 区域( 左下、右上) 进行采样;MSE 算法注重在边界
代理模型与实际模型已经相当吻合,使用 GA 优化 处进行采样,在边界精度满足要求的情况下,开始向
算法在图 1e) 中找到的最优解为 0. 759, 响应值为 内部 采 样 ( 从 左 下 角 开 始) 并 逐 步 找 到 最 优 解。
- 6.019,与实际结果符合。 EGO 算法注重于 EI 的提升,样本在最优解附近聚
2.3 GOS 与 MSE、EGO、OLHS 算法的比较 集,此时收敛到最优解处需要较多迭代数;OLHS 算
图 2 给出了 GOS、MSE、EGO、OLHS 4 种优化算 法属于一步采样算法,样本数量预先设定,其空间填
法对 Branin 函数优化时样本分布情况。 其中前 3 充特性最好,但是优化精度却不是最高。 总体来说,
种都是自适应采样优化算法,第 4 种是基于 OLHS 4 种算法都以较少的样本找到最优解。 与一步采样
方法一步采样然后对代理模型进行优化。 Branin 函 算法( OLHS) 相比,3 种自适应采样算法效果更好。
数含有 3 个全局最优,算法找到一个即认为找到最

图2 GOS、MSE、EGO 和 OLHS 算法对 Branin 函数优化时的样本分布情况

图 3 给 出 GOS、 MSE 和 EGO 3 种 算 法 对 Branin、Hartman3 和 Hartman6 函数的优化过程。 每


· 618· 西 北 工 业 大 学 学 报 第 34 卷

一 迭 代 处 的 最 优 解 是 30 次 计 算 的 平 均 值。 从 较明 显, 在 优 化 后 期 寻 优 速 度 减 慢, 优 化 结 果 与
Branin 函数看,MSE 算法表现最好, 拥有较快的优 MSE 算法相近。 在 Hartman6 函 数 的 优 化 过 程 中,
化效率;GOS 算法表现与 MSE 算法几乎相同,EGO EGO 算法优势比较明显,不仅在采样初期找到最优
算法在较少的迭代过程中不能迅速地收敛到最优 解,而且寻优速度最快;MSE 算法效果最差;GOS 算
值,优化结果与图 2 结果吻合。 在 Hartman3 函数优 法介于两者之间,但是当样本数量达到设定值时,其
化过程中,GOS 算法表现最好,在设定的最大样本 优化结果与 EGO 结果相差不大。
量处得到最好的结果;EGO 算法在优化初期效果比

图3 GOS、MSE 和 EGO 算法对 3 个测试函数的优化过程

图 4 给出 GOS、MSE、EGO、OLHS 4 种算法对 3 比较好外,在高维函数中其优化结果都是最差的,这


个测试函数优化结果的箱体图。 箱体图得出的结论 也说明自适应采样代理优化算法要好于一步代理优
与图 3 相似。 GOS 算法对 Hartman3 函数优化结果 化算法。 另外,GOS 算法在 3 种测试函数中即使不
最好,MSE 算法对 Branin 函数优化结果最好,EGO 是最好的,也是第 2 好的;而且从箱体图厚度可以看
算法对 Hartman6 函数优化结果最好。 从图中还可 出,GOS 算法的结果也是比较稳定的,对初始样本
以看出,除了低维函数( Branin) 中 OLHS 算法结果 分布的依赖较小。

图4 GOS、MSE、EGO 和 OLHS 算法得到测试函数最优结果的箱体图


第4期 宋保维,等:基于遗传算子采样的自适应代理优化算法 · 619·

结果显示:
3 结 论 ①自适应采样代理优化算法比一步采样代理优
化算法更好,因为自适应采样算法考虑了模型的信
本文提 出 一 种 优 化 算 法, 称 为 遗 传 算 子 采 样 息,可以更有针对性地更新代理模型;
( GOS) 的自适应代理优化算法。 该算法通过对所有 ②GOS 算法能够在有限的函数估计下获得较
样本进行交叉运算,对最优解进行变异 2 种算子产 好的优化结果;在测试函数中它即使不是最好的算
生候选样本集。 基于提出的采样评估标准,对候选 法,也是第 2 好的算法;
样本适应性进行评估,该评估标准能够很好地在减 ③由于 避 免 采 用 优 化 的 方 法 获 得 新 增 样 本,
小模型误差和避免样本聚集 2 个问题中权衡。 新增 GOS 算法大大提高了代理模型的更新效率;
样本的获得不需要通过对辅助函数优化,提高了优 ④GOS 算法比较稳定,对初始样本分布情况依
化效率。 GOS 算法在 1⁃D 函数中进行了阐述,在 3 赖较小。
个测试函数中与 MSE、EGO、OLHS 算法进行对比。

参考文献:

[ 1] Jones D R, Schonlau M, Welch W J. Efficient Global Optimization of Expensive Black⁃Box Functions[ J] . Journal of Global Op⁃
timization, 1998, 13(4) : 455⁃492
[2] 赵敏, 操安喜, 苟鹏, 等. 高效优化算法在船舶力学中的应用研究[ J] . 船舶力学, 2008, 12(3) : 473⁃482
Zhao Min, Cao Anxi, Gou Peng, et al. Application of Efficient Global Optimization in Ship Mechanics[ J] . Journal of Ship Me⁃
chanics, 2008, 12(3) : 473⁃482 ( in Chinese)
[3] Lei G. Sequential Optimization Method for the Design of Electromagnetic Device[ J] . IEEE Trans on Magnetics, 2008, 44(11) :
3217⁃3220
[4] 邓枫, 覃宁, 伍贻兆. EGO 方法的训练算法及应用[ J] . 计算物理, 2012, 29(3) : 326⁃332
Deng Feng, Qin Ning, Wu Yizhao. Training Algorithms for EGO Method and Applications[ J] . Chinese Journal of Computational
Physics, 2012, 29(3) : 326⁃332 ( in Chinese)
[5] 邹林君, 吴义忠, 毛虎平. Kriging 模型的增量构造及其在全局优化中的应用[ J] . 计算机辅助设计与图形学学报, 2011,
23(4) : 649⁃655
Zou Linjun, Wu Yizhong, Mao Huping. Incremental Kriging Model Rebuilding Method and Its Application in Efficient Global
Optimization[ J] . Journal of Computer⁃Aided Design and Computer Graphics, 2011, 23(4) : 649⁃655 ( in Chinese)
[6] 冯敏, 张建同. 基于改进 Kriging 模型的 EGO 算法的 EI 函数研究[ C] ∥第十届中国不确定系统年会, 2012
Feng Min, Zhang Jiantong. Expected Improvement in Efficient Global Optimization based on Bootstrapped Kriging [ C] ∥ The
tenth China Annual Conference on Uncertainty, 2012 ( in Chinese)
[7] Huang D, Allen T T, Notz W I, et al. Global Optimization of Stochastic Black⁃Box Systems via Sequential Kriging Meta⁃Models
[ J] . Journal of Global Optimization, 2006, 34(3) : 441⁃466
[8] Mehmani A. Surrogate⁃Based Design Optimization with Adaptive Sequential Sampling [ C] ∥53rd AIAA / ASME / ASCE / AHS /
ASC Structures, Structural Dynamics and Materials Conference, 2012
[9] 高月华, 王希诚. 基于 Kriging 代理模型的多点加点序列优化方法[ J] . 工程力学, 2012, 29(4) : 90⁃95
Gao Yuehua, Wang Xicheng. A Sequential Optimization Method with Multi⁃Point Sampling Criterion Based on Kriging Surrogate
Model[ J] . Engineering Mechanics, 2012, 29(4) : 90⁃95 ( in Chinese)
[10] Viana F A, Haftka R T, Watson L T. Efficient Global Optimization Algorithm Assisted by Multiple Surrogate Techniques[ J] .
Journal of Global Optimization, 2013, 56(2) : 669⁃689
[11] Lophaven S N, Nielsen H B, Søndergaard J. DACE⁃A Matlab Kriging Toolbox[ EB / OL] . ( 2002⁃8⁃1) [ 2015⁃10⁃22] . http:∥
www2.imm.dtu.dk / ~ hbn / dace / .
[12] Viana F A C. SURROGATES Toolbox User′s Guide[ EB / OL] . [2015⁃10⁃22] .http:∥sites.google.com / site / felipeacviana / surro⁃
gatestoolbox.
· 620· 西 北 工 业 大 学 学 报 第 34 卷

An Adaptive Surrogate⁃Based Optimization Algorithm


Assisted by Genetic Operators Sampling
Song Baowei, Wang Xinjing, Wang Peng
( School of Marine Science and Technology, Northwestern Polytechnical University, Xi′an 710072, China)

Abstract: This paper proposes an optimization algorithm that is applied to Black⁃box Problem, called Genetic Op⁃
erator Sampling ( GOS ) adaptive surrogate⁃based optimization algorithm. Genetic operators produce candidate
sample set. Cross⁃over operator is executed between any two of samples and mutation operator is executed only on
present best sample. Then an assessment criterion, which is the product of the cross validation error of the candidate
sample and the minimum distance between it and existing samples, is used to judge the adaptation of each sample.
The candidate sample with largest product will be added to existing samples. GOS is illustrated on 1⁃D function in
detail and is compared to EGO and MSE algorithm on three typical functions, the results validated the effectiveness
of GOS algorithm.

Keywords: surrogate model; genetic operators; sampling criterion; surrogate⁃based optimization

You might also like