基于Pareto的快速多目标克隆选择算法摘要:基于免疫系统中克隆选择原理,提出了一种多目标克隆选择算法MCSA。该方法只对部分当前所得到的Pareto最优解进行进化操作,所求得的Pareto最优解保留在一个不断更新的外部记忆库中,并选用一种简单的多样性保存机制来保证其具有良好的分布特征。实验结果表明,该方法能够很快地收敛到Pareto最优前沿面,同时较好地保持解的多样性和分布的均匀性。对于公认的多目标benchmark问题,MCSA在解集分布的均匀性、多样性与解的精确性及算法收敛速度等方面均优于SPEA、NSGA-II等算法。关键词:克隆选择原理;Pareto最优解;多目标优化:TP301文献标志码:A:1001-3695(2008)05-1368-04最优化处理是在可能的解中搜索对于某些目标来说是最优解的问题,这种问题在过去的五十年中已经得到了深入的研究。若仅考虑一个优化目标,即单目标优化问题;如果存在的目标超过一个并需要同时处理,就成为多目标优化问题[1,2]。多目标优化问题中各目标之间通过决策变量相互制约,对其中的一个目标优化必须以其他目标作为代价,而且各目标的物理意义往往又不一致,因此很难评价多目标问题解的优劣性。与单目标优化问题的本质区别在于,多目标优化问题的解不是惟一的,而是存在一个最优解集合,集合中元素称为Pareto最优解或非支配解(non-dominatedsolutions)[3]。所谓Pareto最优解,就是不存在比其中至少一个目标好而其他目标不劣的更好的解,也就是不可能通过优化其中部分目标而使其他目标不至劣化。因此,Pareto最优解集中的元素就所有目标而言是彼此不可比较的。??在过去的二十年中,进化算法作为多目标优化问题的新求解方法受到了相当程度的关注,这就诞生了多目标进化算法。Fonseca和Fleming对这一主题进行了综述[4],他们将进化多目标优化算法分为明确加权法、基于种群的非Pareto方法和基于Pareto的方法三类。其中基于Pareto的进化算法是一条求解多目标问题非劣最优解的有效途径。在基于Pareto的方法中最具代表性的两类是解排序遗传算法NSGA(non-dominatedsortinggeneticalgorithm)和基于浓度的Pareto进化算法SPEA(strengthparetoevolutionaryalgorithm)。Zitzler和Thiele于1999年提出了SPEA[5],它的运行效率比较低,但由于SPEA采用聚类方法维持解群体的分布性,其解集的分布性比NSGA好。Zitzler等人于2001年又对SPEA进行了改进,提出了运行效率相对较高的SPEA2[6]。Srinivas和Deb基于个体的多层次分类提出了NSGA[7]。NSGA通过计算个体之间的聚集距离来保持群体的分布性,运行效率比SPEA高,但分布性差一些。最近,Deb等人通过引进快速非劣解排序和新的多样性保存方法提出了第二代NSGA,简称NSGA-Ⅱ[8]。总的来说,NSGA-Ⅱ的运行效率比SPEA2好,其解集的分布性也不比SPEA2差,是目前研究者们比较认同的一种好算法。??上面提到的多目标进化算法基本上都是基于遗传算法(GA)来求解多目标优化问题。本文借鉴免疫系统中的克隆选择原理,将成功地应用于单目标优化问题的克隆选择算法扩展到多目标优化问题中,设计出了一种新的基于Pareto的多目标优化算法。??1克隆选择原理??在自然界中,免疫功能是指机体对外部感染具有抵抗能力而保护自身的能力,它是机体内部细胞相互作用的结果。克隆选择原理是目前描述免疫系统作用机制的两个主要理论之一[9,10]。??任何能够被自适应的免疫系统识别的分子都被称为抗原(Ag)。当机体首次接触某种抗原时,其骨髓产生的B细胞的某个子部分会作出反应,产生抗体(Ab)。它们的作用就是识别并绑定特定的抗原,特定类型的抗体是针对一类相对特定的抗原的。克隆选择原理如图1所示,其基本思想是只有那些能够识别抗原的细胞才进行扩增,只有这些细胞才能被选择并保留下来;那些不能识别抗原的细胞则不选择,也不进行扩增。骨髓中微小的“休眠”的B细胞每一个都载有一个不同的抗体类型,这些细胞载有对于抗原特异的受体,扩增分化成浆细胞和记忆细胞。??与达尔文的生物进化原理相似,免疫系统中也存在着进化现象。免疫系统中每个B细胞受体的形状可用一个n维实向量描述,因此可表示为n维欧几里得空间中的一点,称此空间为欧几里得形状空间。两个B细胞的受...