Minimizing the average completion time (P|| ∑ C i {\displaystyle \sum C_{i}} ) can be done in polynomial time. The SPT algorithm (Shortest Processing Time First), sorts the jobs by their length, shortest first, and then assigns them to the processor with the earliest end time so far. It runs in time O(n log n), and minimizes the average completion time on identical machines,1 P|| ∑ C i {\displaystyle \sum C_{i}} .
Minimizing the weighted average completion time is NP-hard even on identical machines, by reduction from the knapsack problem.2 It is NP-hard even if the number of machines is fixed and at least 2, by reduction from the partition problem.3
Sahni4 presents an exponential-time algorithm and a polynomial-time approximation scheme for solving both these NP-hard problems on identical machines:
Minimizing the maximum completion time (P|| C max {\displaystyle C_{\max }} ) is NP-hard even for identical machines, by reduction from the partition problem. Many exact and approximation algorithms are known.
Graham proved that:
Coffman, Garey and Johnson presented a different algorithm called multifit algorithm, using techniques from bin packing, which has an approximation factor of 13/11≈1.182.
Huang and Lu7 presented a simple polynomial-time algorithm that attains an 11/9≈1.222 approximation in time O(m log m + n), through the more general problem of maximin-share allocation of chores.
Sahni8 presented a PTAS that attains (1+ε)OPT in time O ( n ⋅ ( n 2 / ϵ ) m − 1 ) {\displaystyle O(n\cdot (n^{2}/\epsilon )^{m-1})} . It is an FPTAS if m is fixed. For m=2, the run-time improves to O ( n 2 / ϵ ) {\displaystyle O(n^{2}/\epsilon )} . The algorithm uses a technique called interval partitioning.
Hochbaum and Shmoys9 presented several approximation algorithms for any number of identical machines (even when the number of machines is not fixed):
Leung10 improved the run-time of this algorithm to O ( ( n / ε ) ( 1 / ε ) log ( 1 / ε ) ) {\displaystyle O\left((n/\varepsilon )^{(1/\varepsilon )\log {(1/\varepsilon )}}\right)} .
Maximizing the minimum completion time (P|| C min {\displaystyle C_{\min }} ) is applicable when the "jobs" are actually spare parts that are required to keep the machines running, and they have different life-times. The goal is to keep machines running for as long as possible.11 The LPT algorithm attains at least 3 m − 1 4 m − 2 {\displaystyle {\frac {3m-1}{4m-2}}} of the optimum.
Woeginger12 presented a PTAS that attains an approximation factor of 1 − ε {\displaystyle 1-{\varepsilon }} in time O ( c ε n log k ) {\displaystyle O(c_{\varepsilon }n\log {k})} , where c ε {\displaystyle c_{\varepsilon }} a huge constant that is exponential in the required approximation factor ε. The algorithm uses Lenstra's algorithm for integer linear programming.
Alon, Azar, Woeginger and Yadid13 consider a more general objective function. Given a positive real function f, which depends only on the completion times Ci, they consider the objectives of minimizing ∑ i = 1 m f ( C i ) {\displaystyle \sum _{i=1}^{m}f(C_{i})} , minimizing max i = 1 m f ( C i ) {\displaystyle \max _{i=1}^{m}f(C_{i})} , maximizing ∑ i = 1 m f ( C i ) {\displaystyle \sum _{i=1}^{m}f(C_{i})} , and maximizing min i = 1 m f ( C i ) {\displaystyle \min _{i=1}^{m}f(C_{i})} . They prove that, if f is non-negative, convex, and satisfies a strong continuity assumption that they call "F*", then both minimization problems have a PTAS. Similarly, if f is non-negative, concave, and satisfies F*, then both maximization problems have a PTAS. In both cases, the run-time of the PTAS is O(n), but with constants that are exponential in 1/ε.
Horowitz, Ellis; Sahni, Sartaj (1976-04-01). "Exact and Approximate Algorithms for Scheduling Nonidentical Processors". Journal of the ACM. 23 (2): 317–327. doi:10.1145/321941.321951. ISSN 0004-5411. S2CID 18693114. https://doi.org/10.1145%2F321941.321951 ↩
Sahni, Sartaj K. (1976-01-01). "Algorithms for Scheduling Independent Tasks". Journal of the ACM. 23 (1): 116–127. doi:10.1145/321921.321934. ISSN 0004-5411. S2CID 10956951. https://doi.org/10.1145%2F321921.321934 ↩
Graham, Ron L. (1966). "Bounds for Certain Multiprocessing Anomalies". Bell System Technical Journal. 45 (9): 1563–1581. doi:10.1002/j.1538-7305.1966.tb01709.x. ISSN 1538-7305. /wiki/Ronald_Graham ↩
Graham, Ron L. (1969-03-01). "Bounds on Multiprocessing Timing Anomalies". SIAM Journal on Applied Mathematics. 17 (2): 416–429. doi:10.1137/0117039. ISSN 0036-1399. /wiki/Ronald_Graham ↩
Huang, Xin; Lu, Pinyan (2021-07-18). "An Algorithmic Framework for Approximating Maximin Share Allocation of Chores". Proceedings of the 22nd ACM Conference on Economics and Computation. EC '21. Budapest, Hungary: Association for Computing Machinery. pp. 630–631. arXiv:1907.04505. doi:10.1145/3465456.3467555. ISBN 978-1-4503-8554-1. S2CID 195874333. 978-1-4503-8554-1 ↩
Hochbaum, Dorit S.; Shmoys, David B. (1987-01-01). "Using dual approximation algorithms for scheduling problems theoretical and practical results". Journal of the ACM. 34 (1): 144–162. doi:10.1145/7531.7535. ISSN 0004-5411. S2CID 9739129. https://doi.org/10.1145%2F7531.7535 ↩
Leung, Joseph Y-T. (1989-05-08). "Bin packing with restricted piece sizes". Information Processing Letters. 31 (3): 145–149. doi:10.1016/0020-0190(89)90223-8. ISSN 0020-0190. https://www.sciencedirect.com/science/article/abs/pii/0020019089902238 ↩
Friesen, D. K.; Deuermeyer, B. L. (1981-02-01). "Analysis of Greedy Solutions for a Replacement Part Sequencing Problem". Mathematics of Operations Research. 6 (1): 74–87. doi:10.1287/moor.6.1.74. ISSN 0364-765X. https://pubsonline.informs.org/doi/abs/10.1287/moor.6.1.74 ↩
Woeginger, Gerhard J. (1997-05-01). "A polynomial-time approximation scheme for maximizing the minimum machine completion time". Operations Research Letters. 20 (4): 149–154. doi:10.1016/S0167-6377(96)00055-7. ISSN 0167-6377. http://www.sciencedirect.com/science/article/pii/S0167637796000557 ↩
Alon, Noga; Azar, Yossi; Woeginger, Gerhard J.; Yadid, Tal (1998). "Approximation schemes for scheduling on parallel machines". Journal of Scheduling. 1 (1): 55–66. doi:10.1002/(SICI)1099-1425(199806)1:1<55::AID-JOS2>3.0.CO;2-J. ISSN 1099-1425. https://onlinelibrary.wiley.com/doi/abs/10.1002/%28SICI%291099-1425%28199806%291%3A1%3C55%3A%3AAID-JOS2%3E3.0.CO%3B2-J ↩