Page 153 - 《软件学报》2021年第12期
P. 153
孙哲人 等:面向多目标优化的多样性代理辅助进化算法 3817
• Pan 等人提出的 CSEA [22] 采用前馈神经网络(FNNs)模型作为代理模型,其作用不同于以上几个算法,这
里代理模型是作为分类器使用.迭代开始时,它把真实评估的解按比例分成训练集和测试集,并计算出
分类器在测试集上非支配解和支配解的错误率.在选择过程中,分类器把进化算法得到的解分成非支
配解和支配解两类;同时,根据分类器在测试集上的错误率与阈值对比来确定是选择非支配解还是选
择支配解进行真实评估.
2 基于多样性的代理辅助进化算法(DSAEA)
DSAEA 算法框架如算法 1 所示.
• 步骤 1、步骤 2 是初始化部分,该部分先在目标空间内均匀生成参考向量,再随机采样初始解,并在真实
评估后加入种群 P 和训练集 A;
• 步骤 3~步骤 10 是算法的主要迭代过程,在真实评估次数达到上限后,算法便会终止并输出最终解,即种
群 P 中的非支配解.其中:步骤 4 是用训练集 A 来训练代理模型;步骤 5 是候选解生成算子,它会在模型
评估下迭代优化候选解,如算法 3;步骤 6 是选择算子,它是根据选择策略选择μ个候选解进行真实评估,
如算法 4、算法 5;步骤 8 是训练集更新,如算法 6.训练集 A 会在每一次迭代后进行更新,以保证下一次
迭代时训练出的模型有较好的精度.
算法 1. DSAEA 算法框架.
输入:N:参考向量的数量;
μ:选出解的数量;
FE max :最大真实评估次数;
输出:种群 P 中的非支配解.
1. 均匀生成 N 个参考向量,记为 W;
2. 采样 11d−1 个初始解,真实评估后加入 P 和 A; //初始化
3. while FE max >0 do
4. 使用 A 训练模型 model;
5. X=Candidates(A,W,model); //候选解生成算子,算法 3
6. X=Selection(P,W,X,μ); //选择算子,算法 4、算法 5
7. 真实评估 X 并添加到 P;
8. A=Update(P,W,X); //训练集更新,算法 6
9. FE max =FE max −|X|;
10. end
DSAEA 主要由初始化、代理模型构建、最小相关解集计算、候选解生成算子、选择算子、训练集更新
这 6 个部分组成,下面分别进行详细说明.
2.1 初始化
初始化部分主要包括均匀生成参考向量和生成初始解.
(1) 均匀生成参考向量:利用正则单形点阵设计方法 [23,24] 在单位超平面上生成一组均匀分布的参考向量.
对于每个参考向量 w i = { ,...,w i i },w i ∈ Wi 1,...,N ,从下面集合中均匀取值:
, = w
1 m
⎧ 01 2 H ⎫
⎨ , , ,..., , ⎬
⎩ HHH H ⎭
且满足:
∑ m j= 1 w = 1,
i
j
m−
1
其中,H 用于控制参考向量生成的间隔,m 为目标数量.生成参考向量的数量为 N = C Hm+− 1 ;