时间表格析取推理在累积约束中的应用
1. 引言
在现实世界中,许多调度问题都涉及到累积资源。资源可以看作是任何可再生实体的抽象,如机器、电力,甚至人力,用于执行任务(也称为活动)。尽管许多任务可以同时在同一资源上调度,但在任何时刻,资源的总使用量都不能超过固定容量。
我们聚焦于一个具有离散有限容量 $C \in N$ 的单一累积资源和一组 $n$ 个任务 $T = {1, \ldots, n}$。每个任务 $i$ 有一个开始时间 $s_i \in Z$、固定持续时间 $d_i \in N$ 和结束时间 $e_i \in Z$,且满足等式 $s_i + d_i = e_i$。此外,每个任务 $i$ 在其处理时间内消耗固定数量的资源 $c_i \in N$,并且任务是非抢占式的,即它们在处理过程中不能被中断。
累积约束确保在任何时间 $t$,累积的资源消耗不超过最大容量 $C$,公式如下:
$\forall t \in Z : \sum_{i \in T : s_i \leq t < e_i} c_i \leq C$
然而,确保累积约束的边界一致性已经是 NP 难题。因此,在过去的二十年中,人们提出了许多松弛方法,以多项式时间去除不一致的开始和结束时间。以下是一些常见的过滤规则:
| 过滤规则 | 时间复杂度 | 特点 |
| ---- | ---- | ---- |
| 时间表格(Time - Tabling) | 最快 $O(n \log n)$,Letort 算法 $O(n^2)$ | 可扩展性好,但过滤能力有限 |
| 能量推理(Energetic Reasoning) | $O(n^3)$ | 过滤
超级会员免费看
订阅专栏 解锁全文
729

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



