一种选择多目标量子粒子群算法领导粒子的方法与流程

文档序号:14217607阅读:268来源:国知局

本发明涉及智能算法优化领域,特别涉及一种选择多目标量子粒子群算法领导粒子的方法。



背景技术:

多目标优化问题在日常生产和生活中广泛存在,但如何获得有效且全面的多目标帕累托前沿一直是多目标优化问题的一个难点。量子粒子群算法不需要更新粒子速度,具有更新公式简单、设置参数少、收敛速度快等优点,被广泛采用。但在实际应用中存在多目标量子粒子群优化算法的帕累托前沿分布不均匀、不光滑,且难以搜索到到帕累托前沿实际边界的缺陷。于是现有改进方法采用两阶段、分区搜索方法,使得多目标优化问题的帕累托前沿分布更光滑。第一阶段是在只考虑一个目标的情况下,利用单目标量子粒子群算法分别求解各个目标的最优解,得到帕累托前沿的端点;第二阶段是在已知帕累托前沿端点的情况下,利用分区搜索方式将帕累托前沿分成多个区域,并在每个分区随机选择一个领导粒子引导该分区的种群进行搜索,缩小每个种群的搜索范围,增强算法的局部搜索能力。通过两阶段、分区搜索的方法可以找到帕累托前沿实际边界,帕累托分布均匀程度有所提升。但其均匀性仍然有待进一步改善,这是由于上述改进方法的领导粒子选择机理还有待完善。多目标量子粒子群算法在分区搜索过程中,需要在分区帕累托前沿中寻找一个领导粒子,领导粒子决定了该分区种群的搜索方向,一般领导粒子是从帕累托前沿中随机选择。在帕累托前沿中解密度较高的部位,其中的粒子被选中为领导粒子可能性大;而在解密度较低的部位,粒子被选中为领导粒子的可能性更小。这样的领导粒子选择机理将导致帕累托前沿的分布难以均匀化,使得解密度高的地方的解越来越密集,解密度低的部位的解越来越稀疏。

现有的多目标量子粒子群优化算法的帕累托前沿分布不够均匀,如图1中的多目标量子粒子群算法帕累托前沿,现有随机选择领导粒子的方式有待改进。



技术实现要素:

本发明的目的在于提供一种选择多目标量子粒子群算法领导粒子的方法,该方法能够使得帕累托前沿分布更均匀。

为实现上述目的,本发明的技术方案是:一种选择多目标量子粒子群算法领导粒子的方法,通过将多目标量子粒子群算法的帕累托前沿分区拉直,在每段分区拉直的帕累托前沿中随机选择一个坐标,再选择距离该坐标最近的解作为领导粒子,引导该分区种群的搜索,使帕累托前沿中解密集度较高部位中对应的粒子被选为领导粒子的概率低,解密集度较低部位对应的粒子被选为领导粒子的概率高,从而让帕累托前沿分布更均匀。

在本发明一实施例中,该方法具体实现步骤如下,

步骤s1、用单目标量子粒子群算法寻找帕累托前沿的边界点;

步骤s2、将帕累托前沿分区,每个分区设置一个种群进行搜索;

步骤s3、在每个分区的帕累托前沿中选择目标1或者目标2最优解所在的点,即帕累托前沿端点作为起始点;

步骤s4、为了使各个目标的数量级相同,将帕累托前沿中各个粒子进行归一化,归一化公式为:

式中:为最优解集中第m个目标的最小、最大值;第m个目标归一化值,取值范围为[0,1];m为目标编号;为帕累托前沿中第i个解第m个目标的目标值;

步骤s5、计算归一化后各个点的坐标与起始点的坐标之间的归一化距离,距离计算公式为:

式中:为归一化后起始点第m个目标的目标值;di,ori为第i个解与起始点之间的距离;k为分区最优解集中解的个数;

步骤s6、根据di,ori大小按升序对各个解进行排序,然后再计算排序后前后两个解之间的距离,即计算排序后第i个解与第i+1个解之间的距离其计算公式具体为:

式中:为第i个解与第i+1个解之间的距离;

步骤s7、根据的大小把帕累托前沿拉直并放置在一个一维坐标系上,拉直后的帕累托前沿拥有两个目标的信息,且可以清楚的看出两点之间的拥挤度;假设拉直后的帕累托前沿起始点的坐标为0,第i+1个解的坐标可以直接根据下式得到:

式中:xi+1为在一维坐标系中第i+1个解的坐标;

步骤s8、在0到最后一个点的坐标值之间随机选择一个坐标,然后在拉直的帕累托前沿中选择离该坐标最近的点作为领导粒子。

相较于现有技术,本发明具有以下有益效果:本发明将多目标量子粒子群优化算法的帕累托前沿拉直,得到拉直后帕累托前沿各个解的坐标,并在每个区域的起始点到最后一个点的坐标之间随机选取一个坐标值,选择与该坐标值最近的解作为领导粒子;这种领导粒子的选择机制使帕累托前沿中解密集度较高部位中对应的粒子被选为领导粒子的概率低,解密度较低部位对应的粒子被选为领导粒子的概率高,从而让帕累托前沿分布更均匀。

附图说明

图1为每个分区内帕累托前沿示意图。

图2为拉直后的帕累托前沿示意图。

图3为现有多目标量子粒子群算法和本发明帕累托前沿比较图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。

本发明的一种选择多目标量子粒子群算法领导粒子的方法,通过将多目标量子粒子群算法的帕累托前沿分区拉直,在每段分区拉直的帕累托前沿中随机选择一个坐标,再选择距离该坐标最近的解作为领导粒子,引导该分区种群的搜索,使帕累托前沿中解密集度较高部位中对应的粒子被选为领导粒子的概率低,解密集度较低部位对应的粒子被选为领导粒子的概率高,从而让帕累托前沿分布更均匀;该方法具体实现步骤如下,

步骤s1、用单目标量子粒子群算法寻找帕累托前沿的边界点;

步骤s2、将帕累托前沿分区,每个分区设置一个种群进行搜索;

步骤s3、在每个分区的帕累托前沿中选择目标1或者目标2最优解所在的点,即帕累托前沿端点作为起始点;如图1中分区2的b点或者c点,如果选择目标1最优解所在的点(帕累托前沿左端点)作为起始点,则在图1中b点为起始点,其坐标可以表示为

步骤s4、为了使各个目标的数量级相同,将帕累托前沿中各个粒子进行归一化,归一化公式为:

式中:为最优解集中第m个目标的最小、最大值;第m个目标归一化值,取值范围为[0,1];m为目标编号;为帕累托前沿中第i个解第m个目标的目标值;

步骤s5、计算归一化后各个点的坐标与起始点的坐标之间的归一化距离,距离计算公式为:

式中:为归一化后起始点第m个目标的目标值;di,ori为第i个解与起始点之间的距离;k为分区最优解集中解的个数;

步骤s6、根据di,ori大小按升序对各个解进行排序,然后再计算排序后前后两个解之间的距离,即计算排序后第i个解与第i+1个解之间的距离其计算公式具体为:

式中:为第i个解与第i+1个解之间的距离;

步骤s7、根据的大小把帕累托前沿拉直并放置在一个一维坐标系上,如图2所示,拉直后的帕累托前沿拥有两个目标的信息,且可以清楚的看出两点之间的拥挤度;假设拉直后的帕累托前沿起始点的坐标为0,第i+1个解的坐标可以直接根据下式得到:

式中:xi+1为在一维坐标系中第i+1个解的坐标;

步骤s8、在0到最后一个点的坐标值(xk)之间随机选择一个坐标,然后在拉直的帕累托前沿中选择离该坐标最近的点作为领导粒子。以图2为例,假设随机选取的点为a点,从图2中可以看出,a点位于x4与x5之间,且a点距离x4的距离较近,因此选取第4个解为该分区引导粒子。

本发明将多目标量子粒子群优化算法的帕累托前沿拉直,得到拉直后帕累托前沿各个解的坐标,并在每个区域的起始点到最后一个点的坐标之间随机选取一个坐标值,选择与该坐标值最近的解作为领导粒子。这种领导粒子的选择机制使帕累托前沿中解密集度较高部位中对应的粒子被选为领导粒子的概率低,解密度较低部位对应的粒子被选为领导粒子的概率高,从而让帕累托前沿分布更均匀。对比效果如图3所示。图中线1为本发明的帕累托前沿,线2为现有多目标量子粒子群算法帕累托前沿。从图3可以看出,线2帕累托前沿中间部分的解密集度高,边缘部分解密集度低,帕累托前沿分布不均匀。与线2的帕累托前沿相比,线1的帕累托前沿分布均匀度显著改善。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1