问题提出
代理模型的构造较复杂,作者希望构造一个更为简单的廉价(cheap)的代理模型来评估子集的质量。
因此作者提出了一个叫做CPS(classification based preselection)算法。
预选择(preselection)
在进化算法中,预选择是一种分类问题。准确地说,是将子代解作为外部数据集进行二分类,分为promising和unpromissing的解。
CPS的主要步骤
- ① 根据父代解更新外部种群,给外部种群加上标签
- ②构造基于KNN的预分类器
- ③根据构造的分类器,预测子代候选解标签(代理模型的核心)
- ④根据预测标签选择子代解
数据准备 (Data Preparation)
初始化:算法一开始先建立一个外部种群,置空。外部种群随着迭代而更新(同时外部种群可以当做archive,最终的大小 小于5*N)
迭代过程:真实评价当前父代每个每个个体,加入外部种群。对外部种群非支配排序。P+包含了外部种群前一半大小的作为非支配解 ,标记为+1。P-包含了外部种群后一半大小的作为被支配解,标记为-1。
分类模型 (Classification Model)
K是一个KNN的K,为一个奇数。Xi是第k近的特征向量,C是外部种群特征向量标签。
当新产生一个子代解时,我们,可以在不做真实评价时,利用这种分类模型给子代解打上标签。
子代选择( Offspring Selection)
每一个父代解将会生成M个子代解,在这M个子代解中,只评价其中的一部分,将会大大降低计算消耗。
策略嵌入算法流程图
实验结果(IGD评价)
参考文献:Zhang J, Zhou A, Tang K, et al. Preselection via classification: A case study on evolutionary multiobjective optimization[J]. Information Sciences, 2018, 465: 388-403.
The classification-based preprocessor model in this evolutionary calculation is new. I am very impressed with this model.