论文部分内容阅读
工程实践中,我们遇到的很多问题都是数值约束优化问题。演化算法由于其强大的搜索能力和鲁棒性等特点,被越来越多地用于解决数值约束优化问题。目前,研究工作者提出了多种不同的演化算法用于解决数值约束优化问题。我们在已有算法的基础上,提出了两个新的算法分别用于解决比较复杂的约束优化问题和工程设计中遇到的约束优化问题。 (1)约束优化问题中可能存在多个约束,约束描述了变量间可能存在的相互制约关系,这通常使得演化算法找到数值约束优化问题最优解的难度比找到同等条件下无约束优化问题最优解的难度更高。当用演化算法解决数值约束优化问题时,种群中个体可能为可行解也可能为不可行解。当可行解与可行解比较时,这种情况比较容易确定较优个体;但是当可行解与不可行解比较或不可行解与不可行解比较时,这两种情况下就比较难判断较优个体。针对这种情况,我们提出了基于参考点的数值约束处理算法(Reference Point based Constraint HandlingMethod for Evolutionary Algorithm),简写为RPCH。在RPCH算法中,我们首先设计了参考点选择策略和个体间的比较选择机制。当两个个体进行比较时,如果这两个个体之间具有pareto支配关系,那么支配的个体优于被支配的个体;否则,比较这两个个体分别到参考点的距离,与参考点距离较小的个体优于与参考点距离较大的个体。然后种群中的所有个体通过两两比较的方式确定它们各自在种群中的顺序,种群大小λ中较优的父代数目的μ个个体被选择作为父代产生子代,通过变异操作等进行演化。实验表明RPCH算法能够有效地解决24个标准测试问题中的21个约束优化问题,并且获得了问题g22迄今为止能找到的最好解。与已有其他最好算法的比较实验进一步表明RPCH算法在解决数值约束优化问题上具有很强的竞争力。 (2)在求解工程实践中遇到的部分约束优化问题时,评估一次目标函数需要的时间或金钱等代价可能会非常高,所以在解决这一类约束优化问题时,除了要求找到问题的最优解之外,人们往往希望以最小的代价找到最优解。也就是人们希望以最小的评估次数找到最优解。然而,演化算法收敛速度过快,种群中的个体多样性也会快速下降,进而导致算法常收敛于局部最优解;反之,算法在演化过程中很好地保持种群多样性,会降低算法收敛速度。为了在保证解的质量的同时能够加快算法的收敛速度,我们提出了一种快速差分演化算法(FastDifferential Evolution for Constrained Optimization Problems in Engineering Design)用于解决工程设计中遇到的约束优化问题,简称FDE。在FDE中,我们提出了一种新的变异策略“DE/current-to-ppbest”,该策略以不同的概率选择较好的个体引导种群的演化方向。在选择下一代种群时,我们没有采用差分演化中传统的基于两两比较的选择方法,而是提出一种基于排序的选择模型选择进入下一代的个体,这种基于排序的选择模型能够加快种群的收敛速度。FDE算法的有效性在5个工程设计中遇到的约束优化问题上得到了验证。与已有其他最好算法的比较实验表明当评估次数有限或评估成本比较高时,FDE是一个很好的选择,它能在付出较小的评估代价的同时保证较高的解质量。