CN104461720A - 一种可分任务调度模型的求解方法及系统 - Google Patents

一种可分任务调度模型的求解方法及系统 Download PDF

Info

Publication number
CN104461720A
CN104461720A CN201410715309.9A CN201410715309A CN104461720A CN 104461720 A CN104461720 A CN 104461720A CN 201410715309 A CN201410715309 A CN 201410715309A CN 104461720 A CN104461720 A CN 104461720A
Authority
CN
China
Prior art keywords
processor
task
alpha
constraint condition
individual
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
CN201410715309.9A
Other languages
English (en)
Other versions
CN104461720B (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201410715309.9A priority Critical patent/CN104461720B/zh
Publication of CN104461720A publication Critical patent/CN104461720A/zh
Application granted granted Critical
Publication of CN104461720B publication Critical patent/CN104461720B/zh
Expired - Fee Related 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,建立混合时序约束的可分任务调度模型
记从处理机的总数为N,P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机,从处理机Pi的释放时刻记为ri,从处理机Pi的开始时刻记为si;记参与计算的从处理机数目为n,可分任务被划分为n个子任务α12,...,αn,z为链路传输单位大小任务所花费的时间,w为从处理机计算单位任务所需的时间;
从处理机释放时刻与开始时刻满足的约束条件有三种:
I 从处理机Pi+1的释放时刻ri+1早于主处理机P0给该从处理机Pi+1分配任务的时刻,即ri+1≤si+zαi;该约束条件下的任务开始时刻为:
si=si-1+zαi-1,i=2,3,...,n.
此种约束条件下的任务分配方案为:
α i = q α i - 1 = q i - 1 α 1 , q = w z + w , i = 2,3 , . . . , n .
II 从处理机Pi+1的释放时刻ri+1晚于主处理机P0给上一个从处理机Pi传输完任务的时刻,即ri+1>si+zαi;该约束条件下的任务开始时刻为:
si=ri,i=2,3,...,n.
此种约束条件下的任务分配方案为:
α i = α 1 + r 1 - r i z + w , i = 2,3 , . . . , n .
Ⅲ 任意两个相邻的从处理机Pi-1和Pi之间满足约束条件I或者满足约束条件II,将从处理机满足约束条件I和约束条件II的情况分别记为Γi(I)和Γi(II),则所有从处理机满足的约束条件形成一种混合时序约束条件C=(c2,c3,...,cn),其中ci∈{Γi(I),Γi(II)},i=2,3,...,n;一种混合时序约束条件C对应一种最优的任务分配方案;
则混合时序约束的可分任务调度模型为:
min n , C ( T ) = min ( s i + z α i + w α i )
此模型的约束为(1)~(7):
(1)0<n≤N,其中N为从处理机的总数,n为参与计算的从处理机数目;
(2)0<αi≤Wtotal,i=1,2,...,n
( 3 ) , Σ i = 1 n α i = W total
(4)si+zαi+wαi=si+1+zαi+1+wαi+1,i=1,2,...,n-1
(5)C=(c2,c3,...,cn),ci∈{Γi(I),Γi(II)},i=2,3,...,n
( 6 ) , r i + 1 ≤ s i + z α i , if ( c i = Γ i ( I ) ) , r i + 1 > s i + z α i , else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n
( 7 ) , s i = s i - 1 + z α i - 1 , if ( c i = Γ i ( I ) ) , r i , else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n
其中,T为任务的完成时间,Wtotal为总任务量;
步骤2,利用遗传算法求解可分任务调度模型
利用遗传算法求解可分任务调度模型的最优解,得到最优解对应的参与计算的处理机的数目和任务分配方案,从而得到任务的最短完成时间。
进一步地,所述步骤2的利用遗传算法求解可分任务调度模型的具体步骤如下:
步骤2.1:初始化
确定种群大小PopSize,交叉概率pcros、变异概率pmut和最大进化代数,根据编码规则随机生成初始种群P(t),令进化代数t=0;
步骤2.2:交叉
以概率pcros从P(t)之中选择父代个体,按照交叉规则进行交叉,交叉获得的全部后代个体定义为集合O1
步骤2.3:变异
以概率pmut从集合O1中选择个体,按照变异规则进行变异,新的后代个体定义为集合O2
步骤2.4:选择
用公式T=r1+zα1+wα1计算集合P(t)∪O1∪O2中每个个体的适应度值,选择适应度值最小的E个个体直接保留到下一代种群以加快收敛速度,并按照适应度值的大小为该E个个体排序,使用轮盘赌选择操作从集合P(t)∪O1∪O2中选择PopSize-E个个体保留到下一代种群P(t)中,令t=t+1;
步骤2.5:终止条件
若达到最大进化代数,则终止算法,并将适应度值最小的个体作为最优解,得到此个体对应的任务分配方案,以及采用该任务分配方案时任务的完成时间;否则转向步骤2.2。
进一步地,所述的步骤2.1的编码规则如下:
步骤2.1.1:随机生成个体I=(n,H),其中n=N,hi∈{0,1};
采用实数编码方式,将混合时序约束的可分任务调度问题表示成一个向量I=(n,H),其中,n表示参与计算的从处理机数目,种群初始化时将其设置为从处理机总数N,H=(h2,h3,...,hN)表示一种混合时序约束条件,hi∈{1,0},若hi=1,表示从处理机Pi-1和Pi满足约束条件I;反之hi=0,表示处理机Pi-1和Pi满足约束条件II;
步骤2.1.2:对于给定的n和H,对应唯一一种混合时序约束条件C;按照混合约束条件C得到的任务分配方案中的n-1个等式连同共n个等式表示成如下标准形式:
A·α=b
若混合约束条件为C=(Γ2(I),...,Γk(I),Γk+1(II),Γk+2(II),...,Γk+m(II),Γk+m+1(I),...,Γn(I)),则A和b分别表示如下:
b = 0 , . . . , 0 , r 1 - r k + 1 z + w , r 1 - r k + 2 z + w , . . . , r 1 - r k + m z + w , 0 , . . . , 0 , W total T
步骤2.1.3:通过线性规划方法求解该标准式得到任务分配方案α的解;
步骤2.1.4:验证求解出的α是否满足模型所有的约束条件(1)~(7),若满足模型的所有约束条件,则个体I对应唯一一个混合时序可分任务调度图,调度方案α即为可行解,将该方案对应的任务完成时间T=r1+(z+w)α1作为个体I的适应度值;如果α不满足模型的部分约束条件,则表明并不需要这么多的从处理机参与计算,令n=n-1,更新个体I,转到步骤2.1.2;
步骤2.1.5:重复以上过程,直至求出满足模型全部约束条件的PopSize个个体,组成初始种群P(0)。
进一步地,所述的步骤2.2的交叉规则如下:
步骤2.2.1:随机生成两个整数p和q满足2≤p<q≤N作为交叉点;
步骤2.2.2:将两个父代个体交叉点之间的基因进行交换,生成两个后代个体;
步骤2.2.3:由于个体第1位表示参与计算的从处理机数目,因此交叉后的后代个体第一位均赋值为处理机总数N。
进一步地,所述的步骤2.3的变异规则如下:
步骤2.3.1:随机生成一个整数p满足2≤p≤N作为变异点;
步骤2.3.2:将个体在该点的基因位取反,产生新的后代个体;
步骤2.3.3:将后代个体的第一位赋值为处理机总数N。
一种用于实现权利要求1所述方法的系统,包括依次连接的可分任务调度模型建立模块和可分任务调度模型求解模块;
所述的可分任务调度模型建立模块用于实现以下功能:
记从处理机的总数为N,P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机,从处理机Pi的释放时刻记为ri,从处理机Pi的开始时刻记为si;记参与计算的从处理机数目为n,可分任务被划分为n个子任务α12,...,αn,z为链路传输单位大小任务所花费的时间,w为从处理机计算单位任务所需的时间;
从处理机释放时刻与开始时刻满足的约束条件有三种:
I 从处理机Pi+1的释放时刻ri+1早于主处理机P0给该从处理机Pi+1分配任务的时刻,即ri+1≤si+zαi;此种约束条件下的任务开始时刻为:
si=si-1+zαi-1,i=2,3,...,n.
此种约束条件下的任务分配方案为:
α i = q α i - 1 = q i - 1 α 1 , q = w z + w , i = 2,3 , . . . , n .
II 从处理机Pi+1的释放时刻ri+1晚于主处理机P0给上一个从处理机Pi传输完任务的时刻,即ri+1>si+zαi;此种约束条件下的任务开始时刻为:
si=ri,i=2,3,...,n.
此种约束条件下的任务分配方案为:
α i = α 1 + r 1 - r i z + w , i = 2,3 , . . . , n .
Ⅲ 任意两个相邻的从处理机Pi-1和Pi之间满足约束条件I或者满足约束条件II,将从处理机满足的约束条件形成一种混合时序约束条件;将相邻从处理机满足约束条件I和约束条件II的情况分别记为Γi(I)和Γi(II);用C=(c2,c3,...,cn)表示一种混合时序约束条件,其中ci∈{Γi(I),Γi(II)},i=2,3,...,n;一种混合时序约束条件C对应一种最优的任务分配方案;
则混合时序约束的可分任务调度模型为:
min n , C ( T ) = min ( s i + z α i + w α i )
此模型的约束为(1)—(7):
(1)0<n≤N,其中N为从处理机的总数,n为参与计算的从处理机数量;
(2)0<αi≤Wtotal,i=1,2,...,n
( 3 ) , Σ i = 1 n α i = W total
(4)si+zαi+wαi=si+1+zαi+1+wαi+1,i=1,2,...,n-1
(5)C=(c2,c3,...,cn),ci∈{Γi(I),Γi(II)},i=2,3,...,n
( 6 ) , r i + 1 ≤ s i + z α i , if ( c i = Γ i ( I ) ) , r i + 1 > s i + z α i , else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n
( 7 ) , s i = s i - 1 + z α i - 1 , if ( c i = Γ i ( I ) ) , r i , else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n
所述的可分任务调度模型求解模块用于实现以下功能:
利用遗传算法求解可分任务调度模型的最优解,得到最优解对应的参与计算的处理机的数目和任务分配方案,从而得到任务的最短完成时间。
进一步地,所述的可分任务调度模型求解模块,包括初始化模块、交叉模块、变异模块、选择模块和终止条件模块,其中,
所述的初始化模块用于实现以下功能:
确定种群大小PopSize,交叉概率pcros、变异概率pmut和最大进化代数,根据编码规则随机生成初始种群P(t),令进化代数t=0;
所述的交叉模块用于实现以下功能:
以概率pcros从P(t)之中选择父代个体,按照交叉规则进行交叉,交叉获得的全部后代个体定义为集合O1
所述的变异模块用于实现以下功能:
以概率pmut从集合O1中选择个体,按照变异规则进行变异,新的后代个体定义为集合O2
所述的选择模块用于实现以下功能:
用公式T=r1+zα1+wα1计算集合P(t)∪O1∪O2中每个个体的适应度值,选择适应度值最小的E个个体直接保留到下一代种群以加快收敛速度,并按照适应度值的大小为该E个个体排序,使用轮盘赌选择操作从集合P(t)∪O1∪O2中选择PopSize-E个个体保留到下一代种群P(t)中,令t=t+1;
所述的终止条件模块用于实现以下功能:
若达到最大进化代数,则终止算法,并将适应度值最小的个体作为最优解,得到此个体对应的任务分配方案,以及采用该任务分配方案时任务的完成时间;否则进入交叉模块。
进一步地,所述的初始化模块包括编码规则模块,所述的编码规则模块包括子模块1、子模块2、子模块3、子模块4和子模块5,其中,
子模块1用于实现以下功能:
随机生成个体I=(n,H),其中n=N,hi∈{0,1};
采用实数编码方式,将混合时序约束的可分任务调度问题表示成一个向量I=(n,H),其中,n表示参与计算的从处理机数目,种群初始化时将其设置为从处理机总数N,H=(h2,h3,...,hN)表示一种混合时序约束条件,hi∈{1,0},若hi=1,表示从处理机Pi-1和Pi满足约束条件I;反之hi=0,表示处理机Pi-1和Pi满足约束条件II;
所述的子模块2用于实现以下功能:
对于给定的n和H,对应唯一一种混合时序约束条件C;按照混合约束条件C得到的任务分配方案中的n-1个等式连同共n个等式表示成如下标准形式:
A·α=b
若混合约束条件为C=(Γ2(I),...,Γk(I),Γk+1(II),Γk+2(II),...,Γk+m(II),Γk+m+1(I),...,Γn(I)),则A和b分别表示如下:
b = 0 , . . . , 0 , r 1 - r k + 1 z + w , r 1 - r k + 2 z + w , . . . , r 1 - r k + m z + w , 0 , . . . , 0 , W total T
所述的子模块3用于实现以下功能:
通过线性规划方法求解该标准式得到任务分配方案α的解;
所述的子模块4用于实现以下功能:
验证求解出的α是否满足模型所有的约束条件(1)~(7),若满足模型的所有约束条件,则个体I对应唯一一个混合时序可分任务调度图,调度方案α即为可行解,将该方案对应的任务完成时间T=r1+(z+w)α1作为个体I的适应度值;如果α不满足模型的部分约束条件,则表明并不需要这么多的从处理机参与计算,令n=n-1,更新个体I,进入子模块2;
所述的子模块5用于实现以下功能:
重复以上子模块,直至求出满足模型全部约束条件的PopSize个个体,组成初始种群P(0)。
进一步地,所述的交叉模块中所述的交叉规则为:
随机生成两个整数p和q满足2≤p<q≤N作为交叉点;
将两个父代个体交叉点之间的基因进行交换,生成两个后代个体;
由于个体第1位表示参与计算的从处理机数目,因此交叉后的后代个体第一位均赋值为处理机总数N。
进一步地,所述的变异模块中所述的变异规则为:
随机生成一个整数p满足2≤p≤N作为变异点;
将个体在该点的基因位取反,产生新的后代个体;
将后代个体的第一位赋值为处理机总数N。
与现有技术相比,本发明具有以下技术效果:
1、本发明的针对并行与分布式系统中大规模计算任务处理的问题,在充分考虑处理机释放时间不同的基础上,建立了混合时序约束的可分任务调度模型,该模型在可分任务调度问题上更加合理且有效。
2、本发明针对这种新的考虑释放时间的可分任务调度智能优化模型,提出了一种高效的遗传算法对模型进行求解,可有效避免巨额的时间开销,提高了算法效率。
附图说明
图1为满足问题描述的星型网络示意图;
图2为满足约束I条件的可分任务调度图;
图3为满足约束II条件的可分任务调度图;
图4为一种满足混合时序约束条件的可分任务调度图;
图5(a)为任务较小情况下任务最短完成时间的变化趋势图;
图5(b)为任务较小情况下参与计算的处理机数目的变化趋势图;
图6(a)为任务较大情况下任务最短完成时间的变化趋势图;
图6(b)为任务较大情况下参与计算的处理机数目的变化趋势图。
下面结合附图和实施例对本发明作进一步的解释和说明。
具体实施方式
以下给出本发明的具体实施例,需要说明的是本发明并不局限于以下具体实施例,凡在本申请技术方案基础上做的等同变换均落入本发明的保护范围。
遵从上述技术方案,本发明的可分任务调度模型的求解方法,具体步骤如下:
步骤1,建立混合时序约束的可分任务调度模型
参见图1,记从处理机的总数为N,P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机,从处理机Pi的释放时刻记为ri,从处理机Pi的开始时刻记为si。记参与计算的从处理机数目为n,可分任务被划分为n个子任务α12,...,αn,αi表示第i个子任务。z为链路传输单位任务所花费的时间,单位任务的大小可根据需要来确定,本发明中设为1MB或者1GB,w为每个从处理机计算单位任务所需的时间。当所有从处理机同时完成计算时,任务的完成时间最短。由所有从处理机同时完成计算可以得到下面的等式:
si+zαi+wαi=si+1+zαi+1+wαi+1,i=1,2,...,n-1.     (1)
从处理机释放时刻与开始时刻可能满足以下三种约束条件之一:
I ri+1≤si+zαi,i=1,2,...,n-1:该约束表示的是从处理机Pi+1的释放时刻ri+1要早于主处理机P0给从处理机Pi+1分配任务的时刻,即从处理机Pi+1由忙碌状态转为空闲状态发生在主处理机P0给从处理机Pi传输任务αi的过程中;
参见附图2,在约束条件I下,从处理机Pi的开始时刻si满足:
s i = s i - 1 + z α i - 1 = r 1 + z ( Σ j = 1 i - 1 α j ) , i = 2,3 , . . . , n . - - - ( 2 )
由公式(1)和公式(2)可得约束条件I下的任务分配方案为:
α i = q α i - 1 = q i - 1 α 1 , q = w z + w , i = 2,3 , . . . , n . - - - ( 3 )
II ri+1>si+zαi,i=1,2,...,n-1:该约束表示的是从处理机Pi+1的释放时刻ri+1要晚于主处理机P0给从处理机Pi传输完任务αi的时刻,即主处理机P0在给从处理机Pi传输完任务αi后需要等待一段时间直到从处理机Pi+1恢复空闲才能为其输任务αi+1
参见附图3,在约束条件II下,处理机Pi(i=1,2,...,n)的释放时刻ri和开始时刻si是相同的,即si=ri
将公式(1)中的si替换为ri可得约束条件II下的任务分配方案为:
α i = α 1 + r 1 - r i z + w , i = 2,3 , . . . , n . - - - ( 4 )
Ⅲ 混合时序约束:在实际的并行与分布式系统中,任意两个相邻的从处理机之间可能满足约束条件I,也可能满足约束条件II。将从处理机Pi-1和Pi满足约束条件I和约束条件II的情况分别记为Γi(I)和Γi(II),其中i=2,3,...,n。用C=(c2,c3,...,cn)表示一种混合时序约束条件,其中ci∈{Γi(I),Γi(II)},i=2,3,...,n。若ci=Γi(I),表明主处理机P0在给从处理机Pi-1传输完数据后紧接着为从处理机Pi传输数据,中间没有空闲。此时,从处理机Pi的开始时间满足si=si-1+zαi-1;若ci=Γi(II),表明主处理机P0在给从处理机Pi-1传输完数据后需要等待Pi由忙碌转为空闲状态才能开始传输数据,中间存在空闲时间。此时,从处理机Pi的开始时间满足si=ri
参见附图4,图4对应的混合约束C为:
C=(Γ2(I),...,Γk(I),Γk+1(II),Γk+2(II),...,Γk+m(II),Γk+m+1(I),...,Γn(I));
由混合时序约束C=(c2,c3,...,cn),可以得到从处理机开始时刻与释放时刻之间的关系,如公式(5)所示。将公式(5)代入公式(1)可得每台从处理机被分配的任务αi如公式(6)所示。
s 1 = r 1 s 2 = s 1 + z α 1 . . . s k = s k - 1 + z α k - 1 s k + 1 = r k + 1 s k + 2 = r k + 2 . . . s k + m = r k + m s k + m + 1 = s k + m + z α k + m . . . s n = s n - 1 + z α n - 1 - - - ( 5 ) α 2 = q α 1 . . . α k = q α k - 1 α k + 1 = α 1 + ( r 1 - r k + 1 ) / ( z + w ) α k + 2 = α 1 + ( r 1 - r k + 2 ) / ( z + w ) . . . α k + m = α 1 + ( r 1 - r k + m ) / ( z + w ) α k + m + 1 = q α k + m . . . α n = q α n - 1 - - - ( 6 )
混合时序约束的可分任务调度模型:
min n , C ( T ) = min ( s i + z α i + w α i )
此模型的约束为(1)~(7):
(1)0<n≤N,其中N为从处理机的总数,n为参与计算的从处理机数量;
(2)0<αi≤Wtotal,i=1,2,...,n;
( 3 ) , Σ i = 1 n α i = W total ;
(4)si+zαi+wαi=si+1+zαi+1+wαi+1,i=1,2,...,n-1;
(5)C=(c2,c3,...,cn),ci∈{Γi(I),Γi(II)},i=2,3,...,n;
( 6 ) , r i + 1 ≤ s i + z α i , if ( c i = Γ i ( I ) ) , r i + 1 > s i + z α i , else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n ;
( 7 ) , s i = s i - 1 + z α i - 1 , if ( c i = Γ i ( I ) ) , r i , else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n .
该模型的目标是任务的完成时间最短。模型的约束(1)表示并非所有的从处理机都参与计算;约束(2)表示每台从处理机分配的任务量非负,且不能超过总任务量Wtotal;约束(3)表示所有从处理机分配的任务量之和为总任务量Wtotal;约束(4)表示所有从处理机必须同时完成任务;约束(5)和(6)限定了混合时序约束条件C的取值范围,若ci=Γi(I),从处理机Pi-1和Pi必须满足约束条件I,即ri+1≤si+zαi;若ci=Γi(II),则Pi-1必须满足约束条件II,即ri+1>si+zαi。约束(7)给出了从处理机Pi的开始时刻si的取值,若ci=Γi(I),主处理机P0在给从处理机Pi-1传输完数据后紧接着为从处理机Pi传输数据,因此,从处理机Pi的开始时刻si为开始时刻si-1加上主处理机P0为从处理机Pi-1传输任务的时间zαi-1;若ci=Γi(II),主处理机P0在给从处理机Pi-1传输完数据后需要等待从处理机Pi由忙碌转为空闲状态才能开始传输数据,因此从处理机Pi的开始时刻与其释放时刻ri相同。
步骤2,用遗传算法求解可分任务调度模型
步骤2.1:初始化
确定种群大小PopSize,交叉概率pcros、变异概率pmut和最大进化代数,根据编码规则随机生成初始种群P(t),令进化代数t=0。
编码规则如下:
步骤2.1.1:随机生成个体I=(n,H),其中n=N,hi∈{0,1}。
采用实数编码方式,将混合时序约束的可分任务调度问题表示成一个向量I=(n,H),其中,n表示参与计算的从处理机数目,种群初始化时将其设置为从处理机总数N,H=(h2,h3,...,hN)表示一种混合时序约束条件,hi∈{1,0},若hi=1,表示从处理机Pi-1和Pi满足约束条件I;反之hi=0,表示处理机Pi-1和Pi满足约束条件II;
步骤2.1.2:对于给定的n和H,对应唯一一种混合时序约束条件C;按照混合约束条件C,得到的任务分配方案如公式(6)所示,将公式(6)的n-1个等式连同共n个等式表示成如下标准形式:
A·α=b
A和b可以分别表示如下:
b = 0 , . . . , 0 , r 1 - r k + 1 z + w , r 1 - r k + 2 z + w , . . . , r 1 - r k + m z + w , 0 , . . . , 0 , W total T
步骤2.1.3:通过线性规划方法求解该标准式就可以得到任务分配方案α的解;
步骤2.1.4:验证求解出的α是否满足模型所有的约束条件(1)—(7),若满足模型的所有约束条件,则个体I对应唯一一个类似于附图4的混合时序可分任务调度图,调度方案α即为可行解,将该方案对应的任务完成时间T=r1+zα1+wα1作为个体I的适应度值;如果α不满足模型的部分约束条件,则表明并不需要这么多的从处理机参与计算,令n=n-1,更新个体I,转到步骤2.1.2;
步骤2.1.5:重复以上过程,直至求出满足模型全部约束条件的PopSize个个体,组成初始种群P(0);
步骤2.2:交叉
以概率pcros从P(t)之中选择父代个体,按照交叉规则进行交叉,交叉获得的全部后代个体定义为集合O1
交叉规则如下:
步骤2.2.1:随机生成两个整数p和q满足2≤p<q≤N作为交叉点;
步骤2.2.2:将两个父代个体交叉点之间的基因进行交换,生成两个后代个体;
步骤2.2.3:由于个体第1位n表示参与计算的从处理机数目,因此交叉后的后代个体第一位均赋值为处理机总数N。
步骤2.3:变异
以概率pmut从集合O1中选择个体,按照变异规则进行变异,新的后代个体定义为集合O2
变异规则如下:
步骤2.3.1:随机生成一个整数p满足2≤p≤N作为变异点;
步骤2.3.2:将个体在该点的基因位取反,产生新的后代个体;
步骤2.3.3:将后代个体的第一位赋值为处理机总数N;
步骤2.4:选择
用公式T=r1+zα1+wα1计算集合P(t)∪O1∪O2中每个个体的适应度值,并选择适应度值最小的E个个体直接保留到下一代种群以加快收敛速度,使用轮盘赌选择操作从集合P(t)∪O1∪O2中选择PopSize-E个个体保留到下一代种群P(t)中,令t=t+1;
步骤2.5:终止条件
若达到最大进化代数,则终止算法,并将适应度值最小的个体作为最优解,得到最优解对应的参与计算的处理机的数目和任务分配方案,从而得到任务的最短完成时间;否则转向步骤2.2;
实施例1
针对提出的模型和算法,我们进行了多组对比实验。实验参数设置如下:处理机总数N=20,z=0.8,w=1.2。处理机P1~P20的释放时间r1~r20是指数分布的随机数。另外,在遗传算法中采用如下参数:种群大小PopSize=100,交叉概率pcros=0.6,变异概率pmut=0.02,精英保留个数E=5,终止条件为进化代数t=100。表1给出了不同任务量情况下(Wtotal=1.0~10.0)两种算法对比的实验结果,其中,GA代表本发明提出的全局优化遗传算法,EA代表现有技术中的一种常用的穷举算法。
表1.不同任务量情况下两种算法对比实验结果
计算的处理机数目和任务的完成时间完全相同,可见,本文提出的算法能够有效的求出任务的最优调度策略。在算法运行时间方面,本文提出的算法GA的运行时间远远小于穷举算法的时间,可见本文提出的算法不仅有效而且高效。
分两种情况对混合时序约束的可分任务调度优化模型进行定性的分析,着重考察任务的最短完成时间受处理机释放时间的影响。
图5(a)表示在任务较小(Wtotal=1.0~10.0)的情况下,任务最短完成时间随任务大小和处理机平均释放时间的变化趋势;图5(b)表示在任务较小(Wtotal=1.0~10.0)的情况下,参与计算的从处理机数目随任务大小和从处理机平均释放时间的变化趋势。
由图5(a)可以看出,在任务较小的情况下,随着处理机平均释放时间和任务的逐渐增大,任务的最短完成时间也在逐渐增大。由图5(b)可以看出,对于同样大小的任务,参与计算的处理机数目随着处理机平均释放时间的增大而逐渐减少,这是由于某些处理机的释放时间过大,超过了任务的最短完成时间因而无法参与计算。随着任务的增大,任务的最短完成时间也逐渐增大,会有更多的处理机参与任务的计算。通过上面的分析可知,当任务较小的情况下,处理机的释放时间会较大程度地影响任务的最短完成时间和参与计算的处理机数目。
图6(a)表示的是在任务较大(Wtotal=20.0~100.0)的情况下,任务最短完成时间随任务大小和处理机平均释放时间的变化趋势;图6(b)在任务较大(Wtotal=20.0~100.0)的情况下,参与计算的处理机数目随任务大小和处理机平均释放时间的变化趋势。
由图6可以看出,当任务量足够大的时候,所有的处理机都参与计算,任务的最短完成时间随任务量的增加近似成线性增长趋势,处理机的释放时间对任务最短完成时间的影响几乎可以忽略。这主要是因为模型采用的是阻塞通信模式,后分配任务的处理机需要等待先分配任务的处理机完成数据的传输后才能开始接收任务,当任务量足够大的时候,等待时间已经超过了处理机的释放时间,所以释放时间对任务的最短完成时间不再构成影响。
实施例2
本实施例提供了实现上述可分任务调度模型的求解方法的系统,包括依次连接的可分任务调度模型建立模块和可分任务调度模型求解模块;
所述的可分任务调度模型建立模块用于实现以下功能:
记从处理机的总数为N,P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机,从处理机Pi的释放时刻记为ri,从处理机Pi的开始时刻记为si;记参与计算的从处理机数目为n,可分任务被划分为n个子任务α12,...,αn,z为链路传输单位大小任务所花费的时间,w为从处理机计算单位任务所需的时间;
从处理机释放时刻与开始时刻满足的约束条件有三种:
I 从处理机Pi+1的释放时刻ri+1早于主处理机P0给该从处理机Pi+1分配任务的时刻,即ri+1≤si+zαi;此种约束条件下的任务开始时刻为:
si=si-1+zαi-1,i=2,3,...,n.
此种约束条件下的任务分配方案为:
α i = q α i - 1 = q i - 1 α 1 , q = w z + w , i = 2,3 , . . . , n .
II 从处理机Pi+1的释放时刻ri+1晚于主处理机P0给上一个从处理机Pi传输完任务的时刻,即ri+1>si+zαi;此种约束条件下的任务开始时刻为:
si=ri,i=2,3,...,n.
此种约束条件下的任务分配方案为:
α i = α 1 + r 1 - r i z + w , i = 2,3 , . . . , n .
Ⅲ 任意两个相邻的从处理机Pi-1和Pi之间满足约束条件I或者满足约束条件II,将从处理机满足的约束条件形成一种混合时序约束条件;将相邻从处理机满足约束条件I和约束条件II的情况分别记为Γi(I)和Γi(II);用C=(c2,c3,...,cn)表示一种混合时序约束条件,其中ci∈{Γi(I),Γi(II)},i=2,3,...,n。一种混合时序约束条件C对应一种最优的任务分配方案。
则混合时序约束的可分任务调度模型为:
min n , C ( T ) = min ( s i + z α i + w α i )
此模型的约束为(1)—(7):
(1)0<n≤N,其中N为从处理机的总数,n为参与计算的从处理机数量;
(2)0<αi≤Wtotal,i=1,2,...,n
( 3 ) , Σ i = 1 n α i = W total
(4)si+zαi+wαi=si+1+zαi+1+wαi+1,i=1,2,...,n-1
(5)C=(c2,c3,...,cn),ci∈{Γi(I),Γi(II)},i=2,3,...,n
( 6 ) , r i + 1 ≤ s i + z α i , if ( c i = Γ i ( I ) ) , r i + 1 > s i + z α i , else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n
( 7 ) , s i = s i - 1 + z α i - 1 , if ( c i = Γ i ( I ) ) , r i , else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n
所述的可分任务调度模型求解模块用于实现以下功能:
利用遗传算法求解可分任务调度模型的最优解,得到最优解对应的参与计算的处理机的数目和任务分配方案,从而得到任务的最短完成时间。
可选的,所述的可分任务调度模型求解模块,包括初始化模块、交叉模块、变异模块、选择模块和终止条件模块,其中,
所述的初始化模块用于实现以下功能:
确定种群大小PopSize,交叉概率pcros、变异概率pmut和最大进化代数,根据编码规则随机生成初始种群P(t),令进化代数t=0;
所述的交叉模块用于实现以下功能:
以概率pcros从P(t)之中选择父代个体,按照交叉规则进行交叉,交叉获得的全部后代个体定义为集合O1
所述的变异模块用于实现以下功能:
以概率pmut从集合O1中选择个体,按照变异规则进行变异,新的后代个体定义为集合O2
所述的选择模块用于实现以下功能:
用公式T=r1+zα1+wα1计算集合P(t)∪O1∪O2中每个个体的适应度值,选择适应度值最小的E个个体直接保留到下一代种群以加快收敛速度,并按照适应度值的大小为该E个个体排序,使用轮盘赌选择操作从集合P(t)∪O1∪O2中选择PopSize-E个个体保留到下一代种群P(t)中,令t=t+1;
所述的终止条件模块用于实现以下功能:
若达到最大进化代数,则终止算法,并将适应度值最小的个体作为最优解,得到最优解对应的参与计算的处理机的数目和任务分配方案,从而得到任务的最短完成时间;否则进入交叉模块。
可选的,所述的初始化模块包括编码规则模块,所述的编码规则模块包括子模块1、子模块2、子模块3、子模块4和子模块5,其中,
子模块1用于实现以下功能:
随机生成个体I=(n,H),其中n=N,hi∈{0,1};
采用实数编码方式,将混合时序约束的可分任务调度问题表示成一个向量I=(n,H),其中,n表示参与计算的从处理机数目,种群初始化时将其设置为从处理机总数N,H=(h2,h3,...,hN)表示一种混合时序约束条件,hi∈{1,0},若hi=1,表示从处理机Pi-1和Pi满足约束条件I;反之hi=0,表示处理机Pi-1和Pi满足约束条件II;
所述的子模块2用于实现以下功能:
对于给定的n和H,对应唯一一种混合时序约束条件C;按照混合约束条件C得到的任务分配方案中的n-1个等式连同共n个等式表示成如下标准形式:
A·α=b
若混合约束条件为C=(Γ2(I),...,Γk(I),Γk+1(II),Γk+2(II),...,Γk+m(II),Γk+m+1(I),...,Γn(I)),则A和b分别表示如下:
b = 0 , . . . , 0 , r 1 - r k + 1 z + w , r 1 - r k + 2 z + w , . . . , r 1 - r k + m z + w , 0 , . . . , 0 , W total T
所述的子模块3用于实现以下功能:
通过线性规划方法求解该标准式得到任务分配方案α的解;
所述的子模块4用于实现以下功能:
验证求解出的α是否满足模型所有的约束条件(1)~(7),若满足模型的所有约束条件,则个体I对应唯一一个混合时序可分任务调度图,调度方案α即为可行解,将该方案对应的任务完成时间T=r1+(z+w)α1作为个体I的适应度值;如果α不满足模型的部分约束条件,则表明并不需要这么多的从处理机参与计算,令n=n-1,更新个体I,进入子模块2;
所述的子模块5用于实现以下功能:
重复以上子模块,直至求出满足模型全部约束条件的PopSize个个体,组成初始种群P(0)。
可选的,所述的交叉模块中的所述的交叉规则为:
随机生成两个整数p和q满足2≤p<q≤N作为交叉点;
将两个父代个体交叉点之间的基因进行交换,生成两个后代个体;
由于个体第1位表示参与计算的从处理机数目,因此交叉后的后代个体第一位均赋值为处理机总数N。
可选的,所述的变异模块中所述的变异规则为:
随机生成一个整数p满足2≤p≤N作为变异点;
将个体在该点的基因位取反,产生新的后代个体;
将后代个体的第一位赋值为处理机总数N。

Claims (10)

1.一种可分任务调度模型的求解方法,其特征在于,包括以下步骤:
步骤1,建立混合时序约束的可分任务调度模型
记从处理机的总数为N,P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机,从处理机Pi的释放时刻记为ri,从处理机Pi的开始时刻记为si;记参与计算的从处理机数目为n,可分任务被划分为n个子任务α12,...,αn,z为链路传输单位大小任务所花费的时间,w为从处理机计算单位任务所需的时间;
从处理机释放时刻与开始时刻满足的约束条件有三种:
I从处理机Pi+1的释放时刻ri+1早于主处理机P0给该从处理机Pi+1分配任务的时刻,即ri+1≤si+zαi;该约束条件下的任务开始时刻为:
si=si-1+zαi-1,i=2,3,...,n.
此种约束条件下的任务分配方案为:
α i = q α i - 1 = q i - 1 α 1 , q = w z + w , i = 2,3 , . . . , n .
II从处理机Pi+1的释放时刻ri+1晚于主处理机P0给上一个从处理机Pi传输完任务的时刻,即ri+1>si+zαi;该约束条件下的任务开始时刻为:
si=ri,i=2,3,...,n.
此种约束条件下的任务分配方案为:
α i = α 1 + r 1 - r i z + w , i = 2,3 , . . . , n .
Ⅲ任意两个相邻的从处理机Pi-1和Pi之间满足约束条件I或者满足约束条件II,将从处理机满足约束条件I和约束条件II的情况分别记为Γi(I)和Γi(II),则所有从处理机满足的约束条件形成一种混合时序约束条件C=(c2,c3,...,cn),其中ci∈{Γi(I),Γi(II)},i=2,3,...,n;一种混合时序约束条件C对应一种最优的任务分配方案;
则混合时序约束的可分任务调度模型为:
min c , C ( T ) = min ( s i + zα i + wα i )
此模型的约束为(1)~(7):
(1)0<n≤N,其中N为从处理机的总数,n为参与计算的从处理机数目;
(2)0<αi≤Wtotal,i=1,2,...,n
( 3 ) - - - Σ i = 1 n α i = W total
(4)si+zαi+wαi=si+1+zαi+1+wαi+1,i=1,2,...,n-1
(5)C=(c2,c3,...,cn),ci∈{Γi(I),Γi(II)},i=2,3,...,n
( 6 ) - - - r i + 1 ≤ s i + zα i , if ( c i = Γ i ( I ) ) , r i + 1 > s i + zα i , else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n
( 7 ) - - - s i = s i - 1 + zα i - 1 , if ( c i = Γ i ( I ) ) , r i else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n
其中,T为任务的完成时间,Wtotal为总任务量;
步骤2,利用遗传算法求解可分任务调度模型
利用遗传算法求解可分任务调度模型的最优解,得到最优解对应的参与计算的处理机的数目和任务分配方案,从而得到任务的最短完成时间。
2.如权利要求1所述的方法,其特征在于,所述步骤2的利用遗传算法求解可分任务调度模型的具体步骤如下:
步骤2.1:初始化
确定种群大小PopSize,交叉概率pcros、变异概率pmut和最大进化代数,根据编码规则随机生成初始种群P(t),令进化代数t=0;
步骤2.2:交叉
以概率pcros从P(t)之中选择父代个体,按照交叉规则进行交叉,交叉获得的全部后代个体定义为集合O1
步骤2.3:变异
以概率pmut从集合O1中选择个体,按照变异规则进行变异,新的后代个体定义为集合O2
步骤2.4:选择
用公式T=r1+zα1+wα1计算集合P(t)∪O1∪O2中每个个体的适应度值,选择适应度值最小的E个个体直接保留到下一代种群以加快收敛速度,并按照适应度值的大小为该E个个体排序,使用轮盘赌选择操作从集合P(t)∪O1∪O2中选择PopSize-E个个体保留到下一代种群P(t)中,令t=t+1;
步骤2.5:终止条件
若达到最大进化代数,则终止算法,并将适应度值最小的个体作为最优解,得到此个体对应的任务分配方案,以及采用该任务分配方案时任务的完成时间;否则转向步骤2.2。
3.如权利要求2所述的可分任务调度模型的求解方法,其特征在于,所述的步骤2.1的编码规则如下:
步骤2.1.1:随机生成个体I=(n,H),其中n=N,hi∈{0,1};
采用实数编码方式,将混合时序约束的可分任务调度问题表示成一个向量I=(n,H),其中,n表示参与计算的从处理机数目,种群初始化时将其设置为从处理机总数N,H=(h2,h3,...,hN)表示一种混合时序约束条件,hi∈{1,0},若hi=1,表示从处理机Pi-1和Pi满足约束条件I;反之hi=0,表示处理机Pi-1和Pi满足约束条件II;
步骤2.1.2:对于给定的n和H,对应唯一一种混合时序约束条件C;按照混合约束条件C得到的任务分配方案的n-1个等式连同共n个等式表示成如下标准形式:
A·α=b
若混合约束条件为C=(Γ2(I),...,Γk(I),Γk+1(II),Γk+2(II),...,Γk+m(II),Γk+m+1(I),...,Γn(I)),则A和b分别表示如下:
b = 0 , . . . , 0 , r 1 - r k + 1 z + w , r 1 - r k + 2 z + w , . . . , r 1 - r k + m z + w , 0 , . . . , 0 , W total T
步骤2.1.3:通过线性规划方法求解该标准式得到任务分配方案α的解;
步骤2.1.4:验证求解出的α是否满足模型所有的约束条件(1)~(7),若满足模型的所有约束条件,则个体I对应唯一一个混合时序可分任务调度图,调度方案α即为可行解,将该方案对应的任务完成时间T=r1+(z+w)α1作为个体I的适应度值;如果α不满足模型的部分约束条件,则表明并不需要这么多的从处理机参与计算,令n=n-1,更新个体I,转到步骤2.1.2;
步骤2.1.5:重复以上过程,直至求出满足模型全部约束条件的PopSize个个体,组成初始种群P(0)。
4.如权利要求2所述的可分任务调度模型的求解方法,其特征在于,所述的步骤2.2的交叉规则如下:
步骤2.2.1:随机生成两个整数p和q满足2≤p<q≤N作为交叉点;
步骤2.2.2:将两个父代个体交叉点之间的基因进行交换,生成两个后代个体;
步骤2.2.3:由于个体第1位表示参与计算的从处理机数目,因此交叉后的后代个体第一位均赋值为处理机总数N。
5.如权利要求2所述的可分任务调度模型的求解方法,其特征在于,所述的步骤2.3的变异规则如下:
步骤2.3.1:随机生成一个整数p满足2≤p≤N作为变异点;
步骤2.3.2:将个体在该点的基因位取反,产生新的后代个体;
步骤2.3.3:将后代个体的第一位赋值为处理机总数N。
6.一种用于实现权利要求1所述方法的系统,其特征在于,包括依次连接的可分任务调度模型建立模块和可分任务调度模型求解模块;
所述的可分任务调度模型建立模块用于实现以下功能:
记从处理机的总数为N,P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机,从处理机Pi的释放时刻记为ri,从处理机Pi的开始时刻记为si;记参与计算的从处理机数目为n,可分任务被划分为n个子任务α12,...,αn,z为链路传输单位大小任务所花费的时间,w为从处理机计算单位任务所需的时间;
从处理机释放时刻与开始时刻满足的约束条件有三种:
I从处理机Pi+1的释放时刻ri+1早于主处理机P0给该从处理机Pi+1分配任务的时刻,即ri+1≤si+zαi;此种约束条件下的任务开始时刻为:
si=si-1+zαi-1,i=2,3,...,n.
此种约束条件下的任务分配方案为:
α i = q α i - 1 = q i - 1 α 1 , q = w z + w , i = 2,3 , . . . , n .
II从处理机Pi+1的释放时刻ri+1晚于主处理机P0给上一个从处理机Pi传输完任务的时刻,即ri+1>si+zαi;此种约束条件下的任务开始时刻为:
si=ri,i=2,3,...,n.
此种约束条件下的任务分配方案为:
α i = α 1 + r 1 - r i z + w , i = 2,3 , . . . , n .
Ⅲ任意两个相邻的从处理机Pi-1和Pi之间满足约束条件I或者满足约束条件II,将从处理机满足的约束条件形成一种混合时序约束条件;将相邻从处理机满足约束条件I和约束条件II的情况分别记为Γi(I)和Γi(II);用C=(c2,c3,...,cn)表示一种混合时序约束条件,其中ci∈{Γi(I),Γi(II)},i=2,3,...,n;一种混合时序约束条件C对应一种最优的任务分配方案;
则混合时序约束的可分任务调度模型为:
min c , C ( T ) = min ( s i + zα i + wα i )
此模型的约束为(1)—(7):
(1)0<n≤N,其中N为从处理机的总数,n为参与计算的从处理机数量;
(2)0<αi≤Wtotal,i=1,2,...,n
( 3 ) - - - Σ i = 1 n α i = W total
(4)si+zαi+wαi=si+1+zαi+1+wαi+1,i=1,2,...,n-1
(5)C=(c2,c3,...,cn),ci∈{Γi(I),Γi(II)},i=2,3,...,n
( 6 ) - - - r i + 1 ≤ s i + zα i , if ( c i = Γ i ( I ) ) , r i + 1 > s i + zα i , else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n
( 7 ) - - - s i = s i - 1 + zα i - 1 , if ( c i = Γ i ( I ) ) , r i else ( c i = Γ i ( II ) ) . , i = 2,3 , . . . , n
所述的可分任务调度模型求解模块用于实现以下功能:
利用遗传算法求解可分任务调度模型的最优解,得到最优解对应的参与计算的处理机的数目和任务分配方案,从而得到任务的最短完成时间。
7.如权利要求6所述的系统,其特征在于,所述的可分任务调度模型求解模块,包括初始化模块、交叉模块、变异模块、选择模块和终止条件模块,其中,
所述的初始化模块用于实现以下功能:
确定种群大小PopSize,交叉概率pcros、变异概率pmut和最大进化代数,根据编码规则随机生成初始种群P(t),令进化代数t=0;
所述的交叉模块用于实现以下功能:
以概率pcros从P(t)之中选择父代个体,按照交叉规则进行交叉,交叉获得的全部后代个体定义为集合O1
所述的变异模块用于实现以下功能:
以概率pmut从集合O1中选择个体,按照变异规则进行变异,新的后代个体定义为集合O2
所述的选择模块用于实现以下功能:
用公式T=r1+zα1+wα1计算集合P(t)∪O1∪O2中每个个体的适应度值,选择适应度值最小的E个个体直接保留到下一代种群以加快收敛速度,并按照适应度值的大小为该E个个体排序,使用轮盘赌选择操作从集合P(t)∪O1∪O2中选择PopSize-E个个体保留到下一代种群P(t)中,令t=t+1;
所述的终止条件模块用于实现以下功能:
若达到最大进化代数,则终止算法,并将适应度值最小的个体作为最优解,得到此个体对应的任务分配方案,以及采用该任务分配方案时任务的完成时间;否则进入交叉模块。
8.如权利要求7所述的系统,其特征在于,所述的初始化模块包括编码规则模块,所述的编码规则模块包括子模块1、子模块2、子模块3、子模块4和子模块5,其中,
子模块1用于实现以下功能:
随机生成个体I=(n,H),其中n=N,hi∈{0,1};
采用实数编码方式,将混合时序约束的可分任务调度问题表示成一个向量I=(n,H),其中,n表示参与计算的从处理机数目,种群初始化时将其设置为从处理机总数N,H=(h2,h3,...,hN)表示一种混合时序约束条件,hi∈{1,0},若hi=1,表示从处理机Pi-1和Pi满足约束条件I;反之hi=0,表示处理机Pi-1和Pi满足约束条件II;
所述的子模块2用于实现以下功能:
对于给定的n和H,对应唯一一种混合时序约束条件C;按照混合约束条件C得到的任务分配方案中的n-1个等式连同共n个等式表示成如下标准形式:
A·α=b
若混合约束条件为C=(Γ2(I),...,Γk(I),Γk+1(II),Γk+2(II),...,Γk+m(II),Γk+m+1(I),...,Γn(I)),则A和b分别表示如下:
b = 0 , . . . , 0 , r 1 - r k + 1 z + w , r 1 - r k + 2 z + w , . . . , r 1 - r k + m z + w , 0 , . . . , 0 , W total T
所述的子模块3用于实现以下功能:
通过线性规划方法求解该标准式得到任务分配方案α的解;
所述的子模块4用于实现以下功能:
验证求解出的α是否满足模型所有的约束条件(1)~(7),若满足模型的所有约束条件,则个体I对应唯一一个混合时序可分任务调度图,调度方案α即为可行解,将该方案对应的任务完成时间T=r1+(z+w)α1作为个体I的适应度值;如果α不满足模型的部分约束条件,则表明并不需要这么多的从处理机参与计算,令n=n-1,更新个体I,进入子模块2;
所述的子模块5用于实现以下功能:
重复以上子模块,直至求出满足模型全部约束条件的PopSize个个体,组成初始种群P(0)。
9.如权利要求7所述的系统,其特征在于,所述的交叉模块中所述的交叉规则为:
随机生成两个整数p和q满足2≤p<q≤N作为交叉点;
将两个父代个体交叉点之间的基因进行交换,生成两个后代个体;
由于个体第1位表示参与计算的从处理机数目,因此交叉后的后代个体第一位均赋值为处理机总数N。
10.如权利要求7所述的系统,其特征在于,所述的变异模块中所述的变异规则为:
随机生成一个整数p满足2≤p≤N作为变异点;
将个体在该点的基因位取反,产生新的后代个体;
将后代个体的第一位赋值为处理机总数N。
CN201410715309.9A 2014-11-28 2014-11-28 一种可分任务调度模型的求解方法及系统 Expired - Fee Related CN104461720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410715309.9A CN104461720B (zh) 2014-11-28 2014-11-28 一种可分任务调度模型的求解方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410715309.9A CN104461720B (zh) 2014-11-28 2014-11-28 一种可分任务调度模型的求解方法及系统

Publications (2)

Publication Number Publication Date
CN104461720A true CN104461720A (zh) 2015-03-25
CN104461720B CN104461720B (zh) 2017-08-25

Family

ID=52907821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410715309.9A Expired - Fee Related CN104461720B (zh) 2014-11-28 2014-11-28 一种可分任务调度模型的求解方法及系统

Country Status (1)

Country Link
CN (1) CN104461720B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445070A (zh) * 2016-09-12 2017-02-22 华侨大学 一种硬实时系统资源受限偶发任务能耗优化调度方法
CN107330560A (zh) * 2017-07-04 2017-11-07 北京理工大学 一种考虑时序约束的异构飞行器多任务协同分配方法
CN109270896A (zh) * 2018-07-10 2019-01-25 中国人民解放军战略支援部队航天工程大学 一种任务调度优化模型的优化约束确定方法
CN109559062A (zh) * 2019-01-07 2019-04-02 大连理工大学 一种合作式物流问题的任务分配与路径规划方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848403A (en) * 1996-10-04 1998-12-08 Bbn Corporation System and method for genetic algorithm scheduling systems
CN102289749A (zh) * 2011-09-01 2011-12-21 西安电子科技大学 基于多智能体协同进化的任务排序方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848403A (en) * 1996-10-04 1998-12-08 Bbn Corporation System and method for genetic algorithm scheduling systems
CN102289749A (zh) * 2011-09-01 2011-12-21 西安电子科技大学 基于多智能体协同进化的任务排序方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445070A (zh) * 2016-09-12 2017-02-22 华侨大学 一种硬实时系统资源受限偶发任务能耗优化调度方法
CN107330560A (zh) * 2017-07-04 2017-11-07 北京理工大学 一种考虑时序约束的异构飞行器多任务协同分配方法
CN107330560B (zh) * 2017-07-04 2020-05-12 北京理工大学 一种考虑时序约束的异构飞行器多任务协同分配方法
CN109270896A (zh) * 2018-07-10 2019-01-25 中国人民解放军战略支援部队航天工程大学 一种任务调度优化模型的优化约束确定方法
CN109270896B (zh) * 2018-07-10 2020-06-16 中国人民解放军战略支援部队航天工程大学 一种任务调度优化模型的优化约束确定方法
CN109559062A (zh) * 2019-01-07 2019-04-02 大连理工大学 一种合作式物流问题的任务分配与路径规划方法
CN109559062B (zh) * 2019-01-07 2021-05-11 大连理工大学 一种合作式物流问题的任务分配与路径规划方法

Also Published As

Publication number Publication date
CN104461720B (zh) 2017-08-25

Similar Documents

Publication Publication Date Title
Çil et al. Mathematical model and bee algorithms for mixed-model assembly line balancing problem with physical human–robot collaboration
CN104636813A (zh) 一种求解车间作业调度问题的混合遗传模拟退火算法
CN107301504B (zh) 基于混合蛙跳—路径重连的生产运输协同调度方法和系统
Lihong et al. An improved genetic algorithm for integrated process planning and scheduling
CN107102552B (zh) 基于混合集合蛙跳与变邻域算法的平行机调度方法及系统
CN105094970B (zh) 一种求解分布式系统下可分任务多趟调度模型的方法
CN111756653B (zh) 基于图神经网络深度强化学习的多coflow调度方法
Yuan et al. A co-evolutionary genetic algorithm for the two-machine flow shop group scheduling problem with job-related blocking and transportation times
CN104461720A (zh) 一种可分任务调度模型的求解方法及系统
CN110134146A (zh) 一种不确定环境下的分布式多无人机任务分配方法
CN112784968A (zh) 一种加速分布式深度神经网络训练的混合流水线并行方法
CN106647262A (zh) 一种面向敏捷卫星多目标任务规划的差分进化方法
CN113671987B (zh) 基于非死锁合同网算法的多机分布式时序任务分配方法
CN103530702A (zh) 一种基于瓶颈设备分解的大规模作业车间调度方法
CN102256369A (zh) 基于能量和通信开销的无线传感器网格任务调度方法
CN105391090B (zh) 一种智能电网多智能体多目标一致性优化方法
CN103235743A (zh) 一种基于分解和最优解跟随策略的多目标测试任务调度方法
CN103679564B (zh) 一种用于配电网拓扑分析分布式计算的任务分配方法
CN107704985A (zh) 一种动态策略的差分进化柔性车间优化调度方法
CN106610651A (zh) 一种混合遗传算法求解多目标柔性作业车间调度问题
Shang et al. Production scheduling optimization method based on hybrid particle swarm optimization algorithm
CN113327112A (zh) 一种基于跨链互操作的综合能源微网群高信誉度分布式交易方法
CN102999477B (zh) 一种基于mcmc的并行分类方法
CN110705766B (zh) 气田集输系统优化方法及装置
CN104536831B (zh) 一种基于多目标优化的多核SoC软件映射方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170825

Termination date: 20181128

CF01 Termination of patent right due to non-payment of annual fee