Jump to content

Unrelated-machines scheduling

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by David Eppstein (talk | contribs) at 06:47, 12 July 2021 ([[Baruch Schieber]). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Unrelated-machines scheduling is an optimization problem in computer science and operations research. It is a variant of optimal job scheduling. We need to schedule n jobs J1, J2, ..., Jn on m different machines, such that a certain objective function is optimized (usually, the makespan should be minimized). The time that machine i needs in order to process job j is denoted by pi,j. The term unrelated emphasizes that there is no relation between values of pi,j for different i and j. This is in contrast to two special cases of this problem: uniform-machines scheduling - in which pi,j = pi / sj (where sj is the speed of machine j), and identical-machines scheduling - in which pi,j = pi (the same run-time on all machines).

In the standard three-field notation for optimal job scheduling problems, the unrelated-machines variant is denoted by R in the first field. For example, the problem denoted by " R||" is an unrelated-machines 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 R||. 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 R||.

Algorithms

Minimizing the average completion time

Bruno, Coffman and Sethi[1] present an algorithm, running in time , for minimizing the average completion time on unrelated machines, R||.

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]

Minimizing the maximum completion time (makespan)

Minimizing the maximum completion time is NP-hard even for identical machines, by reduction from the partition problem.

Horowitz and Sahni[2] presented:

  • Exact dynamic programming algorithms for minimizing the maximum completion time on both uniform and unrelated machines. These algorithms run in exponential time (recall that these problems are all NP-hard).
  • Polynomial-time approximation schemes, which for any ε>0, attain at most (1+ε)OPT. For minimizing the maximum completion time on two uniform machines, their algorithm runs in time , where is the smallest integer for which . Therefore, the run-time is in , so it is an FPTAS. For minimizing the maximum completion time on two unrelated machines, the run-time is = . They claim that their algorithms can be easily extended for any number of uniform machines, but do not analyze the run-time in this case.

Glass, Potts and Shade[4] compare various local search techniques for minimizing the makespan on unrelated machines. Using computerized simulations, they find that tabu search and simulated annealing perform much better than genetic algorithms.

Maximizing the profit

Bar-Noy, Bar-Yehuda, Freund, Naor and Schieber[5] consider a setting in which, for each job and machine, there is a profit for running this job on that machine. They present a 1/2 approximation for discrete input and (1-ε)/2 approximation for continuous input.

Extensions

Kim, Kim, Jang and Chen[6] extend the problem by allowing each job to have a setup time, which depends on the job but not on the machine. They present a solution using simulated annealing. Vallada and Ruiz present a solution using a genetic algorithm.[7]

Caragiannis[8] extends the problem in a different way, by assuming that the jobs are owned by selfish agents (see Truthful job scheduling).

References

  1. ^ Bruno, J.; Coffman, E. G.; Sethi, R. (1974-07-01). "Scheduling independent tasks to reduce mean finishing time". Communications of the ACM. 17 (7): 382–387. doi:10.1145/361011.361064. ISSN 0001-0782.
  2. ^ 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.
  3. ^ 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.
  4. ^ "Unrelated parallel machine scheduling using local search". Mathematical and Computer Modelling. 20 (2): 41–52. 1994-07-01. doi:10.1016/0895-7177(94)90205-4. ISSN 0895-7177.
  5. ^ Bar-Noy, Amotz; Bar-Yehuda, Reuven; Freund, Ari; (Seffi) Naor, Joseph; Schieber, Baruch (2001-09-01). "A unified approach to approximating resource allocation and scheduling". Journal of the ACM. 48 (5): 1069–1090. doi:10.1145/502102.502107. ISSN 0004-5411.
  6. ^ "Unrelated parallel machine scheduling with setup times using simulated annealing". Robotics and Computer-Integrated Manufacturing. 18 (3–4): 223–231. 2002-06-01. doi:10.1016/S0736-5845(02)00013-3. ISSN 0736-5845.
  7. ^ "A genetic algorithm for the unrelated parallel machine scheduling problem with sequence dependent setup times". European Journal of Operational Research. 211 (3): 612–622. 2011-06-16. doi:10.1016/j.ejor.2011.01.011. hdl:10251/35412. ISSN 0377-2217.
  8. ^ "A genetic algorithm for the unrelated parallel machine scheduling problem with sequence dependent setup times". European Journal of Operational Research. 211 (3): 612–622. 2011-06-16. doi:10.1016/j.ejor.2011.01.011. hdl:10251/35412. ISSN 0377-2217.