论文部分内容阅读
高维多目标优化问题是现实社会中普遍存在的一种实际优化问题。相对于普通两到三个目标的多目标优化问题,高维多目标优化问题的最明显特征是目标个数较多,一般大于三个。而且,随着目标个数的增多,种群中非支配解的个数呈指数增加。大大削弱了传统基于Pareto排序的优化算法进行选择与搜索的能力。因此,传统的优化算法对于高维多目标优化问题,效果欠佳。近年来,高维多目标优化算法已成为优化领域的研究热点。这些研究主要从两个方面进行,一方面是降低目标维度,减少冗余目标;另一方面是使用新的占优机制取代传统的Pareto占优机制。论文利用主成分分析(Principal Component Analysis,简称PCA)的方法,从降低目标维度和改变占优机制两个方面对高维多目标优化算法进行研究。论文的主要工作如下:①在降低目标维度方面,本文提出了COPCA-NSGA-II算法,主要在冗余目标处理以及初始化种群两方面加以改进。在冗余目标处理方面,COPCA-NSGA-II算法对PCA分析得到的冗余目标不是进行丢弃操作,而是进行拟合形成新的虚拟目标,并加入到非冗余目标集中,进行下一次的NSGA-II进化算法。在初始化种群方面,COPCA-NSGA-II算法在进行NSGA-II进化算法时,将上一次NSGA-II进化算法得到的非支配解种群中的部分个体加入到本次进化算法的初始化种群中。通过实验可以发现,COPCA-NSGA-II算法得到的非支配解集具有更好的收敛度和分布度。②在占优机制方面,本文提出了基于PCA的占优机制。PCA占优机制的原理是通过对目标矩阵的PCA分析得到各个目标的权重。进而,在非支配解的选取中,各个目标值乘以其权重,并使用差值求解的方式取代传统Pareto占优的方式。通过实验可以发现,PCA占优机制对于目标维数较高的高维多目标优化问题能够取得较好的效果。③为了验证算法在实际应用中的可行性,本文将COPCA-NSGA-II算法和PCA占优机制应用于云计算中虚拟机分配问题。实验表明,这两个算法对该问题抽象成的需要同时优化五个目标的简化模型获得了较为满意的解集。从而论证了算法在实际应用中的可行性。