并行机器的最优批量调度策略
1. 问题概述
在批量调度问题中,目标是为每个包含最多 B 个作业的批次找到可行的调度方案。批次的开始和结束时间必须满足批次中每个作业的释放时间和截止时间。利用标准技术,这些可行性算法可用于最小化诸如最大延迟(Lmax)和最大完成时间(Cmax)等目标。当作业长度不同时,确定可行性成为一个 NP 完全问题,不过存在近似算法。
出于节能考虑,有研究关注最小化机器使用时间,即激活时间。在作业长度相同的情况下,这意味着使用最少的批次来调度所有作业。
一个批次(或批次实例)Bα 在调度中有三个属性:
- 批次中包含的作业集合,用 |Bα| 表示批次中的作业数量,在可行调度中,|Bα| ≤ B。
- 批次的开始时间 s(Bα),对于批次中的每个作业 Jj,完成时间 Cj = s(Bα) + p,且在可行调度中,rj + p ≤ Cj ≤ dj。
- 批次被调度的机器 m(Bα),占用该机器上的时间间隔 [s(Bα), s(Bα) + p),在可行调度中,同一机器上调度的批次时间间隔必须不相交。
2. 相关工作
- Ikura 和 Gimple 最初给出了一个 O(n²) 算法,用于在单处理器上调度符合条件的作业以最小化 Cmax。
- Lee 等人使用动态规划为同一问题找到了一个 O(nB) 算法。
- Baptiste 表明具有任意释放时间的问题对于一类广泛的和函数目标(如 ∑ Cj)是多项式时间可解的,但他的算法复杂度极高。
- Condotta 等人针对一般释放时间和截止时间的可行性问题开发了改进算法,单机器情况下
超级会员免费看
订阅专栏 解锁全文
1725

被折叠的 条评论
为什么被折叠?



