本文研究了两台平行机上带约定时间的多维任务负载平衡问题,该问题是传统负载平衡问题的推广,目标是最大化机器的提前工作量。带有约定时间的多维任务负载平衡问题涉及到在多个维度上平衡任务的分配,同时满足任务的约定时间。这种问题在许多实际应用中都很常见,比如生产调度、交通规划、资源分配等领域。对于该问题,当任务的维数为 时,本文设计了一个在线算法,算法的竞争比为(√ 5-1)l,然后设计了一个动态规划算法以得到问题的最优解,最后在动态规划的基础上采用舍入取整技术设计了一个FPTAS。 In this paper, we study multidimensional task loading problem on two parallel machines with a common due date. This problem is a generalization of the traditional load balancing problem, with the goal of maximizing the advance workload of machines. The multi-dimensional task load balanc-ing problem with a common due date involves balancing the distribution of tasks in multiple di-mensions while satisfying the due date time of tasks. This kind of problem is common in many prac-tical applications, such as production scheduling, transportation planning, resource allocation. For this problem, when the dimension of the task is l, we first designs an online algorithm with a com-petitive ratio of (√ 5-1)l , and the dynamic programming algorithm is designed to obtain the op-timal solution of the problem. Finally, on the basis of dynamic programming, the FPTAS is designed by rounding technique.
本文研究了两台平行机上带约定时间的多维任务负载平衡问题,该问题是传统负载平衡问题的推广,目标是最大化机器的提前工作量。带有约定时间的多维任务负载平衡问题涉及到在多个维度上平衡任务的分配,同时满足任务的约定时间。这种问题在许多实际应用中都很常见,比如生产调度、交通规划、资源分配等领域。对于该问题,当任务的维数为 l 时,本文设计了一个在线算法,算法的竞争比为 ( 5 − 1 ) l ,然后设计了一个动态规划算法以得到问题的最优解,最后在动态规划的基础上采用舍入取整技术设计了一个FPTAS。
多维任务,在线算法,负载平衡,约定时间
Jianli Wu, Bingfei Dai*
School of Mathematics and Computer Science, Chuxiong Normal University, Chuxiong Yunnan
Received: Nov. 25th, 2023; accepted: Dec. 19th, 2023; published: Dec. 26th, 2023
In this paper, we study multidimensional task loading problem on two parallel machines with a common due date. This problem is a generalization of the traditional load balancing problem, with the goal of maximizing the advance workload of machines. The multi-dimensional task load balancing problem with a common due date involves balancing the distribution of tasks in multiple dimensions while satisfying the due date time of tasks. This kind of problem is common in many practical applications, such as production scheduling, transportation planning, resource allocation. For this problem, when the dimension of the task is l , we first designs an online algorithm with a competitive ratio of ( 5 − 1 ) l , and the dynamic programming algorithm is designed to obtain the optimal solution of the problem. Finally, on the basis of dynamic programming, the FPTAS is designed by rounding technique.
Keywords:Multidimensional Task, Online Algorithm, Load Balancing, Due Date
Copyright © 2023 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
带约定时间的负载平衡问题是一类具有广泛的实际问题。该问题常常发生在生产贸易中,客户与工厂约定一个交货时间d,在d之前交付的商品,客户支付较高的价格,在d之后交付的商品,客户支付较低的价格。工厂为了最大化利润,需要制定生产计划,以使得在约定时间之前交付更多的商品。
对于带约定时间的两台平行机负载平衡问题,Chen等人在文 [
向量负载平衡问题是把n个l-维向量分配给m台机器加工以使得所有机器、所有维数的最大负载尽可能小。Graham等人在文 [
Li等人在文 [
在实际问题中,一项任务可能需要多种资源来完成,因此需要用多维向量描述任务的需求。在本文中,每个多维任务都有一个共同的约定时间,算法需要把每个多维任务调度到一台机器上加工。基于此,本文研究两台平行机上带约定时间的多维任务提前工作量最大化负载平衡问题,该问题记作 P 2 | d j = d , V C | max ( X ) 。
两台平行机上带约定时间的多维任务负载平衡问题可以描述为:给定一个实例 I = ( M , J , p , d ) ,两台平行机构成的集合 M = { M 1 , M 2 } ,n项任务构成的集合 J = { J 1 , J 2 , ⋯ , J n } ,一个共同的约定时间d。 p j = ( p j 1 , p j 2 , ⋯ , p j l ) T 是对应于任务 J j ( j = 1 , ⋯ , n ) 的一个l-维向量。任务 J j 到达后,算法立刻分配给一台机器加工, S i ( i = 1 , 2 ) 表示分配给机器 M i 的任务集。
L i max 表示机器 M i 负载向量的最大分量,
L i max = max k ∑ J j ∈ S i p j k ( k = 1 , 2 , ⋯ , l )
对于两台平行机带约定时间的多维任务负载平衡问题,问题的目标是最大化X。
X = ∑ i = 1 2 min { L i max , d }
下面给出问题 P 2 | d j = d , V C | max ( X ) 的一个实例:M1、M2表示两台平行机,表1给出3项任务对应的向量。在这里,任务维数 l = 3 ,约定时间 d = 5 。根据目标函数的定义,该问题的最优解是把任务J1和J3分配给M1,任务J2分配给M2,最优值目标函数值为8。
任务J1 | 任务J2 | 任务J3 | |
---|---|---|---|
p | (2, 1, 1) | (1, 5, 2) | (1, 0, 1) |
d | 5 | 5 | 5 |
表1. 带约定时间的多维负载平衡实例
在这一部分,本文根据实例 I = ( M , J , p , d ) ,设计了一个辅助实例 I ^ = ( M , J , p ^ , d ) 。对于实例I,任务 J j 用l-维向量 p j = ( p j 1 , p j 2 , ⋯ , p j l ) T 描述。对于实例 I ^ ,任务 J j 用1维向量 p ^ j = ∑ k = 1 l p j k 描述。根据实
例I的目标函数定义,实例 I ^ 目标函数是最大化 ∑ i = 1 2 min { ∑ j ∈ S i p ^ j , d } 。
在线算法的设计策略如下:我们用EFF-LPT [
MT-LPT在线算法
Step1:对于任意输入实例I,设计辅助实例 I ^ ;
Step2:运用EFF-LPT [
Step2.1:任务 J j ( j = 1 , ⋯ , n ) 到达时,根据 p j 构造 p ^ j 。
Step2.2: i = 1 , i ≤ 2 , i + + ;
如果 t ( S i j − 1 ) + p ^ j ≤ ( 5 − 1 ) l ,分配 J j 给机器 M i 。
Step2.3:否则,分配 J j 给负载小的机器。
Step3:对于 ( S 1 , S 2 ) ,分别输出实例I与 I ^ 的目标值 O U T ( I ) 、 O U T ( I ^ ) 。
定理1对于问题 P 2 | d j = d , V C | max ( X ) ,在线算法MT-LPT的竞争比为 ( 5 − 1 ) l 。
证明:我们由文 [
O P T ( I ^ ) ≤ ( 5 − 1 ) O U T ( I ^ ) (1)
假设 O U T ( I ) = min { L 1 max , d } + min { L 2 max , d } ,由实例I目标值的定义,则
l O U T ( I ) ≥ min { ∑ J j ∈ S 1 ∑ k = 1 l p j k , d } + min { ∑ J j ∈ S 2 ∑ k = 1 l p j k , d } (2)
由实例 I ^ 目标值的定义,则
O U T ( I ^ ) = min { ∑ J j ∈ S 1 ∑ k = 1 l p j k , d } + min { ∑ J j ∈ S 2 ∑ k = 1 l p j k , d } (3)
联立(2)和(3)式,则有
O U T ( I ^ ) ≤ l O U T ( I ) (4)
接下来,本文用反证法证明 O P T ( I ) ≤ O P T ( I ^ ) 成立。
假设 O P T ( I ) > O P T ( I ^ ) 。
令 ( S 1 * , S 2 * ) 表示实例I的最优解。由实例I目标值的定义可知,
O P T ( I ) = min { L 1 max , d } + min { L 2 max , d } ≤ min { ∑ J j ∈ S 1 * ∑ k = 1 l p j k , d } + min { ∑ J j ∈ S 2 * ∑ k = 1 l p j k , d } ≤ O P T ( I ^ )
这与假设矛盾。因此,则有
O P T ( I ) ≤ O P T ( I ^ ) (5)
由(1)、(4)、(5)式,则有
O U T ( I ) ≤ ( 5 − 1 ) l O P T ( I ) (6)
由以上证明可知,对于带约定时间的多维任务负载平衡问题,MT-LPT的竞争比为 ( 5 − 1 ) l 。
我们设计了一个动态规划算法DY-AL求解问题 P 2 | d j = d , V C | max ( X ) 。算法思想如下:把n项任务所有的可行解尝试一遍,从而求出 P 2 | d j = d , V C | max ( X ) 的最优解。下面给出具体的算法步骤和一些符号说明。
ε i ( i = 1 , 2 ) 是第i列元素为1,其它的元素是0的 l × 2 维矩阵。我们定义一个新的运算,令 p j ⊗ ε i 为列向量 p j 每个分量和 ε i 的第i列元素对应相乘。
举个例子 p 1 ⊗ ε 1 = ( p 11 p 12 ⋮ p 1 l ) ⊗ ( 1 0 1 0 ⋮ ⋮ 1 0 ) = ( p 11 0 p 12 0 ⋮ ⋮ p 1 l 0 ) 。
令 Ψ j ( j = 0 , 1 , ⋯ , n ) 表示加工完前j项任务后所有可能的负载矩阵构成的集合。
DY-AL动态规划算法
Step1:置 Ψ 0 = { ( 0 ) l × 2 } ;
Step2:当任务 J j ( j = 1 , ⋯ , n ) 到达时,集合 Ψ j 可由 Ψ j − 1 递推得到,计算方法如下:
Ψ j = Ψ j − 1 + { p j ⊗ ε i | i = 1 , 2 } ;
Step3:对集合 Ψ n 所有的负载矩阵,提取第一列的最大值得到集合 { c 1 , c 2 , ⋯ , c | Ψ n | } ,提取第二列的最大值得到集合 { c ˜ 1 , c ˜ 2 , ⋯ , c ˜ | Ψ n | } , | Ψ n | 表示空间 Ψ n 中负载矩阵的个数。令 α = max { c 1 , c 2 , ⋯ , c | Ψ n | } , β = max { c ˜ 1 , c ˜ 2 , ⋯ , c ˜ | Ψ n | } 。最后输出 min { α , d } + min { β , d } 。
由动态规划算法的步骤可知,问题 P 2 | d j = d , V C | max ( X ) 的最优解可由DY-AL得到。
当任务维数为给定常数时,在动态规划的基础上采用舍入取整技术,设计了一个全多项式时间近似方案(FPTAS)。
定理2 当l给定值时,问题 P 2 | d j = d , V C | max ( X ) 在 O ( n 2 l + 1 ( l 2 ε ) 2 l ) 时间内存在一个FPTAS。
证明:在这里,令L是MT-LPT处理实例I得到的输出值。由定理1可知,
L ≤ O P T ( I ) ≤ ( 5 − 1 ) l L (7)
根据实例 I = ( M , J , p , d ) 设计辅助实例 I ′ = ( M , J , p ′ , d ) 。对于实例I来说,任务 J j 与向量 p j = ( p j 1 , p j 2 , ⋯ , p j l ) T 对应。对于辅助实例 I ′ 来说,任务 J j 与向量 p ′ j = ( p ′ j 1 , p ′ j 2 , ⋯ , p ′ j l ) T 对应。我们令
α = 5 − 1 ,而且令 p ′ j k = ⌊ p j k ε L / α n l ⌋ ⋅ ε L α n l ( k = 1 , 2 , ⋯ , l ) 。由 p ′ j k = ⌊ p j k ε L / α n l ⌋ ⋅ ε L α n l 的定义,我们可以得到 p ′ j k ≤ p j k ≤ p ′ j k + ε L α n l 。
假设 ( S ′ 1 , S ′ 2 ) 是算法DY-AL求解实例 I ′ = ( M , J , p ′ , d ) 的最优解,则最优值
O P T ( I ′ ) = min { max k ∑ j ∈ S ′ 1 p ′ j k , d } + min { max k ∑ j ∈ S ′ 2 p ′ j k , d } 。
假设实例I的最优解是 ( O 1 , O 2 ) ,则最优值
O P T ( I ) = min { max k ∑ j ∈ O 1 p ′ j k , d } + min { max k ∑ j ∈ O 2 p ′ j k , d } 。
依据实例 I ′ 的最优解 ( S ′ 1 , S ′ 2 ) 调度实例I,则有
min { max k ∑ j ∈ S ′ 1 p ′ j k , d } + min { max k ∑ j ∈ S ′ 2 p ′ j k , d } ≤ min { max k ∑ j ∈ S ′ 1 ( p ′ j k + ε L α n l ) , d } + min { max k ∑ j ∈ S ′ 2 ( p ′ j k + ε L α n l ) , d } ≤ min { max k ∑ j ∈ S ′ 1 p ′ j k , d } + min { max k ∑ j ∈ S ′ 2 p ′ j k , d } + n ε L α n l = min { max k ∑ j ∈ S ′ 1 p ′ j k , d } + min { max k ∑ j ∈ S ′ 2 p ′ j k , d } + ε L α l
≤ min { max k ∑ j ∈ O 1 p ′ j k , d } + min { max k ∑ j ∈ O 2 p ′ j k , d } + ε L α l ≤ min { max k ∑ j ∈ O 1 p j k , d } + min { max k ∑ j ∈ O 2 p j k , d } + ε L α l ≤ O P T ( I ) + ε O P T ( I ) = ( 1 + ε ) O P T ( I )
下面分析算法的运行时间,由定理2中的(7)式可知, O P T ( I ′ ) ≤ O P T ( I ) ≤ α l L ,所以算法DY-AL求
解实例 I ′ 时,只计算负载分量不超过 α l L 的可行解,而且机器的各负载分量又是 ε L α n l 的整数倍,则机器负载最多有 α l L / ε L α n l + 1 = α 2 n l 2 ε + 1 种可能。又因为每个负载矩阵的元素个数为2l,而且任务总个数为n,所以实例 I ′ 能够在 O ( n ( α 2 n l 2 ε + 1 ) 2 l ) = O ( n 2 l + 1 ( l 2 ε ) 2 l ) 时间找到最优解。
本文研究了两台平行机上带约定时间的多维任务负载平衡问题,设计了一个在线算法,算法的竞争比为 ( 5 − 1 ) l ,然后给出该问题的一个FPTAS。对于带约定时间的多维任务负载平衡问题,以后我们希望设计一个近似算法。
楚雄师范学院研究项目(XJYB2004)资助。
吴建丽,代兵飞. 带约定时间的多维任务负载平衡问题Multidimensional Task Load Balancing Problem with a Common Due Date[J]. 应用数学进展, 2023, 12(12): 5186-5192. https://doi.org/10.12677/AAM.2023.1212509
https://doi.org/10.1007/s10951-015-0464-7
https://doi.org/10.1016/j.dam.2020.05.023
https://doi.org/10.1007/978-3-030-93176-6_13
https://doi.org/10.1016/S0167-5060(08)70356-X
https://doi.org/10.1137/S0097539799356265
https://doi.org/10.1007/978-3-642-40328-6_21
https://doi.org/10.1109/FOCS.2015.39
https://doi.org/10.1007/s00453-016-0116-0
https://doi.org/10.1007/s10288-017-0356-0
https://doi.org/10.1080/00207160.2019.1711373