Jump to content

Identical-machines scheduling

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Erel Segal (talk | contribs) at 15:36, 17 August 2021 (Minimizing the maximum completion time (makespan)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Identical-machines scheduling is an optimization problem in computer science and operations research. We are given n jobs J1, J2, ..., Jn of varying processing times, which need to be scheduled on m identical machines, such that a certain objective function is optimized, for example, the makespan is minimized.

Identical machine scheduling is a special case of uniform machine scheduling, which is itself a special case of optimal job scheduling. In the general case, the processing time of each job may be different on different machines; in the case of identical machine scheduling, the processing time of each job is the same on each machine. Therefore, identical machine scheduling is equivalent to multiway number partitioning. A special case of identical machine scheduling is single-machine scheduling.

In the standard three-field notation for optimal job scheduling problems, the identical-machines variant is denoted by P in the first field. For example, " P||" is an identical machine scheduling problem with no constraints, where the goal is to minimize the maximum completion time.

In some variants of the problem, instead of minimizing the maximum completion time, it is desired to minimize the average completion time (averaged over all n jobs); it is denoted by P||. More generally, when some jobs are more important than others, it may be desired to minimize a weighted average of the completion time, where each job has a different weight. This is denoted by P||.

Algorithms

Minimizing average and weighted-average completion time

Minimizing the average completion time 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||.

  • There can be many SPT schedules; finding the SPT schedule with the smallest finish time (also called OMFT - optimal mean finish time) is NP-hard.

Minimizing the weighted average completion time is NP-hard even on identical machines, by reduction from the knapsack problem.[1] It is NP-hard even if the number of machines is fixed and at least 2, by reduction from the partition problem.[2]

Sahni[2] presents an exponential-time algorithm and a polynomial-time approximation scheme for solving both these NP-hard problems on identical machines:

  • Optimal average-completion-time;
  • Weighted-average-completion-time.

Minimizing the maximum completion time (makespan)

Minimizing the maximum completion time is NP-hard even for identical machines, by reduction from the partition problem. Many exact and approximation algorithms are known.

Graham proved that:

  • Any list scheduling algorithm (an algorithm that processes the jobs in an arbitrary fixed order, and schedules each job to the first available machine) is a approximation for identical machines.[3] The bound is tight for any m. This algorithm runs in time O(n).
  • The specific list-scheduling algorithm called Longest Processing Time First (LPT), which sorts the jobs by descending length, is a approximation for identical machines.[4]: sec.5  It is also called greedy number partitioning.

Coffman, Garey and Johnson[5] presented a different algorithm, using techniques from bin packing, which has an approximation factor of 1.220; they conjectured that its actual approximation factor is in fact 20/17 ~ 1.176.

Sahni[2] presented a PTAS that attains (1+ε)OPT in time . It is an FPTAS if m is fixed. For m=2, the run-time improves to . The algorithm uses a technique called interval partitioning.

Hochbaum and Shmoys[6] presented several approximation algorithms for any number of identical machines (even when the number of machines is not fixed):

  • For any r >0, an algorithm with approximation ratio at most (6/5+2r ) in time .
  • For any r >0, an algorithm with approximation ratio at most (7/6+2r ) in time .
  • For any ε>0, an algorithm with approximation ratio at most (1+ε) in time . This is a PTAS. Note that, when the number of machines is a part of the input, the problem is strongly NP-hard, so no FPTAS is possible.

Leung[7] improved the run-time of this algorithm to .

Huang and Lu[8] presented a simple polynomial-time algorithm that attains an 11/9 approximation in time O(m log m + n), through the more general problem of maximin-share allocation of chores.

Maximizing the minimum completion time

Maximizing the minimum completion time is applicable in sequencing of maintenance actions for modular gas turbine aircraft engines.[9] Deuermeyer, Friesen, and Langston[10] show that the LPT algorithm (greedy number partitioning) attains at least 3/4 of the optimum.

Woeginger[11] presented a PTAS that attains an approximation factor of in time , where a huge constant that is exponential in the required approximation factor ε. The algorithm uses Lenstra's algorithm for integer linear programming.

General objective functions

Alon, Azar, Woeginger and Yadid[12] 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 , minimizing , maximizing , and maximizing . 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/ε.

References

  1. ^ a b 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.
  2. ^ a b c 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.
  3. ^ 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.
  4. ^ 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.
  5. ^ Coffman, Jr., E. G.; Garey, M. R.; Johnson, D. S. (1978-02-01). "An Application of Bin-Packing to Multiprocessor Scheduling". SIAM Journal on Computing. 7 (1): 1–17. doi:10.1137/0207001. ISSN 0097-5397.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  6. ^ 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.
  7. ^ 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.
  8. ^ 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: 630–631. arXiv:1907.04505. doi:10.1145/3465456.3467555. ISBN 978-1-4503-8554-1.
  9. ^ 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.
  10. ^ Deuermeyer, Bryan L.; Friesen, Donald K.; Langston, Michael A. (1982-06-01). "Scheduling to Maximize the Minimum Processor Finish Time in a Multiprocessor System". SIAM Journal on Algebraic and Discrete Methods. 3 (2): 190–196. doi:10.1137/0603019. ISSN 0196-5212.
  11. ^ 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.
  12. ^ 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.