一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

粒子群算法停止代数预测方法、装置、设备及存储介质

2022-07-31 02:47:41 来源:中国专利 TAG:


1.本技术涉及粒子群算法技术领域,特别涉及一种粒子群算法停止代数预测方法、装置、设备及存储介质。


背景技术:

2.粒子群算法是群体演化算法的一种,是受到鸟类觅食迁徙和群聚行为启发的随机搜索优化算法。在该算法中,首先,随机初始化一组解,即粒子群,每个粒子都具有根据目标函数计算得到的适应值;其次,根据粒子个体当前所搜寻到的最优适应值和整个群体当前所找到的最优适应值来计算每个粒子的速度;接着,根据速度更新每个粒子的坐标,再根据坐标更新每个粒子的适应值,如此反复,直到满足一定的停止准则。由于粒子群算法具有原理简明、易于编程、搜索效率高、比较容易跳出局部次优、参数少、收敛快和精度高等诸多优点,因此,被广泛应用于许多领域的优化问题。此外,其还可以与遗传算法、人工神经网络、支持向量机等机器学习方法相结合,以优化这些方法的参数。
3.其中,粒子群算法的停止技术是指根据应用场景和对结果的精度要求确定当前环境下的最佳停止代数,以满足在保证结果可用的基础上节约计算开销等实际需求。相关技术中,粒子群算法的传统停止技术主要是基于“相邻代数之间最优值的相对变化”的信息来判断算法停止的代数。虽然其能够适应实际应用中精度要求的变化,但却不能在最佳的停止代数处停止算法,即不具备预测停止代数的能力,存在一定的滞后性,以致计算开销较大。


技术实现要素:

4.本技术提供一种粒子群算法停止代数预测方法、装置、设备及存储介质,以解决相关技术中存在的无法预测粒子群算法的停止代数而导致的计算开销较大的问题。
5.第一方面,提供了一种粒子群算法停止代数预测方法,包括以下步骤:
6.获取与目标函数对应的目标粒子群算法和预设相对精度;
7.运行目标粒子群算法并计算各个粒子在初始代的第一适应值,基于各个粒子在初始代的第一适应值和粒子数计算出粒子群的初始代峰值密度;
8.基于各个粒子在初始代的第一适应值计算适应值距离,并根据所述适应值距离和所述预设相对精度计算粒子群的目标峰值密度;
9.使所述目标粒子群算法进入迭代,并计算各个粒子在前l代中每一次迭代的第二适应值,基于各个粒子每一次迭代的第二适应值和粒子数分别对应计算出粒子群在前l代中每一次迭代的峰值密度,其中,l为正整数;
10.根据所述初始代峰值密度、粒子群在前l代中每一次迭代的峰值密度和所述目标峰值密度预测出目标粒子群算法在前l代中每一次迭代的初步停止代数,得到l个初步停止代数;
11.从l个初步停止代数中筛选出最小的初步停止代数作为所述目标粒子群算法当前
代的预测停止代数。
12.一些实施例中,在所述从l个目标粒子群算法的初步停止代数中筛选出最小的初步停止代数作为所述目标粒子群算法当前代的预测停止代数的步骤之后,还包括:
13.判断所述预测停止代数是否小于或等于目标粒子群算法处于当前代的迭代数;
14.若是,则将所述迭代数作为所述目标粒子群算法的实际停止代数,并停止所述目标粒子群算法的迭代;
15.若否,则执行所述计算各个粒子在前l代中每一次迭代的适应值的步骤。
16.一些实施例中,所述根据所述初始代峰值密度、粒子群在前l代中每一次迭代的峰值密度和所述目标峰值密度预测出目标粒子群算法在前l代中每一次迭代的初步停止代数,包括:
17.根据所述初始代峰值密度和粒子群在第l-1代的峰值密度计算出第l-1代峰值密度的上升速率;
18.根据所述第l-1代峰值密度的上升速率、所述初始代峰值密度和所述目标峰值密度预测出所述目标粒子群算法在第l-1代的初步停止代数。
19.一些实施例中,所述基于各个粒子在初始代的第一适应值和粒子数计算出粒子群的初始代峰值密度,包括:
20.根据粒子数确定出适应值区间数;
21.从各个粒子在初始代的第一适应值中筛选出最大适应值和最小适应值,所述最大适应值和所述最小适应值组成初始代适应值区间;
22.基于适应值区间数将所述初始代适应值区间等分为多个初始代适应值子区间;
23.根据初始代适应值子区间内的粒子数和初始代适应值子区间的长度计算出各个初始代适应值子区间的粒子密度,得到多个粒子密度;
24.从多个粒子密度中筛选出最大粒子密度,并将所述最大粒子密度作为粒子群的初始代峰值密度。
25.第二方面,提供了一种粒子群算法停止代数预测装置,包括:
26.获取单元,其用于获取与目标函数对应的目标粒子群算法和预设相对精度;
27.第一计算单元,其用于运行目标粒子群算法并计算各个粒子在初始代的第一适应值,基于各个粒子在初始代的第一适应值和粒子数计算出粒子群的初始代峰值密度;
28.第二计算单元,其用于基于各个粒子在初始代的第一适应值计算适应值距离,并根据所述适应值距离和所述预设相对精度计算粒子群的目标峰值密度;
29.第三计算单元,其用于使所述目标粒子群算法进入迭代,并计算各个粒子在前l代中每一次迭代的第二适应值,基于各个粒子每一次迭代的第二适应值和粒子数分别对应计算出粒子群在前l代中每一次迭代的峰值密度,其中,l为正整数;
30.预测单元,其用于根据所述初始代峰值密度、粒子群在前l代中每一次迭代的峰值密度和所述目标峰值密度预测出目标粒子群算法在前l代中每一次迭代的初步停止代数,得到l个初步停止代数;从l个初步停止代数中筛选出最小的初步停止代数作为所述目标粒子群算法当前代的预测停止代数。
31.一些实施例中,所述预测单元还用于:
32.判断所述预测停止代数是否小于或等于目标粒子群算法处于当前代的迭代数;
33.若是,则将所述迭代数作为所述目标粒子群算法的实际停止代数,并停止所述目标粒子群算法的迭代;
34.若否,则执行所述计算各个粒子在前l代中每一次迭代的适应值的步骤。
35.一些实施例中,所述预测单元具体用于:
36.根据所述初始代峰值密度和粒子群在第l-1代的峰值密度计算出第l-1代峰值密度的上升速率;
37.根据所述第l-1代峰值密度的上升速率、所述初始代峰值密度和所述目标峰值密度预测出所述目标粒子群算法在第l-1代的初步停止代数。
38.一些实施例中,所述第一计算单元具体用于:
39.根据粒子数确定出适应值区间数;
40.从各个粒子在初始代的第一适应值中筛选出最大适应值和最小适应值,所述最大适应值和所述最小适应值组成初始代适应值区间;
41.基于适应值区间数将所述初始代适应值区间等分为多个初始代适应值子区间;
42.根据初始代适应值子区间内的粒子数和初始代适应值子区间的长度计算出各个初始代适应值子区间的粒子密度,得到多个粒子密度;
43.从多个粒子密度中筛选出最大粒子密度,并将所述最大粒子密度作为粒子群的初始代峰值密度。
44.第三方面,提供了一种粒子群算法停止代数预测设备,包括:存储器和处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现前述的粒子群算法停止代数预测方法。
45.第四方面,提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,当所述计算机程序被处理器执行时,以实现前述的粒子群算法停止代数预测方法。
46.本技术提供的技术方案带来的有益效果包括:可预测出粒子群算法的停止代数,并减少了迭代次数及相应的计算开销。
47.本技术提供了一种粒子群算法停止代数预测方法、装置、设备及存储介质,包括获取与目标函数对应的目标粒子群算法和预设相对精度;运行目标粒子群算法并计算各个粒子在初始代的第一适应值,基于各个粒子在初始代的第一适应值和粒子数计算出粒子群的初始代峰值密度;基于各个粒子在初始代的第一适应值计算适应值距离,并根据所述适应值距离和所述预设相对精度计算粒子群的目标峰值密度;使所述目标粒子群算法进入迭代,并计算各个粒子在前l代中每一次迭代的第二适应值,基于各个粒子每一次迭代的第二适应值和粒子数分别对应计算出粒子群在前l代中每一次迭代的峰值密度,其中,l为正整数;根据所述初始代峰值密度、粒子群在前l代中每一次迭代的峰值密度和所述目标峰值密度预测出目标粒子群算法在前l代中每一次迭代的初步停止代数,得到l个初步停止代数;从l个初步停止代数中筛选出最小的初步停止代数作为所述目标粒子群算法当前代的预测停止代数。本技术通过利用粒子群算法中粒子峰值密度的变化规律来自适应地提前预测出算法的停止代数,既为用户提供了算法停止代数的预测信息,又在保证结果可用的基础上减少了迭代次数及相应的计算开销。
附图说明
48.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
49.图1为本技术实施例提供的一种粒子群算法停止代数预测方法的流程示意图;
50.图2为本技术实施例提供的粒子群算法停止代数预测方法的具体流程示意图;
51.图3为本技术实施例提供的粒子群峰值密度的具体计算流程示意图;
52.图4为本技术实施例提供的预测停止代数和理想停止代数的对比示意图;
53.图5为本技术实施例提供的一种粒子群算法停止代数预测设备的结构示意图。
具体实施方式
54.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
55.本技术实施例提供了一种粒子群算法停止代数预测方法、装置、设备及存储介质,其能解决相关技术中存在的无法预测粒子群算法的停止代数而导致的计算开销较大的问题。
56.图1是本技术实施例提供的一种粒子群算法停止代数预测方法,包括以下步骤:
57.步骤s10:获取与目标函数对应的目标粒子群算法和预设相对精度;
58.示范性的,本实施例中,由用户预设好指定的应用场景(即求解某具体目标函数的最小或最大值)、与该应用场景对应的所采用的一种粒子群算法以及在该应用场景下对目标函数解的相对精度的要求(即预设相对精度),记该预设相对精度为precision,其值可以是10-2
、10-4
或10-6
等任何合理的相对精度,在此不作限定;本实施例中的“相对精度”是指粒子群算法中相邻两代的解(即群体最优值)之间的相对变化,与“相对精度”对应的概念是“绝对精度”,其指粒子群算法得到的解与目标函数的真实最小值之间的误差,一般来说,如果相对精度为precision,那么绝对精度往往是10倍的precision(比如10-6
的相对精度对应于10-5
的绝对精度)。因此,本实施例需要获取与目标函数对应的目标粒子群算法和预设相对精度。
59.步骤s20:运行目标粒子群算法并计算各个粒子在初始代的第一适应值,基于各个粒子在初始代的第一适应值和粒子数计算出粒子群的初始代峰值密度;
60.进一步的,所述基于各个粒子在初始代的第一适应值和粒子数计算出粒子群的初始代峰值密度,包括:
61.根据粒子数确定出适应值区间数;
62.从各个粒子在初始代的第一适应值中筛选出最大适应值和最小适应值,所述最大适应值和所述最小适应值组成初始代适应值区间;
63.基于适应值区间数将所述初始代适应值区间等分为多个初始代适应值子区间;
64.根据初始代适应值子区间内的粒子数和初始代适应值子区间的长度计算出各个
初始代适应值子区间的粒子密度,得到多个粒子密度;
65.从多个粒子密度中筛选出最大粒子密度,并将所述最大粒子密度作为粒子群的初始代峰值密度。
66.示范性的,本实施例中,在获取到与目标函数对应的目标粒子群算法和预设相对精度后,需要对粒子群算法的初始参数(比如粒子数、惯性权重、个体调整权重和社会调整权重等)进行设定,并运行目标粒子群算法,进而会随机生成n个粒子,其中,n为正整数;然后计算所有粒子在初始代的第一适应值(即目标函数值),以得到n个第一适应值,并在n个第一适应值中找到最小适应值和最大适应值组成粒子在初始代的适应值区间;再根据n个粒子数确定出需要将该适应值区间划分为几个小区间,并根据粒子的第一适应值对各个小区间中存在的粒子数进行统计,且用统计得到的粒子数除以对应小区间的长度,即可得到每个小区间的粒子密度;最后将各个小区间的粒子密度进行比较,找到粒子密度最大值,其便是粒子群的初始代峰值密度。
67.步骤s30:基于各个粒子在初始代的第一适应值计算适应值距离,并根据所述适应值距离和所述预设相对精度计算粒子群的目标峰值密度;
68.示范性的,本实施例中,在n个第一适应值中找到最小适应值和最大适应值后,还需要计算出该最小适应值和最大适应值之间的距离dist,并根据预设相对精度precision和距离dist计算出粒子群的目标峰值密度ρ
obj
,即ρ
obj
=precision/dist。
69.步骤s40:使所述目标粒子群算法进入迭代,并计算各个粒子在前l代中每一次迭代的第二适应值,基于各个粒子每一次迭代的第二适应值和粒子数分别对应计算出粒子群在前l代中每一次迭代的峰值密度,其中,l为正整数;
70.示范性的,本实施例中,使目标粒子群算法进入迭代,并计算(或更新)粒子和群体在每一次迭代中的最优适应值;然后再根据粒子群算法的更新规则更新粒子们的速度、位置和适应值,且在每一次迭代中,根据计算得到的最优适应值和粒子数计算出粒子群在每一次迭代的峰值密度,由于粒子群在每一次迭代的峰值密度的计算方法和原理与步骤s20中粒子群的初始代峰值密度的计算方法和原理相似,为了描述的简洁性,在此不再赘述。而为了使预测的停止代数具有更好的稳定性和可用性,本技术将预测出前l代中每一次迭代的初步停止代数,并从中选择最小的初步停止代数作为预测停止代数,而初步停止代数的预测需要依赖于峰值密度,因此本实施例需要对前l代中每一次迭代的峰值密度进行计算。其中,l值的具体设定可根据实际情况确定,在此不作限定。
71.步骤s50:根据所述初始代峰值密度、粒子群在前l代中每一次迭代的峰值密度和所述目标峰值密度预测出目标粒子群算法在前l代中每一次迭代的初步停止代数,得到l个初步停止代数;
72.进一步的,所述根据所述初始代峰值密度、粒子群在前l代中每一次迭代的峰值密度和所述目标峰值密度预测出目标粒子群算法在前l代中每一次迭代的初步停止代数,包括:
73.根据所述初始代峰值密度和粒子群在第l-1代的峰值密度计算出第l-1代峰值密度的上升速率;
74.根据所述第l-1代峰值密度的上升速率、所述初始代峰值密度和所述目标峰值密度预测出所述目标粒子群算法在第l-1代的初步停止代数。
75.示范性的,本实施例中,以l=3为例(不过在实际粒子群算法中,迭代次数l将远大于3,此处将其设定为3,仅是为了描述的简便性):假设初始代峰值峰值密度为ρ0,第一次迭代l1的峰值密度为ρ1,则在第一次迭代l1中,峰值密度的上升速率rate1=(log
10
ρ
1-log
10
ρ0)/t,其中,t为迭代次数;然后再根据上升速率rate1、初始代峰值峰值密度为ρ0和目标峰值密度ρ
obj
计算第一次迭代l1的初步停止代数pred1,即pred1=(log
10
ρ
obj-log
10
ρ0)/rate1。
76.同理,假设第二次迭代l2的峰值密度为ρ2,则在第二次迭代l2中,峰值密度的上升速率rate2=(log
10
ρ
2-log
10
ρ0)/t,而第二次迭代l2的初步停止代数pred2=(log
10
ρ
obj-log
10
ρ0)/rate2;假设第三次迭代l3的峰值密度为ρ3,则在第三次迭代l3中,峰值密度的上升速率rate3=(log
10
ρ
3-log
10
ρ0)/t,而第三次迭代l3的初步停止代数pred3=(log
10
ρ
obj-log
10
ρ0)/rate3,即得到了前三代的初步停止代数pred1、pred2和pred3,并对所有初步停止代数进行保存。
77.步骤s60:从l个初步停止代数中筛选出最小的初步停止代数作为所述目标粒子群算法当前代的预测停止代数。
78.进一步的,在所述从l个目标粒子群算法的初步停止代数中筛选出最小的初步停止代数作为所述目标粒子群算法当前代的预测停止代数的步骤之后,还包括:
79.判断所述预测停止代数是否小于或等于目标粒子群算法处于当前代的迭代数;
80.若是,则将所述迭代数作为所述目标粒子群算法的实际停止代数,并停止所述目标粒子群算法的迭代;
81.若否,则执行所述计算各个粒子在前l代中每一次迭代的适应值的步骤。
82.示范性的,本实施例中,为了使预测的停止代数具有更好的稳定性和可用性,取前l代的初步停止代数中的最小值作为当前代的预测停止代数prediction,保存并向屏幕输出prediction,以供用户了解预测的算法运行代数。具体的,对pred1、pred2和pred3进行排序,将pred1、pred2和pred3中的最小值作为第四次迭代(即当前代)的预测停止代数prediction。
83.然后再判断当前代的预测停止代数prediction是否小于或者等于当前代的迭代数t;若判定结果为假,则在对迭代数t加1后返回步骤步骤s40进行下一次迭代,并计算出新的初步停止代数,即重复迭代过程;如判定结果为真,则停止迭代过程,并将当前代的迭代数t作为真正的停止代数stopiteration,同时将当前代的群体最优适应值作为目标函数的解进行输出。
84.由此可见,本技术通过利用粒子群算法中粒子峰值密度的变化规律来自适应地提前预测出算法的停止代数并根据预测结果决定算法合适的停止代数,既为用户提供了算法停止代数的预测信息,又在保证结果可用的基础上减少了迭代次数及相应的计算开销。
85.以下结合图2和图3对本实施例作进一步具体阐述。
86.用户指定具体的应用场景、一种具体的粒子群算法和相对精度要求,其中以对2维的旋转高条件椭圆函数(rotated high conditioned elliptic function)求最小值作为应用场景示例,且f(x)的真实最小值为100,并以惯性权重线性递减的粒子群算法作为算法示例,以precision=10-6
作为相对精度示例(10-6
的相对精度对应10-5
的绝对精度)。
87.然后设定粒子群算法的初始参数:在本实施例中粒子群算法的惯性权重设置为从
0.9开始递减,每一代减少0.0001且至多减少到0,个体调整权重和社会调整权重均设置为2;接着随机生成n个粒子,本实施例中以n=100为例。
88.再计算所有粒子在初始代的适应值,并基于所有粒子在初始代的适应值和粒子数n计算初始代粒子们的峰值密度,具体计算过程参见图3所示:已知粒子总数n=100和所有粒子在初始代的适应值,并根据公式k=floor(sqrt(n))计算得到粒子在初始代的适应值区间的等分数k=10;然后在n个适应值中找到最小适应值m和最大适应值m组成粒子在初始代的适应值区间[m,m];再将适应值区间[m,m]等分为k(即10)个小区间;接着根据适应值统计上述小区间中的粒子数;再使用粒子数除以小区间长度,得到小区间的粒子密度;找到上述小区间粒子密度的最大值,其便是粒子群的初始代峰值密度ρ0。其次,计算最大适应值和最小适应值之间的距离dist,并根据指定的相对精度precision和距离dist计算粒子的目标峰值密度ρ
obj
=precision/dist。然后令迭代数t=1,准备进入第一次迭代。
[0089]
计算(或更新)粒子和群体的最优适应值,记群体的最优适应值为gbest,然后根据粒子群算法的规则更新粒子们的速度、位置和适应值,并同样参照图3和上面描述的过程计算粒子群在每一次迭代的峰值密度ρ,以某一次迭代为例:使用初始代峰值密度ρ0和该次迭代峰值密度ρ计算该次迭代峰值密度的上升速率rate=(log
10
ρ-log
10
ρ0)/t,有了初始代峰值密度ρ0、目标峰值密度ρ
obj
和该次迭代峰值密度的上升速率rate后,计算该次迭代的初步停止代数pred=(log
10
ρ
obj-log
10
ρ0)/rate并保存,同理可计算出每一次迭代的峰值密度、上升速率和初步停止代数;为了使预测的停止代数具有更好的稳定性和可用性,取前l(本实施例中将l设为500)代初步停止代数的最小值作为当前代的预测停止代数prediction,保存并输出预测当前代的预测停止代数prediction,以便用户了解算法可能的运行代数(即运行时间),从而做出相应的准备和决策。
[0090]
最后再判断当前代的预测停止代数prediction是否小于或者等于当前的迭代数t;若判定结果为假(即no),则在对迭代数t加1后返回更新粒子和群体的最优适应值的步骤,即重复迭代过程;如判定结果为真(即yes),则停止迭代过程,并将当前代的迭代数t作为真正的停止代数stopiteration,同时将当前代的群体最优适应值gbest作为粒子群算法得到的解进行输出。
[0091]
在本实施例中,输出stopiteration=4388,gbest=100.000004,即gbest与目标函数的真实最小值100之间的误差小于绝对精度10-5
(由于在本实施例中,相对精度设置为10-6
,所以绝对精度可以视为10-5
),因此寻优的结果满足精度的要求。另外,由于目标函数理想输出的第4360代的gbest=100.000017与最小值100之间的误差大于绝对精度10-5
,而第4361代的gbest=100.000004与最小值100之间的误差小于绝对精度10-5
,所以第4361代可以看作是当前应用场景下理想的停止代数,且本实施例中得到的停止代数4388非常接近理想的停止代数4361,具体参见图4所示:图4中的实线代表的是本实施例中所有运行代数对应的预测停止代数,而虚线则代表的是理想的收敛代数(即真实停止代数)4361;由此可见,在粒子群算法运行到大几百代后,预测的停止代数开始进入到[4388,5000]这个区间,这样的表现说明依据本实施例得到的预测停止代数非常接近理想的收敛代数,因此,本技术的停止技术在合适的代数停止了算法,即本技术进行粒子群算法的停止代数的预测是有效的。
[0092]
本实施例可针对不同的应用场景和精度要求,确定相应的粒子峰值密度的目标
值,并通过在迭代过程中的粒子峰值密度动态地预测算法的停止代数,并依据预测结果来决定算法真正的停止代数。
[0093]
本技术实施例还提供了一种粒子群算法停止代数预测装置,包括:
[0094]
获取单元,其用于获取与目标函数对应的目标粒子群算法和预设相对精度;
[0095]
第一计算单元,其用于运行目标粒子群算法并计算各个粒子在初始代的第一适应值,基于各个粒子在初始代的第一适应值和粒子数计算出粒子群的初始代峰值密度;
[0096]
第二计算单元,其用于基于各个粒子在初始代的第一适应值计算适应值距离,并根据所述适应值距离和所述预设相对精度计算粒子群的目标峰值密度;
[0097]
第三计算单元,其用于使所述目标粒子群算法进入迭代,并计算各个粒子在前l代中每一次迭代的第二适应值,基于各个粒子每一次迭代的第二适应值和粒子数分别对应计算出粒子群在前l代中每一次迭代的峰值密度,其中,l为正整数;
[0098]
预测单元,其用于根据所述初始代峰值密度、粒子群在前l代中每一次迭代的峰值密度和所述目标峰值密度预测出目标粒子群算法在前l代中每一次迭代的初步停止代数,得到l个初步停止代数;从l个初步停止代数中筛选出最小的初步停止代数作为所述目标粒子群算法当前代的预测停止代数。
[0099]
进一步的,在本实施例中,所述预测单元还用于:
[0100]
判断所述预测停止代数是否小于或等于目标粒子群算法处于当前代的迭代数;
[0101]
若是,则将所述迭代数作为所述目标粒子群算法的实际停止代数,并停止所述目标粒子群算法的迭代;
[0102]
若否,则执行所述计算各个粒子在前l代中每一次迭代的适应值的步骤。
[0103]
进一步的,在本实施例中,所述预测单元具体用于:
[0104]
根据所述初始代峰值密度和粒子群在第l-1代的峰值密度计算出第l-1代峰值密度的上升速率;
[0105]
根据所述第l-1代峰值密度的上升速率、所述初始代峰值密度和所述目标峰值密度预测出所述目标粒子群算法在第l-1代的初步停止代数。
[0106]
进一步的,在本实施例中,所述第一计算单元具体用于:
[0107]
根据粒子数确定出适应值区间数;
[0108]
从各个粒子在初始代的第一适应值中筛选出最大适应值和最小适应值,所述最大适应值和所述最小适应值组成初始代适应值区间;
[0109]
基于适应值区间数将所述初始代适应值区间等分为多个初始代适应值子区间;
[0110]
根据初始代适应值子区间内的粒子数和初始代适应值子区间的长度计算出各个初始代适应值子区间的粒子密度,得到多个粒子密度;
[0111]
从多个粒子密度中筛选出最大粒子密度,并将所述最大粒子密度作为粒子群的初始代峰值密度。
[0112]
需要说明的是,所属本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各单元的具体工作过程,可以参考前述粒子群算法停止代数预测方法实施例中的对应过程,在此不再赘述。
[0113]
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的粒子群算法停止代数预测设备上运行。
[0114]
本技术实施例还提供了一种粒子群算法停止代数预测设备,包括:通过系统总线连接的存储器、处理器和网络接口,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现前述的粒子群算法停止代数预测方法的全部步骤或部分步骤。
[0115]
其中,网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0116]
处理器可以是cpu,还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程逻辑门阵列(fieldprogrammable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件分立硬件组件等。通用处理器可以是微处理器,或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
[0117]
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如视频播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如视频数据、图像数据等)等。此外,存储器可以包括高速随存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)、至少一个磁盘存储器件、闪存器件或其他易失性固态存储器件。
[0118]
本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现前述的粒子群算法停止代数预测方法的全部步骤或部分步骤。
[0119]
本技术实施例实现前述的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0120]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0121]
本技术是参照根据本技术实施例的方法、设备(系统)和计算机程序产品的流程图
和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0122]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0123]
以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献