Minimizing the maximum completion time is NP-hard even for identical machines, by reduction from the partition problem.
Horowitz and Sahni1 presented:
Lenstra, Shmoys and Tardos2 presented a polytime 2-factor approximation algorithm, and proved that no polytime algorithm with approximation factor smaller than 3/2 is possible unless P=NP. Closing the gap between the 2 and the 3/2 is a long-standing open problem.
Verschae and Wiese3 presented a different 2-factor approximation algorithm.
Glass, Potts and Shade4 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.
Bruno, Coffman and Sethi5 present an algorithm, running in time O ( max ( m n 2 , n 3 ) ) {\displaystyle O(\max(mn^{2},n^{3}))} , for minimizing the average job completion time on unrelated machines, R|| ∑ C j {\displaystyle \sum C_{j}} (the average over all jobs, of the time it takes to complete the jobs).
Minimizing the weighted average completion time, R|| ∑ w j C j {\displaystyle \sum w_{j}C_{j}} (where wj is the weight of job j), is NP-hard even on identical machines, by reduction from the knapsack problem.6 It is NP-hard even if the number of machines is fixed and at least 2, by reduction from the partition problem.7
Schulz and Skutella8 present a (3/2+ε)-approximation algorithm using randomized rounding. Their algorithm is a (2+ε)-approximation for the problem with job release times, R| r j {\displaystyle r_{j}} | ∑ w j C j {\displaystyle \sum w_{j}C_{j}} .
Bar-Noy, Bar-Yehuda, Freund, Naor and Schieber9 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.
Main article: Egalitarian item allocation
Suppose that, instead of "jobs" we have valuable items, and instead of "machines" we have people. Person i values item j at pi,j. We would like to allocate the items to the people, such that the least-happy person is as happy as possible. This problem is equivalent to unrelated-machines scheduling in which the goal is to maximize the minimum completion time. It is better known by the name egalitarian or max-min item allocation.
A natural way to formulate the problem as a linear program is called the Lenstra–Shmoys–Tardos10 linear program (LST LP). For each machine i and job j, define a variable z i , j {\displaystyle z_{i,j}} , which equals 1 if machine i processes job j, and 0 otherwise. Then, the LP constraints are:
Relaxing the integer constraints gives a linear program with size polynomial in the input. Solving the relaxed problem can be rounded to obtain a 2-approximation to the problem.11
Another LP formulation is the configuration linear program. For each machine i, there are finitely many subsets of jobs that can be processed by machine i in time at most T. Each such subset is called a configuration for machine i. Denote by Ci(T) the set of all configurations for machine i. For each machine i and configuration c in Ci(T), define a variable x i , c {\displaystyle x_{i,c}} which equals 1 if the actual configuration used in machine i is c, and 0 otherwise. Then, the LP constraints are:
Note that the number of configurations is usually exponential in the size of the problem, so the size of the configuration LP is exponential. However, in some cases it is possible to bound the number of possible configurations, and therefore find an approximate solution in polynomial time.
There is a special case in which pi,j is either 1 or infinity. In other words, each job can be processed on a subset of allowed machines, and its run-time in each of these machines is 1. This variant is sometimes denoted by " P|pj=1,Mj| C max {\displaystyle C_{\max }} ". It can be solved in polynomial time. 12
Kim, Kim, Jang and Chen13 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 Ruiz14 present a solution using a genetic algorithm.
Nisan and Ronen in their 1999 paper on algorithmic mechanism design.15 extend the problem in a different way, by assuming that the jobs are owned by selfish agents (see Truthful job scheduling).
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 ↩
Lenstra, Jan Karel; Shmoys, David B.; Tardos, Éva (1990-01-01). "Approximation algorithms for scheduling unrelated parallel machines". Mathematical Programming. 46 (1): 259–271. doi:10.1007/BF01585745. ISSN 1436-4646. S2CID 52867171. https://doi.org/10.1007/BF01585745 ↩
Verschae, José; Wiese, Andreas (2013-11-10). "On the configuration-LP for scheduling on unrelated machines". Journal of Scheduling. 17 (4): 371–383. arXiv:1011.4957. doi:10.1007/s10951-013-0359-4. ISSN 1094-6136. S2CID 254694965. https://link-springer-com.mgs.ariel.ac.il/article/10.1007/s10951-013-0359-4 ↩
Glass, C.A.; Potts, C.N.; Shade, P. (1994-07-01). "Unrelated parallel machine scheduling using local search". Mathematical and Computer Modelling. 20 (2): 41–52. doi:10.1016/0895-7177(94)90205-4. ISSN 0895-7177. /wiki/Doi_(identifier) ↩
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. S2CID 2507557. https://doi.org/10.1145%2F361011.361064 ↩
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 ↩
Schulz, Andreas S.; Skutella, Martin (2002-01-01). "Scheduling Unrelated Machines by Randomized Rounding". SIAM Journal on Discrete Mathematics. 15 (4): 450–469. doi:10.1137/S0895480199357078. ISSN 0895-4801. https://epubs.siam.org/doi/abs/10.1137/S0895480199357078 ↩
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. S2CID 12329294. /wiki/Baruch_Schieber ↩
Lenstra, Jan Karel; Shmoys, David B.; Tardos, Éva (1990-01-01). "Approximation algorithms for scheduling unrelated parallel machines". Mathematical Programming. 46 (1): 259–271. doi:10.1007/BF01585745. ISSN 1436-4646. S2CID 206799898. https://doi.org/10.1007/BF01585745 ↩
Lin, Yixun; Li, Wenhua (2004-07-01). "Parallel machine scheduling of machine-dependent jobs with unit-length". European Journal of Operational Research. EURO Excellence in Practice Award 2001. 156 (1): 261–266. doi:10.1016/S0377-2217(02)00914-1. ISSN 0377-2217. https://www.sciencedirect.com/science/article/pii/S0377221702009141 ↩
Kim, Dong-Won; Kim, Kyong-Hee; Jang, Wooseung; Frank Chen, F. (2002-06-01). "Unrelated parallel machine scheduling with setup times using simulated annealing". Robotics and Computer-Integrated Manufacturing. 18 (3–4): 223–231. doi:10.1016/S0736-5845(02)00013-3. ISSN 0736-5845. https://www.sciencedirect.com/science/article/abs/pii/S0736584502000133 ↩
Vallada, Eva; Ruiz, Rubén (2011-06-16). "A genetic algorithm for the unrelated parallel machine scheduling problem with sequence dependent setup times". European Journal of Operational Research. 211 (3): 612–622. doi:10.1016/j.ejor.2011.01.011. hdl:10251/35412. ISSN 0377-2217. https://www.sciencedirect.com/science/article/abs/pii/S0377221711000142 ↩
Nisan, Noam; Ronen, Amir (2001). "Algorithmic Mechanism Design". Games and Economic Behavior. 35 (1–2): 166–196. CiteSeerX 10.1.1.16.7473. doi:10.1006/game.1999.0790. /wiki/CiteSeerX_(identifier) ↩