论文部分内容阅读
分布估计算法(EDA)是一种新的种群进化模式的算法,是在遗传算法(GA)的基础上发展起来的,但不同的是EDA不使用GA中的交叉和变异操作,而是对当前优先群体的信息进行提取和分析并通过建立概率模型来描述各维变量的分布情况,然后对概率模型进行随机采样,将产生的新个体加入到下一代种群中,如此循环,实现种群的不断更新进化,直到满足停止条件。Copula分布估计算法(copula EDA),是把copula理论与分布估计算法相结合,既能展现copula理论和分布估计算法两者的优势,又能弥补分布估计算法单方面的不足。Copula理论将用于求取优势群体的联合分布,分为两部分操作:估计边缘分布函数和估计copula函数并对其采样。理论表明估计边缘分布以及对copula函数采样这种操作方法比直接对联合分布函数进行估计并采样要简单的多,从而减少了时间开销,提高了估计的精确性,改善了执行效率。由于copula EDA中边缘分布的选取多种多样,而且不同的选取策略导致算法的优化结果差别很大。因此,本文的方法是,选择clayton copula作为连接函数,选取经验分布和柯西分布用于边缘分布函数并验证两种分布下算法的可行性与有效性,进而对两者的优化结果进行分析比较,结果表明选取柯西分布作为边缘分布函数的优化结果相对要好,但是对某些测试函数的优化过程中存在着早熟的现象。通过对copula分布估计算法中边缘分布函数的进一步探究,对于边缘分布函数只采用一种分布函数(经验分布、正态分布、柯西分布等)而言,显然这种选取原则忽略了样本分布的随机性与多样性。因此,本文将正态分布、柯西分布、t分布等不同的分布函数组成候选的边缘分布函数集合,采用K-S(kolmogorov-smirnov)检验的思想来确定各维变量是否服从该集合中的某一分布函数,其中各维变量都可能有自身所服从的分布函数,可以相同也可以不同,若在候选的边缘分布函数集中找不到某维所服从的分布函数,则构造其相应的经验分布函数作为边缘分布函数,仿真实验表明基于K-S检验的copulaEDA选取边缘分布函数的思想使得算法具有更好的最优值而且具有很快的收敛性,同时后期种群也具有相对稳定性。