近似算法:调度与树增强问题的高效求解
1. (2 + ϵ)-近似算法求解调度问题
1.1 算法概述
在调度问题 1|| fj 中,我们旨在找到一个多项式时间的 (2 + ϵ)-近似算法。具体做法是通过一种标准的舍入方式简化输入,然后对简化后的输入进行线性规划(LP)松弛,并运行原始对偶算法。该算法仅包含多项式数量的区间索引变量。
1.2 输入简化步骤
- 构建时间索引分区 :
- 固定常数 ϵ > 0,针对每个作业 j,依据其成本函数对时间索引 {1, …, T} 构建 n 个分区。
- 定义不同类别的时间索引集合:
- 类 0:I0j = {t : fj(t) = 0}。
- 类 1:I1j = {t : 0 < fj(t) ≤ 1}。
- 类 k(k = 2, 3, …):Ikj = {t : (1 + ϵ)k−2 < fj(t) ≤ (1 + ϵ)k−1}。作业 j 的类别数量可由 1 + log1+ϵ fj(T) 界定。
- 令 ℓkj 表示 Ikj 中的最小元素(若集合非空),Tj 为所有左端点 ℓkj 的集合,最终 T = ∪nj=1Tj,且时间 t = 1 属于 T。将 T 中的元素索引为 T := {t1, …, tτ},其中 1 = t1 < t2 < … < tτ。
- 计算主分区
超级会员免费看
订阅专栏 解锁全文

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



