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

一种基于量子行为粒子群优化的任务调度方法和系统与流程

2021-11-03 11:29:00 来源:中国专利 TAG:


1.本发明涉及一种基于量子行为粒子群优化的任务调度方法和系统。


背景技术:

2.经过十几年的发展,云计算的应用在现实生活中已随处可见,而云计算平台的资源利用效率低是云服务提供商最为关注的问题之一,任务调度通过将各个用户请求调度到合适的云服务器上进行处理,是提高资源利用效率的有效方法之一。然而资源的异构性和任务的多样性导致高效任务调度方法的设计比较困难。
3.目前的任务调度方法常用启发式方法或元启发式方法。启发式方法通过迭代地选取局部最优解获取优化的任务调度方案,其时间开销小,但通常性能有限。元启发式方法通过结合随机方法和局部搜索,具有获取全局最优解的能力,通常能获取优于启发式方法的性能,其中粒子群优化算法是一种具有代表性的元启发式方法。然而,现有的任务调度方法无法对任务进行可靠有效地调度。


技术实现要素:

4.有鉴于此,本发明提供一种基于量子行为粒子群优化的任务调度方法和系统。
5.为了解决上述问题,本发明采用以下技术方案:
6.一种基于量子行为粒子群优化的任务调度方法,包括如下步骤:
7.步骤1:获取每个粒子在每个维度上的位置数据;
8.步骤2:将每个粒子的位置数据解析为任务调度方案,并评估每个粒子的适应度值;
9.步骤3:针对每个粒子,根据当前适应度值和局部最优适应度值,更新每个粒子的局部最优适应度值,记录对应的粒子位置,并根据所有粒子中当前最大的适应度值和全局最优适应度值,更新所有粒子对应的全局最优适应度值,记录对应的粒子位置;
10.步骤4:对当前迭代次数累加1,并与预设的最大迭代次数进行比较,若当前迭代次数小于最大迭代次数,则利用量子粒子的运动模式更新每个粒子的位置,然后返回执行步骤2;若当前迭代次数等于最大迭代次数,则将全局最优适应度值对应的粒子位置解析为任务调度方案。
11.进一步地,所述步骤1中,第j个粒子的位置数据表示为t维向量<t
j1
,t
j2

……
,t
jt
>,t为被调度的任务数量;每个粒子在每一维度上的位置范围为1~p,其中p是云服务器的个数;将每个粒子的局部最优适应度值和全局最优适应度值均设置为0,将当前迭代次数设置为0;
12.所述步骤2中,将每个粒子的位置数据解析为任务调度方案,并评估每个粒子的适应度值,包括:
13.第j个粒子在第i维的位置t
ji
表示将第i个任务调度到第s
ji
个云服务器上,其中s
ji
是满足t
ji

1<s
ji
≤t
ji
的整数,第j个粒子的位置数据<t
j1
,t
j2

……
,t
jt
>对应了t个任务各
自被调度的云服务器;在每台云服务器上,使用预设的截止时间优先调度算法确定每个任务的执行顺序,并累计截止时间得到满足的任务数量,所有云服务器上的累计结果为该粒子的适应度值。
14.进一步地,所述步骤3中,针对每个粒子,根据当前适应度值和局部最优适应度值,更新每个粒子的局部最优适应度值,包括:
15.若当前适应度值大于局部最优适应度值,则将局部最优适应度值更新为当前适应度值;
16.根据所有粒子中当前最大的适应度值和全局最优适应度值,更新所有粒子对应的全局最优适应度值,包括:
17.若当前最大的适应度值大于全局最优适应度值,则将全局最优适应度值更新为所有粒子中当前最大的适应度值。
18.进一步地,所述步骤4中,利用量子粒子的运动模式更新每个粒子的位置,包括:
19.采用如下更新公式进行更新:
[0020][0021]
其中,t
ji
为第j个粒子在第i维的位置;u
ji
和r
ji
均为预设参数,处于(0,1);pb
ji
为第j个粒子当前局部最优适应度值所对应的位置在第i维度上的值,n为粒子数量;a为预设的收缩扩展因子;c
ji
为第j个粒子所处势阱的中心在第i维的位置,计算公式如下:
[0022]
c
ji
=y
ji
·
pb
ji
(1

y
ji
)
·
gb
i
[0023]
其中y
ji
是预设参数,处于(0,1);gb
i
为当前全局最优适应度值所对应的粒子位置在第i维度上的值。
[0024]
一种基于量子行为粒子群优化的任务调度系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于量子行为粒子群优化的任务调度方法的步骤。
[0025]
本发明的有益效果为:先获取每个粒子在每个维度上的位置数据,接着将每个粒子的位置数据解析为任务调度方案,并评估每个粒子的适应度值,然后针对每个粒子,根据当前适应度值和局部最优适应度值更新每个粒子的局部最优适应度值,记录对应的粒子位置,并根据所有粒子中当前最大的适应度值和全局最优适应度值更新所有粒子对应的全局最优适应度值,记录对应的粒子位置,对上述过程进行反复迭代,当迭代次数小于最大迭代次数时,利用量子粒子的运动模式更新每个粒子的位置,然后重新将每个粒子的位置数据解析为任务调度方案,并评估每个粒子的适应度值,直至迭代次数等于最大迭代次数,当迭代次数等于最大迭代次数时,将全局最优适应度值对应的粒子位置解析为任务调度方案。因此,本发明提供的基于量子行为粒子群优化的任务调度方法能够利用量子行为粒子群优化算法的全局搜索能力,实现可靠有效地任务调度,得到高效的任务调度方案。
附图说明
[0026]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍:
[0027]
图1是本技术实施例提供的基于量子行为粒子群优化的任务调度方法的整体流程示意图。
具体实施方式
[0028]
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
[0029]
应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0030]
还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0031]
如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0032]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0033]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0034]
为了说明本技术所述的技术方案,下面通过具体实施方式来进行说明。
[0035]
参见图1,是本技术实施例提供的基于量子行为粒子群优化的任务调度方法的一种实现过程的流程图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0036]
步骤1:获取每个粒子在每个维度上的位置数据:
[0037]
获取每个粒子在每个维度上的位置数据,可以随机生成每个粒子在每个维度上的位置数据,也可以根据相关的规则进行获取。第j个粒子的位置数据表示为t维向量<t
j1
,t
j2

……
,t
jt
>,t为被调度的任务数量。每个粒子在每一维度上的位置范围为1~p,其中p是云服务器的个数。粒子的数量根据实际需要,比如根据任务的数量进行设置,粒子的数量用n表示。步骤1可以对每个粒子的局部最优适应度值和全局最优适应度值,以及当前迭代次数进行初始化,即将每个粒子的局部最优适应度值和全局最优适应度值均设置为0,将当前迭代次数设置为0。
[0038]
步骤2:将每个粒子的位置数据解析为任务调度方案,并评估每个粒子的适应度值:
[0039]
将每个粒子的位置数据解析为任务调度方案,并评估每个粒子的适应度值,以下给出一种具体实现过程:
[0040]
第j个粒子在第i维的位置t
ji
表示将第i个任务调度到第s
ji
个云服务器上,其中s
ji
是满足t
ji

1<s
ji
≤t
ji
的整数,此时第j个粒子的位置数据<t
j1
,t
j2

……
,t
jt
>对应了t个任务各自被调度的云服务器。在每台云服务器上,使用预设的截止时间优先调度算法确定每个任务的执行顺序,并累计截止时间得到满足的任务数量,所有云服务器上的累计结果为该粒子的适应度值。由于截止时间优先调度算法是现有算法,不再赘述其具体过程。
[0041]
步骤3:针对每个粒子,根据当前适应度值和局部最优适应度值,更新每个粒子的局部最优适应度值,记录对应的粒子位置,并根据所有粒子中当前最大的适应度值和全局最优适应度值,更新所有粒子对应的全局最优适应度值,记录对应的粒子位置:
[0042]
其中,针对每个粒子,根据当前适应度值和局部最优适应度值,更新每个粒子的局部最优适应度值,记录对应的粒子位置,包括:对于任意一个粒子,若当前适应度值大于对应的局部最优适应度值,则将局部最优适应度值更新为当前适应度值,并记录对应的粒子位置。
[0043]
根据所有粒子中当前最大的适应度值和全局最优适应度值,更新所有粒子对应的全局最优适应度值,记录对应的粒子位置,包括:若所有粒子(即粒子群)中当前最大的适应度值大于全局最优适应度值,则将全局最优适应度值更新为所有粒子中当前最大的适应度值,并记录对应的粒子位置。
[0044]
步骤4:对当前迭代次数累加1,并与预设的最大迭代次数进行比较,若当前迭代次数小于最大迭代次数,则利用量子粒子的运动模式更新每个粒子的位置,然后返回执行步骤2;若当前迭代次数等于最大迭代次数,则将全局最优适应度值对应的粒子位置解析为任务调度方案:
[0045]
对当前迭代次数累加1,并与预设的最大迭代次数进行比较,最大迭代次数根据云计算场景进行设置。若当前迭代次数小于最大迭代次数,则利用量子粒子的运动模式更新每个粒子的位置,然后返回执行步骤2,其中,利用量子粒子的运动模式更新每个粒子的位置,包括:
[0046]
采用如下更新公式进行更新:
[0047][0048]
其中,t
ji
为第j个粒子在第i维的位置;u
ji
和r
ji
均为预设参数,处于(0,1),u
ji
和r
ji
之间相互独立,可以相等,也可以不等,即u
ji
和r
ji
均可以为0~1之间的相互独立的随机数;z
i
为所有粒子的当前局部最优适应度值对应的位置在第i维度的均值,即pb
ji
为第j个粒子当前局部最优适应度值所对应的位置在第i维度上的值,n为粒子数量;a为预设的收缩扩展因子,可以根据应用场景随迭代次数对其进行动态调整;c
ji
为第j个粒子所处势阱的中心在第i维的位置,计算公式如下:
[0049]
c
ji
=y
ji
·
pb
ji
(1

y
ji
)
·
gb
i
[0050]
其中y
ji
是预设参数,处于(0,1),即y
ji
可以是0~1之间的随机数;gb
i
为当前全局最优适应度值所对应的粒子位置在第i维度上的值。
[0051]
若当前迭代次数等于最大迭代次数,则将全局最优适应度值对应的粒子位置解析为任务调度方案,即为调度方法的求解结果,解析过程见步骤2,调度方法结束。
[0052]
本发明提供的任务调度方法利用量子行为粒子群优化方法提高其搜索最优调度方案的能力,从而获取最高效可靠或接近最高效可靠的调度方案。
[0053]
本实施例还提供一种基于量子行为粒子群优化的任务调度系统,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的基于量子行为粒子群优化的任务调度方法的步骤。
[0054]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献