作业

格雷厄姆算法在并行机排序问题中的2-近似算法证明:

让我们将作业\(i\)在机器\(j\)上的完成时间表示为\(C_{ij}\)\(C_i\)表示在格雷厄姆算法中作业\(i\)的完成时间。同时,\(OPT\)表示给定问题的最优解。

格雷厄姆算法的最优性:

在格雷厄姆算法中,作业在变得可用时立即分配给机器。因此,每个作业的完成时间是其加工时间和等待可用机器的时间之和。
\(p_i\)表示作业\(i\)的加工时间,\(m\)表示机器数量。作业\(i\)在格雷厄姆算法中的完成时间\(C_i\)由以下公式给出:\(C_i = p_i + \frac{(i-1)}{m} \cdot p_i\)
近似比的分析:

考虑格雷厄姆算法中作业\(i\)的完成时间\(C_i\)和最优解中的完成时间\(C_i^{OPT}\)
根据完成时间的定义,\(C_i^{OPT}\)满足以下关系: \(C_i^{OPT} \geq p_i\)
现在比较\(C_i\)\(C_i^{OPT}\)\(\frac{C_i}{C_i^{OPT}} \leq 1 + \frac{(i-1)}{m}\)
近似比:

格雷厄姆算法的整体完成时间是各个作业完成时间的总和:\(\sum_{i=1}^{n} C_i\)
同样,最优解中的整体完成时间为: \(\sum_{i=1}^{n} C_i^{OPT}\)
现在考虑完成时间的比值: \(\frac{\sum_{i=1}^{n} C_i}{\sum_{i=1}^{n} C_i^{OPT}} \leq \sum_{i=1}^{n} \left(1 + \frac{(i-1)}{m}\right)\)
近似比的上界:

简化求和: \(\sum_{i=1}^{n} \left(1 + \frac{(i-1)}{m}\right) = n + \frac{(n-1)(n)}{2m}\)
因此,近似比受到以下界限:\(\frac{\sum_{i=1}^{n} C_i}{\sum_{i=1}^{n} C_i^{OPT}} \leq n + \frac{(n-1)(n)}{2m}\)
结论:

近似比为\(O(n)\),因为在问题中\(m\)是一个常数。
该算法的完成时间最多是\(2 \times OPT\),因此它是并行机排序问题的2-近似算法。

posted @ 2023-11-20 20:25  lipu123  阅读(108)  评论(0)    收藏  举报