CN107609650A - 基于时间负载均衡的粒子遗传算法优化方法、装置及系统 - Google Patents

基于时间负载均衡的粒子遗传算法优化方法、装置及系统 Download PDF

Info

Publication number
CN107609650A
CN107609650A CN201710855366.0A CN201710855366A CN107609650A CN 107609650 A CN107609650 A CN 107609650A CN 201710855366 A CN201710855366 A CN 201710855366A CN 107609650 A CN107609650 A CN 107609650A
Authority
CN
China
Prior art keywords
mrow
particle
msub
msubsup
mtd
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710855366.0A
Other languages
English (en)
Other versions
CN107609650B (zh
Inventor
侯守明
张玉珍
王留芳
郅芬香
常莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henan University of Technology
Original Assignee
Henan University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Henan University of Technology filed Critical Henan University of Technology
Priority to CN201710855366.0A priority Critical patent/CN107609650B/zh
Publication of CN107609650A publication Critical patent/CN107609650A/zh
Application granted granted Critical
Publication of CN107609650B publication Critical patent/CN107609650B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于计算机技术领域,尤其涉及基于时间负载均衡的粒子遗传算法优化方法、装置及系统。基于时间负载均衡的粒子遗传算法优化方法,包括:构建粒子种群;对各粒子的位置和速度进行更新,并设定迭代次数,得出达到设定迭代次数的粒子个体最优位置和粒子全局最优位置;对粒子种群进行交叉操作和变异操作,得出最终的粒子个体最优位置和粒子全局最优位置。基于时间负载均衡的粒子遗传算法优化装置,包括:构建模块;更新模块;交叉变异模块。基于时间负载均衡的粒子遗传算法优化系统,包括多个节点服务器和至少一个终端。本发明解决了云任务调度中耗时长、时间负载不均衡和资源利用率低的问题。

Description

基于时间负载均衡的粒子遗传算法优化方法、装置及系统
技术领域
本发明属于计算机技术领域,尤其涉及基于时间负载均衡的粒子遗传算法优化方法、装置及系统。
背景技术
云计算是网格计算、分布式计算和并行计算的商业发展,具备了其他计算模式所不具有的先天优势。云计算系统根据任务请求以及任务属性为其分配资源,然而复杂的云计算环境使得任务的调度成为极具挑战性的问题。同时,任务调度完成的时间和成本等成为衡量算法的标准和追求目标。
在云计算环境中,任务与节点有异构和动态的特征,存在着随机性。粒子群算法是一种基于群体智能的随机优化算法,种群中每一个粒子都代表问题的一个可能解,且群体内部可以进行信息交互,促使粒子改变自身的位置,进而实现求解的智能性。由于粒子群优化算法存在早熟收敛、易陷入局部最优等问题,文献[1]加入遗传算法的交叉和变异操作,扩展粒子的搜索空间,来克服粒子易陷入局部最优问题。文献[2]采用了反向学习和局部学习的思想优化收敛速度,并提高解的精度,但依然存在着负载均衡、节能的问题。文献[3]在前者的基础上引入了混沌扰动思想,可有效地跳出局部最优现象。另外,由于传统的粒子初始化方法是随机生成若干个粒子,生成的粒子质量往往不佳,造成各节点上任务数偏差较大,文献[4]通过加入负载均衡模型,提高节点任务个数的均衡性,但这只是节点上任务个数的均衡,依然存在着节点时间负载不均衡、运行效率低等现象。
目前,虽然云计算任务调度优化算法层出不穷,但基本上以任务完成时间、成本为目标,而对节点时间负载均衡的关注仍为不足。
参考文献:
文献[1]:Xu J,Tang Y.Research of Improved Particle Swarm OptimizationBased on Genetic Algorithm for Hadoop Task Scheduling Problem[M]//Algorithmsand Architectures for Parallel Processing.Springer International Publishing,2015:60-66vol.2;
文献[2]:Guo-Long Y U,Cui Z W,Zuo Y.Cloud Platform Scheduling Method Basedon Optimized Particle Swarm Optimization Algorithm[J].Journal of InnerMongolia Normal University,2016;
文献[3]:夏学文,刘经南,高柯夫,李元香,曾辉.具备反向学习和局部学习能力的粒子群算法[J].计算机学报,2015,(07):1397-1407;
文献[4]:Yizhen Wang,Yongqiang Sun,Yi Sun。Task Scheduling Algorithm inCloud Computing Based on Fairness Load Balance and Minimum Completion Time[J]//Advances in Engineering Research,2016。
发明内容
本发明的目的在于克服上述云任务调度中的不足,提供了基于时间负载均衡的粒子遗传算法优化方法、装置及系统,解决了云任务调度中耗时长、时间负载不均衡和资源利用率低的问题。
为了实现上述目的,本发明采用以下技术方案:
基于时间负载均衡的粒子遗传算法优化方法,包括以下步骤:
步骤1:构建粒子种群;
步骤2:对各粒子的位置和速度进行更新,并设定迭代次数,得出达到设定迭代次数的粒子个体最优位置和粒子全局最优位置;
步骤3:对粒子种群进行交叉操作和变异操作,得出最终的粒子个体最优位置和粒子全局最优位置。
优选地,所述构建粒子种群指部分粒子的生成方式根据节点均匀分配法,使得每个节点上所分配的任务个数相差不超过1,剩余部分粒子随机生成。
优选地,所述步骤2包括:
步骤2.1:计算各粒子的适应度值,获得当前个体最优位置及当前全局最优位置的适应度值,所述当前个体最优位置指每个粒子的位置,所述当前全局最优位置指适应度函数值最大的粒子的位置;
各粒子的适应度函数如下所示:
其中,f为粒子适应度,Q为常数,T为粒子序列中任务完成总时间,Tj为j节点任务完成时间,k1和k2分别为任务完成时间和时间负载均衡的权重;
Tj及T公式分别如下:
其中,i表示任务编号,j表示节点编号,tij表示完成j节点i任务的时间,利用规模为m×n的矩阵t来存储tij的值,eij表示若任务i在节点j上执行其值为1,否则为0,m为总任务数,li表示任务i的长度,cpj为节点j的处理能力,n为总节点数;
步骤2.2:对各粒子的粒子速度和粒子位置进行更新及元素规范化,并计算更新及元素规范化后各粒子的适应度值,所述粒子位置指所有任务被执行时对应的节点序列,粒子位置中每一维元素的值都是对应的节点编号;
步骤2.3:判断更新及元素规范化后各粒子的适应度值是否大于当前个体最优位置及全局最优位置的适应度值,若是,则更新粒子的当前个体最优位置及全局最优位置;若否,则不进行更新;
步骤2.4:判断是否达到设定的迭代次数,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复步骤2.1至步骤2.3。
优选地,所述步骤2.2包括:
a.对各粒子的粒子速度进行更新:
其中,表示第s个粒子在第k+1次迭代中第i维的速度,表示第s个粒子在第k次迭代中第i维的速度,ξ和η为设定的常数,k是迭代次数,r1和r2是均匀分布在[0,1]之间的随机数;ω为权重因子,NC为总迭代次数,为第s个粒子第k次迭代后的个体历史最优位置,是个体历史最优解位置所对应的第i维的值,为第k次迭代后的全局最优解位置,是个体历史最优解位置所对应的第i维的值,为第s个粒子在第k+1次迭代更新后位置的第i维的值;fmax是迭代后的当前最大适应度值;
b.对各粒子的粒子位置进行更新:
其中,为第s个粒子在第k+1次迭代更新后位置的第i维的值,为第s个粒子在第k次迭代更新后位置的第i维的值,表示第s个粒子在第k+1次迭代中第i维的速度;
c.对更新后各粒子的粒子速度进行元素规范化:
其中,为第s个粒子在第k次迭代中第i维的速度元素规范化后的粒子速度,n为节点的个数,为第s个粒子在第k次迭代中第i维的粒子速度;
d.对更新后各粒子的粒子位置进行元素规范化:
其中,为第s个粒子在第k次迭代中第i维的位置元素规范化后的粒子位置,C为常数,为第s个粒子在第k次迭代中第i维的粒子位置,e为自然常数;
e.计算更新及元素规范化后各粒子的适应度值。
优选地,所述步骤3包括:
步骤3.1:随机选取两个粒子,计算交叉概率;
交叉概率计算公式如下所示:
其中,f'为两个粒子中最大适应度值,fmax为全局粒子最大适应度值,favg为全局粒子平均适应度值,c1、c2分别为交叉因子;
步骤3.2:判断交叉概率是否大于或等于交叉概率标准值,若是,则不进行交叉操作;若否,则进行交叉操作,并计算交叉操作后形成的各粒子的适应度值;所述交叉操作指在随机选取的两个粒子中随机生成两个交叉点,将两粒子在两交叉点之间的序列进行对应交换;
步骤3.3:判断交叉操作后形成的各粒子的适应度值是否大于交叉操作前的粒子适应度值,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
步骤3.4:随机选取一个粒子,计算变异概率;
变异概率计算公式如下所示:
其中,f为该粒子的适应度函数,fmax为粒子种群最大适应度值,favg为粒子种群平均适应度值,m1、m2分别为变异因子;
步骤3.5:判断变异概率是否大于或等于变异概率标准值,若是,则不进行变异操作;若否,则进行变异操作,并计算变异操作后形成的各粒子的适应度值;所述变异操作指在随机选取的一个粒子中随机生成两个变异点,将该粒子在两个变异点内进行随机变异;
步骤3.6:判断变异操作后形成的各粒子的适应度值是否大于变异操作前的粒子适应度值,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
步骤3.7:判断是否达到设定的迭代次数,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复步骤3.1至步骤3.6。
基于时间负载均衡的粒子遗传算法优化装置,包括:
构建模块,用于构建粒子种群;
更新模块,用于对各粒子的位置和速度进行更新,并设定迭代次数,得出达到设定迭代次数的粒子个体最优位置和粒子全局最优位置;
交叉变异模块,用于对粒子种群进行交叉操作和变异操作,得出最终的粒子个体最优位置和粒子全局最优位置。
优选地,所述更新模块包括:
第一计算模块,用于计算各粒子的适应度值,获得当前个体最优位置及当前全局最优位置的适应度值,所述当前个体最优位置指每个粒子的位置,所述当前全局最优位置指适应度函数值最大的粒子的位置;
各粒子的适应度函数如下所示:
其中,f为粒子适应度,Q为常数,T为粒子序列中任务完成总时间,Tj为j节点任务完成时间,k1和k2分别为任务完成时间和时间负载均衡的权重;
Tj及T公式分别如下:
其中,i表示任务编号,j表示节点编号,tij表示完成j节点i任务的时间,利用规模为m×n的矩阵t来存储tij的值,eij表示若任务i在节点j上执行其值为1,否则为0,m为总任务数,li表示任务i的长度,cpj为节点j的处理能力,n为总节点数;
更新计算模块,用于对各粒子的粒子速度和粒子位置进行更新及元素规范化,并计算更新及元素规范化后各粒子的适应度值,所述粒子位置指所有任务被执行时对应的节点序列,粒子位置中每一维元素的值都是对应的节点编号;
第一判断模块,用于判断更新及元素规范化后各粒子的适应度值是否大于当前个体最优位置及全局最优位置的适应度值,若是,则更新粒子的当前个体最优位置及全局最优位置;若否,则不进行更新;
第二判断模块,用于判断是否达到设定的迭代次数,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复步骤2.1至步骤2.3。
优选地,所述更新计算模块包括:
第一更新子模块,用于对各粒子的粒子速度进行更新:
其中,表示第s个粒子在第k+1次迭代中第i维的速度,表示第s个粒子在第k次迭代中第i维的速度,ξ和η为设定的常数,k是迭代次数,r1和r2是均匀分布在[0,1]之间的随机数;ω为权重因子,NC为总迭代次数,为第s个粒子第k次迭代后的个体历史最优位置,是个体历史最优解位置所对应的第i维的值,为第k次迭代后的全局最优解位置,是个体历史最优解位置所对应的第i维的值,为第s个粒子在第k+1次迭代更新后位置的第i维的值;fmax是迭代后的当前最大适应度值;
第二更新子模块,用于对各粒子的粒子位置进行更新:
其中,为第s个粒子在第k+1次迭代更新后位置的第i维的值,为第s个粒子在第k次迭代更新后位置的第i维的值,表示第s个粒子在第k+1次迭代中第i维的速度;
第一规范化模块,用于对更新后各粒子的粒子速度进行元素规范化:
其中,为第s个粒子在第k次迭代中第i维的速度元素规范化后的粒子速度,n为节点的个数,为第s个粒子在第k次迭代中第i维的粒子速度;
第二规范化模块,用于对更新后各粒子的粒子位置进行元素规范化:
其中,为第s个粒子在第k次迭代中第i维的位置元素规范化后的粒子位置,C为常数,为第s个粒子在第k次迭代中第i维的粒子位置,e为自然常数;
第二计算模块,用于计算更新及元素规范化后各粒子的适应度值。
优选地,所述交叉变异模块包括:
第三计算模块,用于随机选取两个粒子,计算交叉概率;
交叉概率计算公式如下所示:
其中,f'为两个粒子中最大适应度值,fmax为全局粒子最大适应度值,favg为全局粒子平均适应度值,c1、c2分别为交叉因子;
第三判断模块,用于判断交叉概率是否大于或等于交叉概率标准值,若是,则不进行交叉操作;若否,则进行交叉操作,并计算交叉操作后形成的各粒子的适应度值;所述交叉操作指在随机选取的两个粒子中随机生成两个交叉点,将两粒子在两交叉点之间的序列进行对应交换;
第四判断模块,用于判断交叉操作后形成的各粒子的适应度值是否大于交叉操作前的粒子适应度值,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
第四计算模块,用于随机选取一个粒子,计算变异概率;
变异概率计算公式如下所示:
其中,f为该粒子的适应度函数,fmax为粒子种群最大适应度值,favg为粒子种群平均适应度值,m1、m2分别为变异因子;
第五判断模块,用于判断变异概率是否大于或等于变异概率标准值,若是,则不进行变异操作;若否,则进行变异操作,并计算变异操作后形成的各粒子的适应度值;所述变异操作指在随机选取的一个粒子中随机生成两个变异点,将该粒子在两个变异点内进行随机变异;
第六判断模块,用于判断变异操作后形成的各粒子的适应度值是否大于变异操作前的粒子适应度值,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
第七判断模块,用于判断是否达到设定的迭代次数,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复步骤3.1至步骤3.6。
基于时间负载均衡的粒子遗传算法优化系统,包括:多个节点服务器和至少一个终端,所述节点服务器包括如上述基于时间负载均衡的粒子遗传算法优化装置。
与现有技术相比,本发明具有的有益效果:
本发明从粒子种群初始化操作开始优化,改善粒子质量,同时为避免粒子跑出所规定区域,对粒子位置元素做规范化处理,接着通过建立适应度函数,选出更加合理更加优化的粒子,最后,为避免陷入局部最优现象,根据遗传交叉变异思想,引入了交叉变异概率函数。
本发明方法中适应度函数考虑了任务完成时间与时间负载均衡性之间的关系,可避免因单因素影响造成择优不佳的问题,进而做出更优化筛选。
通过改进,提高全局搜索能力和收敛能力,降低了耗时,实现时间负载均衡。
附图说明
图1为本发明基于时间负载均衡的粒子遗传算法优化方法的基本流程示意图之一。
图2为本发明基于时间负载均衡的粒子遗传算法优化方法的基本流程示意图之二。
图3为本发明基于时间负载均衡的粒子遗传算法优化方法的适应度曲线图。
图4为本发明基于时间负载均衡的粒子遗传算法优化方法的适应度及任务完成时间曲线图。
图5为本发明基于时间负载均衡的粒子遗传算法优化方法的任务完成时间对比图。
图6为本发明基于时间负载均衡的粒子遗传算法优化方法的时间负载均衡对比图。
图7为本发明基于时间负载均衡的粒子遗传算法优化装置的结构示意图之一。
图8为本发明基于时间负载均衡的粒子遗传算法优化装置的结构示意图之二。
图9为本发明基于时间负载均衡的粒子遗传算法优化系统的架构示意图。
具体实施方式
为了便于理解,对本发明的具体实施方式中出现的部分名词作以下解释说明:
遗传退火算法:一般指模拟退火遗传算,是基于Monte Carlo迭代求解法后种启发式随机搜索算法,它模拟固体物质退火过程的热平衡问题与随机搜索寻优问题的相似性来达到寻找全局最优或近似全局最优的目的。
PSO-GA算法:粒子群算法和遗传算法组合算法。
下面结合附图和具体的实施例对本发明做进一步的解释说明:
实施例一:
如图1所示,本发明的一种基于时间负载均衡的粒子遗传算法优化方法,包括以下步骤:
步骤S11:构建粒子种群。
步骤S12:对各粒子的位置和速度进行更新,并设定迭代次数,得出达到设定迭代次数的粒子个体最优位置和粒子全局最优位置。
步骤S13:对粒子种群进行交叉操作和变异操作,得出最终的粒子个体最优位置和粒子全局最优位置。
实施例二:
如图2所示,本发明的另一种基于时间负载均衡的粒子遗传算法优化方法,包括以下步骤:步骤S21:构建粒子种群;所述构建粒子种群指部分粒子的生成方式根据节点均匀分配法,使得每个节点上所分配的任务个数相差不超过1,剩余部分粒子随机生成;
步骤S22:对各粒子的粒子速度和粒子位置进行更新及元素规范化,并计算更新及元素规范化后各粒子的适应度值,所述粒子位置指所有任务被执行时对应的节点序列,粒子位置中每一维元素的值都是对应的节点编号,包括:
步骤S221:计算各粒子的适应度值,获得当前个体最优位置及当前全局最优位置的适应度值,所述当前个体最优位置指每个粒子的位置,所述当前全局最优位置指适应度函数值最大的粒子的位置;
各粒子的适应度函数如下所示:
其中,f为粒子适应度,Q为常数,T为粒子序列中任务完成总时间,Tj为j节点任务完成时间,k1和k2分别为任务完成时间和时间负载均衡的权重;
Tj及T公式分别如下:
其中,i表示任务编号,j表示节点编号,tij表示完成j节点i任务的时间,利用规模为m×n的矩阵t来存储tij的值,eij表示若任务i在节点j上执行其值为1,否则为0,m为总任务数,li表示任务i的长度,cpj为节点j的处理能力,n为总节点数;
步骤S222:对各粒子的粒子速度和粒子位置进行更新及元素规范化,并计算更新及元素规范化后各粒子的适应度值,包括:
a.对各粒子的粒子速度进行更新:
其中,表示第s个粒子在第k+1次迭代中第i维的速度,表示第s个粒子在第k次迭代中第i维的速度,ξ和η为设定的常数,k是迭代次数,r1和r2是均匀分布在[0,1]之间的随机数;ω为权重因子,NC为总迭代次数,为第s个粒子第k次迭代后的个体历史最优位置,是个体历史最优解位置所对应的第i维的值,为第k次迭代后的全局最优解位置,是个体历史最优解位置所对应的第i维的值,为第s个粒子在第k+1次迭代更新后位置的第i维的值;fmax是迭代后的当前最大适应度值;
b.对各粒子的粒子位置进行更新:
其中,为第s个粒子在第k+1次迭代更新后位置的第i维的值,为第s个粒子在第k次迭代更新后位置的第i维的值,表示第s个粒子在第k+1次迭代中第i维的速度;
c.对更新后各粒子的粒子速度进行元素规范化:
其中,为第s个粒子在第k次迭代中第i维的速度元素规范化后的粒子速度,n为节点的个数,为第s个粒子在第k次迭代中第i维的粒子速度;
d.对更新后各粒子的粒子位置进行元素规范化:
其中,为第s个粒子在第k次迭代中第i维的位置元素规范化后的粒子位置,C为常数,为第s个粒子在第k次迭代中第i维的粒子位置,e为自然常数;
e.计算更新及元素规范化后各粒子的适应度值;
步骤S223:判断更新及元素规范化后各粒子的适应度值f1′是否大于当前个体最优位置及全局最优位置的适应度值f1,若是,则更新粒子的当前个体最优位置及全局最优位置;若否,则不进行更新;
步骤S224:判断迭代次数NC′是否达到设定的迭代次数NC,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复步骤S221至步骤S223。
步骤S23:对粒子种群进行交叉操作和变异操作,得出最终的粒子个体最优位置和粒子全局最优位置,包括:
步骤S231:随机选取两个粒子,计算交叉概率;
交叉概率计算公式如下所示:
其中,f'为两个粒子中最大适应度值,fmax为全局粒子最大适应度值,favg为全局粒子平均适应度值,c1、c2分别为交叉因子;
步骤S232:判断交叉概率Pc是否大于或等于交叉概率标准值PC,若是,则不进行交叉操作;若否,则进行交叉操作,并计算交叉操作后形成的各粒子的适应度值;所述交叉操作指在随机选取的两个粒子中随机生成两个交叉点,将两粒子在两交叉点之间的序列进行对应交换;
步骤S233:判断交叉操作后形成的各粒子的适应度值f2′是否大于交叉操作前的粒子适应度值f2,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
步骤S234:随机选取一个粒子,计算变异概率;
变异概率计算公式如下所示:
其中,f为该粒子的适应度函数,fmax为粒子种群最大适应度值,favg为粒子种群平均适应度值,m1、m2分别为变异因子;
步骤S235:判断变异概率Pm是否大于或等于变异概率标准值PM,若是,则不进行变异操作;若否,则进行变异操作,并计算变异操作后形成的各粒子的适应度值;所述变异操作指在随机选取的一个粒子中随机生成两个变异点,将该粒子在两个变异点内进行随机变异;
步骤S236:判断变异操作后形成的各粒子的适应度值f3′是否大于变异操作前的粒子适应度值f3,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
步骤S237:判断迭代次数NC1′是否达到设定的迭代次数NC1,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复步骤S231至步骤S236。
作为一种可实施方式,粒子种群的粒子数为1000,其中40%的粒子生成方式如下:根据节点均匀分配法,使得每个节点上所分配的任务个数相差不超过1,剩余粒子则按照传统方法随机生成;Q取值为1000,k1和k2分别取值为0.9和0.3;m为10,li分别为(19365,49809,30218,44157,16754,18336,20045,31493,30727,31017),n为4,cpj分别为(278,289,132,209);ξ和η分别取值为65和0.001,NC设定为100;C取值为0.4;c1、c2分别取值为0.9和0.6;m1、m2分别取值为0.1和0.001;交叉变异过程中,迭代次数设定为20;
任务完成时间为334.52s时,选取适应度值较高的部分粒子,并对其进行编号,各粒子的适应度值及对应序列中元素见下表1,适应度曲线图见图3:
表1适应度表
由表1和图3可知,任务完成时间相同时,任务调度序列不同,对应适应度值也不同;适应度值越大,任务完成时间与各节点任务完成时间的差值和就越小,时间负载越均衡;如编号8的序列适应度值最大,所以系统在任务完成时间为334.52s时所选的序列为8号序列,实现了进一步优化筛选;
任务完成时间分别为334.23s、334.52s、334.88s及334.95s时,选取适应度值较高的部分粒子,并对其进行编号,各粒子的适应度值、对应序列中元素以及节点完成任务时间偏离总时间的差值和即偏离差值和见下表3,适应度及任务完成时间曲线图见图4,其中,偏离差值和计算公式为:
表2适应度、偏离差值和表
由表2及图4可以看出,编号1任务完成时间相对最短,但偏离总时间差值和过大,造成节点时间负载不均衡,故该序列综合性能低;相对编号1,编号2任务完成时间略长,但偏离差值相对较小,故综合性能偏高;序列综合性能由任务完成时间与节点偏离总时间差值和共同决定,使两者达到一定得均衡性,与其适应度的值大小相对应,进而序列的适应度函数值可以作为选择最优、最符合题意序列的标准。
作为一种可实施方式,10个任务,4个节点的遗传退火算法、PSO-GA算法和本发明方法各节点任务完成时间分别为(330.8,325.21,273.62,334.23)、(330.8,319.74,290.77,330.98)和(327.8,322.62,298.56,326.05),时间负载均衡对比图如图5所示;其中,A、B和C分别代表遗传退火算法、PSO-GA算法和本发明方法;
由图5可以看出,与前两种算法相比,本发明方法任务完成时间最短,且各资源任务完成时间相对集中,即时间负载相对均衡。本发明方法时间负载均衡性能97.25%,相对于前两种算法分别提高了2.71%和1.15%。
作为一种可实施方式,任务长度范围在0.1M-0.8M之间,随机生成50-500之间不同规模的子任务,n为10,PSO-GA算法与本发明方法任务完成时间对比图如图6所示;
由图6可看出,本发明方法任务完成时间始终小于PSO-GA算法;当任务量小于200时,两个算法任务完成时间差距不明显且稳定,而随着任务数量的增加,任务完成时间差距相对显著,即本发明方法在任务规模偏大时,优势更加明显。
实施例三:
如图7所示,本发明的一种基于时间负载均衡的粒子遗传算法优化装置,包括:
构建模块31,用于构建粒子种群;
更新模块32,用于对各粒子的位置和速度进行更新,并设定迭代次数,得出达到设定迭代次数的粒子个体最优位置和粒子全局最优位置;
交叉变异模块33,用于对粒子种群进行交叉操作和变异操作,得出最终的粒子个体最优位置和粒子全局最优位置。
实施例四:
如图8所示,本发明的另一种基于时间负载均衡的粒子遗传算法优化装置,包括:
构建模块41,用于构建粒子种群;
更新模块42,用于对各粒子的位置和速度进行更新,并设定迭代次数,得出达到设定迭代次数的粒子个体最优位置和粒子全局最优位置;
交叉变异模块43,用于对粒子种群进行交叉操作和变异操作,得出最终的粒子个体最优位置和粒子全局最优位置。
所述更新模块42包括:
第一计算模块421,用于计算各粒子的适应度值,获得当前个体最优位置及当前全局最优位置的适应度值,所述当前个体最优位置指每个粒子的位置,所述当前全局最优位置指适应度函数值最大的粒子的位置;
各粒子的适应度函数如下所示:
其中,f为粒子适应度,Q为常数,T为粒子序列中任务完成总时间,Tj为j节点任务完成时间,k1和k2分别为任务完成时间和时间负载均衡的权重;
Tj及T公式分别如下:
其中,i表示任务编号,j表示节点编号,tij表示完成j节点i任务的时间,利用规模为m×n的矩阵t来存储tij的值,eij表示若任务i在节点j上执行其值为1,否则为0,m为总任务数,li表示任务i的长度,cpj为节点j的处理能力,n为总节点数;
更新计算模块422,用于对各粒子的粒子速度和粒子位置进行更新及元素规范化,并计算更新及元素规范化后各粒子的适应度值,所述粒子位置指所有任务被执行时对应的节点序列,粒子位置中每一维元素的值都是对应的节点编号;
第一判断模块423,用于判断更新及元素规范化后各粒子的适应度值是否大于当前个体最优位置及全局最优位置的适应度值,若是,则更新粒子的当前个体最优位置及全局最优位置;若否,则不进行更新;
第二判断模块424,用于判断是否达到设定的迭代次数,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复S221至步骤S223。
所述更新计算模块422包括:
第一更新子模块4221,用于对各粒子的粒子速度进行更新:
其中,表示第s个粒子在第k+1次迭代中第i维的速度,表示第s个粒子在第k次迭代中第i维的速度,ξ和η为设定的常数,k是迭代次数,r1和r2是均匀分布在[0,1]之间的随机数;ω为权重因子,NC为总迭代次数,为第s个粒子第k次迭代后的个体历史最优位置,是个体历史最优解位置所对应的第i维的值,为第k次迭代后的全局最优解位置,是个体历史最优解位置所对应的第i维的值,为第s个粒子在第k+1次迭代更新后位置的第i维的值;fmax是迭代后的当前最大适应度值;
第二更新子模块4222,用于对各粒子的粒子位置进行更新:
其中,为第s个粒子在第k+1次迭代更新后位置的第i维的值,为第s个粒子在第k次迭代更新后位置的第i维的值,表示第s个粒子在第k+1次迭代中第i维的速度;
第一规范化模块4223,用于对更新后各粒子的粒子速度进行元素规范化:
其中,为第s个粒子在第k次迭代中第i维的速度元素规范化后的粒子速度,n为节点的个数,为第s个粒子在第k次迭代中第i维的粒子速度;
第二规范化模块4224,用于对更新后各粒子的粒子位置进行元素规范化:
其中,为第s个粒子在第k次迭代中第i维的位置元素规范化后的粒子位置,C为常数,为第s个粒子在第k次迭代中第i维的粒子位置,e为自然常数;
第二计算模块4225,用于计算更新及元素规范化后各粒子的适应度值。
所述交叉变异模块43包括:
第三计算模块431,用于随机选取两个粒子,计算交叉概率;
交叉概率计算公式如下所示:
其中,f'为两个粒子中最大适应度值,fmax为全局粒子最大适应度值,favg为全局粒子平均适应度值,c1、c2分别为交叉因子;
第三判断模块432,用于判断交叉概率是否大于或等于交叉概率标准值,若是,则不进行交叉操作;若否,则进行交叉操作,并计算交叉操作后形成的各粒子的适应度值;所述交叉操作指在随机选取的两个粒子中随机生成两个交叉点,将两粒子在两交叉点之间的序列进行对应交换;
第四判断模块433,用于判断交叉操作后形成的各粒子的适应度值是否大于交叉操作前的粒子适应度值,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
第四计算模块434,用于随机选取一个粒子,计算变异概率;
变异概率计算公式如下所示:
其中,f为该粒子的适应度函数,fmax为粒子种群最大适应度值,favg为粒子种群平均适应度值,m1、m2分别为变异因子;
第五判断模块435,用于判断变异概率是否大于或等于变异概率标准值,若是,则不进行变异操作;若否,则进行变异操作,并计算变异操作后形成的各粒子的适应度值;所述变异操作指在随机选取的一个粒子中随机生成两个变异点,将该粒子在两个变异点内进行随机变异;
第六判断模块436,用于判断变异操作后形成的各粒子的适应度值是否大于变异操作前的粒子适应度值,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
第七判断模块437,用于判断是否达到设定的迭代次数,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复步骤S231至步骤S236。
实施例五:
如图9所示,本发明的基于时间负载均衡的粒子遗传算法优化系统,包括:
多个节点服务器和至少一个终端;所述节点服务器包括如实施例三和四所述的基于时间负载均衡的粒子遗传算法优化装置;
按照粒子种群的各粒子的节点序列对多个节点服务器进行调度,通过基于时间负载均衡的粒子遗传算法优化装置各模块的相互协作,将序列中元素、最优序列中元素及对应适应度值输出在终端上,即将最终的粒子个体最优位置、粒子全局最优位置及对应适应度值输出在终端上。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.基于时间负载均衡的粒子遗传算法优化方法,其特征在于,包括以下步骤:
步骤1:构建粒子种群;
步骤2:对各粒子的位置和速度进行更新,并设定迭代次数,得出达到设定迭代次数的粒子个体最优位置和粒子全局最优位置;
步骤3:对粒子种群进行交叉操作和变异操作,得出最终的粒子个体最优位置和粒子全局最优位置。
2.根据权利要求1所述的基于时间负载均衡的粒子遗传算法优化方法,其特征在于,所述构建粒子种群指部分粒子的生成方式根据节点均匀分配法,使得每个节点上所分配的任务个数相差不超过1,剩余部分粒子随机生成。
3.根据权利要求1所述的基于时间负载均衡的粒子遗传算法优化方法,其特征在于,所述步骤2包括:
步骤2.1:计算各粒子的适应度值,获得当前个体最优位置及当前全局最优位置的适应度值,所述当前个体最优位置指每个粒子的位置,所述当前全局最优位置指适应度函数值最大的粒子的位置;
各粒子的适应度函数如下所示:
<mrow> <mi>f</mi> <mo>=</mo> <mfrac> <mi>Q</mi> <mrow> <msub> <mi>k</mi> <mn>1</mn> </msub> <mo>*</mo> <mi>T</mi> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <mo>*</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <mi>T</mi> <mo>-</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
其中,f为粒子适应度,Q为常数,T为粒子序列中任务完成总时间,Tj为j节点任务完成时间,k1和k2分别为任务完成时间和时间负载均衡的权重;
Tj及T公式分别如下:
<mrow> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>*</mo> <msub> <mi>e</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>,</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>&amp;le;</mo> <mi>i</mi> <mo>&amp;le;</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfrac> <msub> <mi>l</mi> <mi>i</mi> </msub> <mrow> <msub> <mi>cp</mi> <mi>j</mi> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <mi>T</mi> <mo>=</mo> <munderover> <mi>max</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
其中,i表示任务编号,j表示节点编号,tij表示完成j节点i任务的时间,利用规模为m×n的矩阵t来存储tij的值,eij表示若任务i在节点j上执行其值为1,否则为0,m为总任务数,li表示任务i的长度,cpj为节点j的处理能力,n为总节点数;
步骤2.2:对各粒子的粒子速度和粒子位置进行更新及元素规范化,并计算更新及元素规范化后各粒子的适应度值,所述粒子位置指所有任务被执行时对应的节点序列,粒子位置中每一维元素的值都是对应的节点编号;
步骤2.3:判断更新及元素规范化后各粒子的适应度值是否大于当前个体最优位置及全局最优位置的适应度值,若是,则更新粒子的当前个体最优位置及全局最优位置;若否,则不进行更新;
步骤2.4:判断是否达到设定的迭代次数,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复步骤2.1至步骤2.3。
4.根据权利要求3所述的基于时间负载均衡的粒子遗传算法优化方法,其特征在于,所述步骤2.2包括:
a.对各粒子的粒子速度进行更新:
<mrow> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mo>=</mo> <mi>&amp;omega;</mi> <mo>&amp;CenterDot;</mo> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>+</mo> <mi>&amp;xi;</mi> <mo>&amp;CenterDot;</mo> <mfrac> <mn>1</mn> <mi>k</mi> </mfrac> <mo>&amp;CenterDot;</mo> <msubsup> <mi>r</mi> <mn>1</mn> <mi>k</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>-</mo> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <mi>&amp;eta;</mi> <mo>&amp;CenterDot;</mo> <msup> <mi>k</mi> <mn>2</mn> </msup> <mo>&amp;CenterDot;</mo> <msubsup> <mi>r</mi> <mn>2</mn> <mi>k</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mrow> <mi>g</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>-</mo> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <mi>&amp;omega;</mi> <mo>=</mo> <mn>0.9</mn> <mo>-</mo> <mfrac> <mrow> <mn>0.5</mn> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> <mrow> <mi>N</mi> <mi>C</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <msubsup> <mi>p</mi> <mi>s</mi> <mi>k</mi> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <msubsup> <mi>x</mi> <mi>s</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> </mtd> <mtd> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>p</mi> <mi>s</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>)</mo> <mo>,</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>x</mi> <mi>s</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mo>)</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>k</mi> <mo>&amp;GreaterEqual;</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <msubsup> <mi>p</mi> <mi>g</mi> <mi>k</mi> </msubsup> <mo>=</mo> <mo>{</mo> <msubsup> <mi>p</mi> <mi>s</mi> <mi>k</mi> </msubsup> <mo>/</mo> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>p</mi> <mn>1</mn> <mi>k</mi> </msubsup> <mo>)</mo> <mo>,</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>p</mi> <mn>2</mn> <mi>k</mi> </msubsup> <mo>)</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>p</mi> <mi>s</mi> <mi>k</mi> </msubsup> <mo>)</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>p</mi> <mi>N</mi> <mi>k</mi> </msubsup> <mo>)</mo> <mo>)</mo> </mrow> <mo>}</mo> <mo>,</mo> <mi>k</mi> <mo>&amp;Element;</mo> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>,</mo> <mi>N</mi> <mi>C</mi> <mo>&amp;rsqb;</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow>
其中,表示第s个粒子在第k+1次迭代中第i维的速度,表示第s个粒子在第k次迭代中第i维的速度,ξ和η为设定的常数,k是迭代次数,r1和r2是均匀分布在[0,1]之间的随机数;ω为权重因子,NC为总迭代次数,为第s个粒子第k次迭代后的个体历史最优位置,是个体历史最优解位置所对应的第i维的值,为第k次迭代后的全局最优解位置,是个体历史最优解位置所对应的第i维的值,为第s个粒子在第k+1次迭代更新后位置的第i维的值;fmax是迭代后的当前最大适应度值;
b.对各粒子的粒子位置进行更新:
<mrow> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mo>=</mo> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>+</mo> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>
其中,为第s个粒子在第k+1次迭代更新后位置的第i维的值,为第s个粒子在第k次迭代更新后位置的第i维的值,表示第s个粒子在第k+1次迭代中第i维的速度;
c.对更新后各粒子的粒子速度进行元素规范化:
<mrow> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <msup> <mi>k</mi> <mo>&amp;prime;</mo> </msup> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mo>-</mo> <mi>n</mi> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>&lt;</mo> <mo>-</mo> <mi>n</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mi>n</mi> <mo>&amp;le;</mo> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>&amp;le;</mo> <mi>n</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>n</mi> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>&gt;</mo> <mi>n</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>
其中,为第s个粒子在第k次迭代中第i维的速度元素规范化后的粒子速度,n为节点的个数,为第s个粒子在第k次迭代中第i维的粒子速度;
d.对更新后各粒子的粒子位置进行元素规范化:
<mrow> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <msup> <mi>k</mi> <mo>&amp;prime;</mo> </msup> </msubsup> <mo>=</mo> <mi>r</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>d</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mrow> <mo>(</mo> <mi>exp</mi> <mo>(</mo> <mrow> <mo>|</mo> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>|</mo> </mrow> <mo>)</mo> <mo>+</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>C</mi> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow>
其中,为第s个粒子在第k次迭代中第i维的位置元素规范化后的粒子位置,C为常数,为第s个粒子在第k次迭代中第i维的粒子位置,e为自然常数;
e.计算更新及元素规范化后各粒子的适应度值。
5.根据权利要求1所述的基于时间负载均衡的粒子遗传算法优化方法,其特征在于,所述步骤3包括:
步骤3.1:随机选取两个粒子,计算交叉概率;
交叉概率计算公式如下所示:
<mrow> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mfrac> <mrow> <msub> <mi>c</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <msup> <mi>f</mi> <mo>&amp;prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>c</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msup> <mi>f</mi> <mo>&amp;prime;</mo> </msup> <mo>-</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mfrac> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msup> <mi>f</mi> <mo>&amp;prime;</mo> </msup> <mo>&amp;GreaterEqual;</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>c</mi> <mn>1</mn> </msub> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msup> <mi>f</mi> <mo>&amp;prime;</mo> </msup> <mo>&lt;</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>
其中,f'为两个粒子中最大适应度值,fmax为全局粒子最大适应度值,favg为全局粒子平均适应度值,c1、c2分别为交叉因子;
步骤3.2:判断交叉概率是否大于或等于交叉概率标准值,若是,则不进行交叉操作;若否,则进行交叉操作,并计算交叉操作后形成的各粒子的适应度值;所述交叉操作指在随机选取的两个粒子中随机生成两个交叉点,将两粒子在两交叉点之间的序列进行对应交换;
步骤3.3:判断交叉操作后形成的各粒子的适应度值是否大于交叉操作前的粒子适应度值,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
步骤3.4:随机选取一个粒子,计算变异概率;
变异概率计算公式如下所示:
<mrow> <msub> <mi>P</mi> <mi>m</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mfrac> <mrow> <msub> <mi>m</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>f</mi> <mo>-</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>m</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <mi>f</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mfrac> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>f</mi> <mo>&amp;GreaterEqual;</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>m</mi> <mn>1</mn> </msub> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>f</mi> <mo>&lt;</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow>
其中,f为该粒子的适应度函数,fmax为粒子种群最大适应度值,favg为粒子种群平均适应度值,m1、m2分别为变异因子;
步骤3.5:判断变异概率是否大于或等于变异概率标准值,若是,则不进行变异操作;若否,则进行变异操作,并计算变异操作后形成的各粒子的适应度值;所述变异操作指在随机选取的一个粒子中随机生成两个变异点,将该粒子在两个变异点内进行随机变异;
步骤3.6:判断变异操作后形成的各粒子的适应度值是否大于变异操作前的粒子适应度值,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
步骤3.7:判断是否达到设定的迭代次数,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复步骤3.1至步骤3.6。
6.基于权利要求1-5所述的基于时间负载均衡的粒子遗传算法优化方法的基于时间负载均衡的粒子遗传算法优化装置,其特征在于,包括:
构建模块,用于构建粒子种群;
更新模块,用于对各粒子的位置和速度进行更新,并设定迭代次数,得出达到设定迭代次数的粒子个体最优位置和粒子全局最优位置;
交叉变异模块,用于对粒子种群进行交叉操作和变异操作,得出最终的粒子个体最优位置和粒子全局最优位置。
7.根据权利要求6所述的基于时间负载均衡的粒子遗传算法优化装置,其特征在于,所述更新模块包括:
第一计算模块,用于计算各粒子的适应度值,获得当前个体最优位置及当前全局最优位置的适应度值,所述当前个体最优位置指每个粒子的位置,所述当前全局最优位置指适应度函数值最大的粒子的位置;
各粒子的适应度函数如下所示:
<mrow> <mi>f</mi> <mo>=</mo> <mfrac> <mi>Q</mi> <mrow> <msub> <mi>k</mi> <mn>1</mn> </msub> <mo>*</mo> <mi>T</mi> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <mo>*</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <mi>T</mi> <mo>-</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
其中,f为粒子适应度,Q为常数,T为粒子序列中任务完成总时间,Tj为j节点任务完成时间,k1和k2分别为任务完成时间和时间负载均衡的权重;
Tj及T公式分别如下:
<mrow> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>*</mo> <msub> <mi>e</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>,</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>&amp;le;</mo> <mi>i</mi> <mo>&amp;le;</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfrac> <msub> <mi>l</mi> <mi>i</mi> </msub> <mrow> <msub> <mi>cp</mi> <mi>j</mi> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <mi>T</mi> <mo>=</mo> <munderover> <mi>max</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
其中,i表示任务编号,j表示节点编号,tij表示完成j节点i任务的时间,利用规模为m×n的矩阵t来存储tij的值,eij表示若任务i在节点j上执行其值为1,否则为0,m为总任务数,li表示任务i的长度,cpj为节点j的处理能力,n为总节点数;
更新计算模块,用于对各粒子的粒子速度和粒子位置进行更新及元素规范化,并计算更新及元素规范化后各粒子的适应度值,所述粒子位置指所有任务被执行时对应的节点序列,粒子位置中每一维元素的值都是对应的节点编号;
第一判断模块,用于判断更新及元素规范化后各粒子的适应度值是否大于当前个体最优位置及全局最优位置的适应度值,若是,则更新粒子的当前个体最优位置及全局最优位置;若否,则不进行更新;
第二判断模块,用于判断是否达到设定的迭代次数,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复步骤2.1至步骤2.3。
8.根据权利要求7所述的基于时间负载均衡的粒子遗传算法优化装置,其特征在于,所述更新计算模块包括:
第一更新子模块,用于对各粒子的粒子速度进行更新:
<mrow> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mo>=</mo> <mi>&amp;omega;</mi> <mo>&amp;CenterDot;</mo> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>+</mo> <mi>&amp;xi;</mi> <mo>&amp;CenterDot;</mo> <mfrac> <mn>1</mn> <mi>k</mi> </mfrac> <mo>&amp;CenterDot;</mo> <msubsup> <mi>r</mi> <mn>1</mn> <mi>k</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mi>N</mi> <mi>k</mi> </msubsup> <mo>-</mo> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <mi>&amp;eta;</mi> <mo>&amp;CenterDot;</mo> <msup> <mi>k</mi> <mn>2</mn> </msup> <mo>&amp;CenterDot;</mo> <msubsup> <mi>r</mi> <mn>2</mn> <mi>k</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mrow> <mi>g</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>-</mo> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <mi>&amp;omega;</mi> <mo>=</mo> <mn>0.9</mn> <mo>-</mo> <mfrac> <mrow> <mn>0.5</mn> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> <mrow> <mi>N</mi> <mi>C</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <msubsup> <mi>p</mi> <mi>s</mi> <mi>k</mi> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <msubsup> <mi>x</mi> <mi>s</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> </mtd> <mtd> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>p</mi> <mi>s</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>)</mo> <mo>,</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>x</mi> <mi>s</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mo>)</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>k</mi> <mo>&amp;GreaterEqual;</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <msubsup> <mi>p</mi> <mi>g</mi> <mi>k</mi> </msubsup> <mo>=</mo> <mo>{</mo> <msubsup> <mi>p</mi> <mi>s</mi> <mi>k</mi> </msubsup> <mo>/</mo> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>p</mi> <mn>1</mn> <mi>k</mi> </msubsup> <mo>)</mo> <mo>,</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>p</mi> <mn>2</mn> <mi>k</mi> </msubsup> <mo>)</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>p</mi> <mi>s</mi> <mi>k</mi> </msubsup> <mo>)</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <mi>f</mi> <mo>(</mo> <msubsup> <mi>p</mi> <mi>N</mi> <mi>k</mi> </msubsup> <mo>)</mo> <mo>)</mo> </mrow> <mo>}</mo> <mo>,</mo> <mi>k</mi> <mo>&amp;Element;</mo> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>,</mo> <mi>N</mi> <mi>C</mi> <mo>&amp;rsqb;</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow>
其中,表示第s个粒子在第k+1次迭代中第i维的速度,表示第s个粒子在第k次迭代中第i维的速度,ξ和η为设定的常数,k是迭代次数,r1和r2是均匀分布在[0,1]之间的随机数;ω为权重因子,NC为总迭代次数,为第s个粒子第k次迭代后的个体历史最优位置,是个体历史最优解位置所对应的第i维的值,为第k次迭代后的全局最优解位置,是个体历史最优解位置所对应的第i维的值,为第s个粒子在第k+1次迭代更新后位置的第i维的值;fmax是迭代后的当前最大适应度值;
第二更新子模块,用于对各粒子的粒子位置进行更新:
<mrow> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mo>=</mo> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>+</mo> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>
其中,为第s个粒子在第k+1次迭代更新后位置的第i维的值,为第s个粒子在第k次迭代更新后位置的第i维的值,表示第s个粒子在第k+1次迭代中第i维的速度;
第一规范化模块,用于对更新后各粒子的粒子速度进行元素规范化:
<mrow> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <msup> <mi>k</mi> <mo>&amp;prime;</mo> </msup> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mo>-</mo> <mi>n</mi> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>&lt;</mo> <mo>-</mo> <mi>n</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mi>n</mi> <mo>&amp;le;</mo> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>&amp;le;</mo> <mi>n</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>n</mi> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msubsup> <mi>v</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>&gt;</mo> <mi>n</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>
其中,为第s个粒子在第k次迭代中第i维的速度元素规范化后的粒子速度,n为节点的个数,为第s个粒子在第k次迭代中第i维的粒子速度;
第二规范化模块,用于对更新后各粒子的粒子位置进行元素规范化:
<mrow> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <msup> <mi>k</mi> <mo>&amp;prime;</mo> </msup> </msubsup> <mo>=</mo> <mi>r</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>d</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mrow> <mo>(</mo> <mi>exp</mi> <mo>(</mo> <mrow> <mo>|</mo> <msubsup> <mi>x</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> <mi>k</mi> </msubsup> <mo>|</mo> </mrow> <mo>)</mo> <mo>+</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>C</mi> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow>
其中,为第s个粒子在第k次迭代中第i维的位置元素规范化后的粒子位置,C为常数,为第s个粒子在第k次迭代中第i维的粒子位置,e为自然常数;
第二计算模块,用于计算更新及元素规范化后各粒子的适应度值。
9.根据权利要求6所述的基于时间负载均衡的粒子遗传算法优化装置,其特征在于,所述交叉变异模块包括:
第三计算模块,用于随机选取两个粒子,计算交叉概率;
交叉概率计算公式如下所示:
<mrow> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mfrac> <mrow> <msub> <mi>c</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <msup> <mi>f</mi> <mo>&amp;prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>c</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msup> <mi>f</mi> <mo>&amp;prime;</mo> </msup> <mo>-</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mfrac> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msup> <mi>f</mi> <mo>&amp;prime;</mo> </msup> <mo>&amp;GreaterEqual;</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>c</mi> <mn>1</mn> </msub> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msup> <mi>f</mi> <mo>&amp;prime;</mo> </msup> <mo>&lt;</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>
其中,f'为两个粒子中最大适应度值,fmax为全局粒子最大适应度值,favg为全局粒子平均适应度值,c1、c2分别为交叉因子;
第三判断模块,用于判断交叉概率是否大于或等于交叉概率标准值,若是,则不进行交叉操作;若否,则进行交叉操作,并计算交叉操作后形成的各粒子的适应度值;所述交叉操作指在随机选取的两个粒子中随机生成两个交叉点,将两粒子在两交叉点之间的序列进行对应交换;
第四判断模块,用于判断交叉操作后形成的各粒子的适应度值是否大于交叉操作前的粒子适应度值,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
第四计算模块,用于随机选取一个粒子,计算变异概率;
变异概率计算公式如下所示:
<mrow> <msub> <mi>P</mi> <mi>m</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mfrac> <mrow> <msub> <mi>m</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>f</mi> <mo>-</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>m</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <mi>f</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mfrac> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>f</mi> <mo>&amp;GreaterEqual;</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>m</mi> <mn>1</mn> </msub> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>f</mi> <mo>&lt;</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow>
其中,f为该粒子的适应度函数,fmax为粒子种群最大适应度值,favg为粒子种群平均适应度值,m1、m2分别为变异因子;
第五判断模块,用于判断变异概率是否大于或等于变异概率标准值,若是,则不进行变异操作;若否,则进行变异操作,并计算变异操作后形成的各粒子的适应度值;所述变异操作指在随机选取的一个粒子中随机生成两个变异点,将该粒子在两个变异点内进行随机变异;
第六判断模块,用于判断变异操作后形成的各粒子的适应度值是否大于变异操作前的粒子适应度值,若是,则更新个体最优位置和全局最优位置;若否,则不进行更新;
第七判断模块,用于判断是否达到设定的迭代次数,若是,则得出最终的粒子个体最优位置和粒子全局最优位置;若否,则重复步骤3.1至步骤3.6。
10.基于时间负载均衡的粒子遗传算法优化系统,其特征在于,包括:多个节点服务器和至少一个终端,所述节点服务器包括如权利要求6至8中所述的基于时间负载均衡的粒子遗传算法优化装置。
CN201710855366.0A 2017-09-20 2017-09-20 基于时间负载均衡的粒子遗传算法优化方法、装置及系统 Active CN107609650B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710855366.0A CN107609650B (zh) 2017-09-20 2017-09-20 基于时间负载均衡的粒子遗传算法优化方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710855366.0A CN107609650B (zh) 2017-09-20 2017-09-20 基于时间负载均衡的粒子遗传算法优化方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107609650A true CN107609650A (zh) 2018-01-19
CN107609650B CN107609650B (zh) 2020-10-30

Family

ID=61061411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710855366.0A Active CN107609650B (zh) 2017-09-20 2017-09-20 基于时间负载均衡的粒子遗传算法优化方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107609650B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276448A (zh) * 2019-06-04 2019-09-24 深圳前海微众银行股份有限公司 一种模型压缩方法及装置
CN110851272A (zh) * 2019-10-30 2020-02-28 内蒙古农业大学 基于吞噬的粒子群遗传混合算法的云任务调度方法
CN111103801A (zh) * 2019-12-31 2020-05-05 芜湖哈特机器人产业技术研究院有限公司 基于遗传算法的移动机器人重定位方法及移动机器人
CN111399933A (zh) * 2020-02-11 2020-07-10 福建师范大学 一种边缘-云混合计算环境下的dnn任务卸载方法及终端
CN111966495A (zh) * 2020-08-21 2020-11-20 内蒙古工业大学 数据处理方法和装置
CN112070275A (zh) * 2020-08-14 2020-12-11 青岛海信网络科技股份有限公司 一种轨道交通路网协同限流的方法和装置及设备
CN112148443A (zh) * 2020-09-02 2020-12-29 安徽中科龙安科技股份有限公司 龙芯大数据一体机的任务优化调度方法及系统
CN112256415A (zh) * 2020-10-19 2021-01-22 福州大学 基于pso-ga的微云负载均衡任务调度方法
CN113222096A (zh) * 2021-04-30 2021-08-06 桂林理工大学 一种面向云计算任务调度的改进粒子群算法
CN117667618A (zh) * 2023-09-28 2024-03-08 哈尔滨工业大学(威海) 一种云资源组合优化分配方法及终端机
CN112148443B (zh) * 2020-09-02 2024-06-04 安徽中科龙安科技股份有限公司 龙芯大数据一体机的任务优化调度方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195591B1 (en) * 2004-08-14 2012-06-05 Hrl Laboratories, Llc Cognitive signal processing system
CN103971174A (zh) * 2014-05-06 2014-08-06 大连理工大学 基于改进量子粒子群算法的水电站群优化调度方法
CN105117807A (zh) * 2015-09-15 2015-12-02 西安科技大学 一种基于pso-ga-sa算法的能源需求预测方法
CN105704255A (zh) * 2016-04-29 2016-06-22 浙江理工大学 一种基于遗传算法的服务器负载均衡方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195591B1 (en) * 2004-08-14 2012-06-05 Hrl Laboratories, Llc Cognitive signal processing system
CN103971174A (zh) * 2014-05-06 2014-08-06 大连理工大学 基于改进量子粒子群算法的水电站群优化调度方法
CN105117807A (zh) * 2015-09-15 2015-12-02 西安科技大学 一种基于pso-ga-sa算法的能源需求预测方法
CN105704255A (zh) * 2016-04-29 2016-06-22 浙江理工大学 一种基于遗传算法的服务器负载均衡方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王波 等: ""基于粒子群遗传算法的云计算任务调度研究"", 《计算机工程与应用》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276448A (zh) * 2019-06-04 2019-09-24 深圳前海微众银行股份有限公司 一种模型压缩方法及装置
CN110276448B (zh) * 2019-06-04 2023-10-24 深圳前海微众银行股份有限公司 一种模型压缩方法及装置
CN110851272B (zh) * 2019-10-30 2022-02-11 内蒙古农业大学 基于吞噬的粒子群遗传混合算法的云任务调度方法
CN110851272A (zh) * 2019-10-30 2020-02-28 内蒙古农业大学 基于吞噬的粒子群遗传混合算法的云任务调度方法
CN111103801A (zh) * 2019-12-31 2020-05-05 芜湖哈特机器人产业技术研究院有限公司 基于遗传算法的移动机器人重定位方法及移动机器人
CN111103801B (zh) * 2019-12-31 2022-05-17 芜湖哈特机器人产业技术研究院有限公司 基于遗传算法的移动机器人重定位方法及移动机器人
CN111399933A (zh) * 2020-02-11 2020-07-10 福建师范大学 一种边缘-云混合计算环境下的dnn任务卸载方法及终端
CN111399933B (zh) * 2020-02-11 2022-05-31 福建师范大学 一种边缘-云混合计算环境下的dnn任务卸载方法及终端
CN112070275A (zh) * 2020-08-14 2020-12-11 青岛海信网络科技股份有限公司 一种轨道交通路网协同限流的方法和装置及设备
CN111966495A (zh) * 2020-08-21 2020-11-20 内蒙古工业大学 数据处理方法和装置
CN111966495B (zh) * 2020-08-21 2022-02-01 内蒙古工业大学 数据处理方法和装置
CN112148443A (zh) * 2020-09-02 2020-12-29 安徽中科龙安科技股份有限公司 龙芯大数据一体机的任务优化调度方法及系统
CN112148443B (zh) * 2020-09-02 2024-06-04 安徽中科龙安科技股份有限公司 龙芯大数据一体机的任务优化调度方法及系统
CN112256415A (zh) * 2020-10-19 2021-01-22 福州大学 基于pso-ga的微云负载均衡任务调度方法
CN112256415B (zh) * 2020-10-19 2023-08-04 福州大学 基于pso-ga的微云负载均衡任务调度方法
CN113222096A (zh) * 2021-04-30 2021-08-06 桂林理工大学 一种面向云计算任务调度的改进粒子群算法
CN117667618A (zh) * 2023-09-28 2024-03-08 哈尔滨工业大学(威海) 一种云资源组合优化分配方法及终端机

Also Published As

Publication number Publication date
CN107609650B (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN107609650A (zh) 基于时间负载均衡的粒子遗传算法优化方法、装置及系统
Bodha et al. A player unknown's battlegrounds ranking based optimization technique for power system optimization problem
Chen et al. Fuzzy time series forecasting based on optimal partitions of intervals and optimal weighting vectors
Ge et al. Research of cloud computing task scheduling algorithm based on improved genetic algorithm
CN108038306A (zh) 一种面向海量高维数据的电站锅炉燃烧建模及优化的方法
CN112906292B (zh) 热电联产机组厂级热电负荷在线优化分配的方法、系统、设备及存储介质
CN103226759A (zh) 基于遗传算法的动态云工作流调度方法
Ayad et al. Parametric analysis for genetic algorithms handling parameters
Thanh et al. A survey on hybridizing genetic algorithm with dynamic programming for solving the traveling salesman problem
CN109840551A (zh) 一种用于机器学习模型训练的优化随机森林参数的方法
Liang et al. Improved nsga2 algorithm to solve multi-objective flexible job shop scheduling problem
Cagnina et al. A fast particle swarm algorithm for solving smooth and non-smooth economic dispatch problems
CN109447231B (zh) 蚁群算法求解共享经济背景下多属性双边匹配问题的方法
Li et al. An optimization method for task assignment for industrial manufacturing organizations
CN104239975B (zh) 基于改进离散粒子群算法的船舶引航排班方法
CN106875063A (zh) 一种动力定位船舶能量管理优化方法
Kucukkoc et al. A new hybrid genetic algorithm to solve more realistic mixed-model assembly line balancing problem
Noorul Haq et al. A bicriterian flow shop scheduling using artificial neural network
Zhao et al. Shuffled frog–leaping algorithm using elite opposition–based learning
Zheng et al. A hybrid invasive weed optimization algorithm for the economic load dispatch problem in power systems
CN115001978A (zh) 一种基于强化学习模型的云租户虚拟网络智能映射方法
Li et al. Tactical unit algorithm: A novel metaheuristic algorithm for optimal loading distribution of chillers in energy optimization
Yusoff et al. Task assignment optimization for crowdsourcing using genetic algorithm
Li et al. Invasive weed optimization algorithm based on differential evolution operators to solve bin packing problem
Huang et al. A novel parameter optimisation method of hydraulic turbine regulating system based on fuzzy differential evolution algorithm and fuzzy PID controller

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant