Software:Fractional job scheduling
Fractional job scheduling is a variant of optimal job scheduling in which it is allowed to break jobs into parts and process each part separately on the same or a different machine. Breaking jobs into parts may allow for improving the overall performance, for example, decreasing the makespan. Moreover, the computational problem of finding an optimal schedule may become easier, as some of the optimization variables become continuous. On the other hand, breaking jobs apart might be costly.
Variants
There are several variants of job scheduling problems in which it is allowed to break jobs apart. They can be broadly classified into preemption and splitting.
- In the preemption variants, different parts of a job must be processed at different times. In the three-field notation, they are denoted by pmtn. They were first studied by McNaughton.[1]
- In the splitting variants, different parts of a job may be processed simultaneously on different machines. They are denoted by split and were introduced by Xing and Zhang.[2]
Job scheduling with preemption
Various problems have been studied in job scheduling with preemption. One of them is generalized multiprocessor scheduling (GMS). It has two variants.
- In the first variant, the total number of preemptions is bounded by some fixed integer.
- In the second variant, each job [math]\displaystyle{ j }[/math] has an associated parameter that bounds the number of times [math]\displaystyle{ j }[/math] can be preempted throughout a feasible schedule.
In both variants, the goal is to find a schedule that minimizes the makespan subject to the preemption constraints.
For identical machines, Shchepin and Vakhania[3] prove that with at most [math]\displaystyle{ n-2 }[/math] total preemptions, the problem is NP-hard, whereas McNaughton[1] shows a linear-time algorithm with [math]\displaystyle{ n-1 }[/math] preemptions.
For uniform machines, a polynomial algorithm by Gonzalez and Sahni[4] yields at most [math]\displaystyle{ 2n-2 }[/math] preemptions. Shachnai, Tamir, and Woeginger[5] proved NP-hardness for the case where the number of preemption is strictly less than [math]\displaystyle{ 2n-2 }[/math]. They also presented a PTAS for GMS with a global preemption bound, and another PTAS for GMS with job-wise preemption bound when the number of machines is a fixed constant.
Soper and Strusevitch[6] study the special case in which at most one preemption is allowed. They show that makespan minimization is polynomial for two machines.
Many papers study other variants of preemptive scheduling. For example, Liu and Cheng[7] consider single-machine scheduling with job release and delivery dates, where there is no firm bound on the number of preemptions, but each preemption requires spending time on "job setup".
Some works like Blazewicz et al.[8] or Deng et al.[9] study preemptive scheduling for jobs with parallelism where jobs must be processed simultaneously on several processors.
Job scheduling with splitting
Various objectives have been studied. There are many variants including different setup times. In machine scheduling, the "setup time" refers to the time required to prepare a machine for a specific job or task. Sequence-dependent setup time is a situation where the setup time required for a job depends on the job that came before it, rather than being constant for all jobs (independent job setup time).
Serafini[10] assumes unbounded splittings and preemptions and gives polynomial-time algorithms that minimize the maximum tardiness and the maximum weighted tardiness, for uniform and unrelated machines.
Xing and Zhang[2] allow unbounded splittings, and give polynomial algorithms for many optimality criteria (such as makespan, lateness, tardiness, and more), with identical, uniform, and unrelated machines. For the case with independent job setup time, they give a [math]\displaystyle{ 7/4 }[/math] approximation algorithm.
Son et al.[11] study makespan minimization on a single machine with a machine-availability constraint with a lower bound on the length of each part of a job that is split.
For identical machines, Shim and Kim[12] suggest a branch and bound algorithm with the objective to minimize total tardiness with independent job setup time. Yalaoui and Chu[13] propose a heuristic to the same problem, with the objective to minimize the makespan. Kim et al.[14] suggest a two-phase heuristic algorithm with the objective of minimizing total tardiness. With the objective to minimize the makespan, Kim[15] studies another variant with family setup time in which no setup is required when parts from the same job are produced consecutively. And, Wang et al.[16] include a learning property that improves the processing time of a job according to the learning effect. The learning has to be restarted if one job is split and processed by a different machine.
For uniform machines, Kim and Lee[17] study a variant with dedicated machines (there are some dedicated machines for each job), sequence-dependent setup times, and limited set-up resources (jobs require setup operators that are limited) with the objective to minimize the makespan. Krysta, Sanders, and Vöcking[18] study makespan minimization using the k-splittable variant, a variant where each job is allowed to be split into most [math]\displaystyle{ k }[/math] different machines. They show that this variant and another more general variant where each job has its own splitability parameter, are NP-hard. They give some approximation algorithms, but their main result is a polynomial-time algorithm for both problems, for a fixed number of machines. They show that allowing a bounded number of splittings reduces the complexity of scheduling.
In all these works, there is no global bound on the number of splitting jobs.
References
- ↑ 1.0 1.1 McNaughton, Robert (October 1959). "Scheduling with Deadlines and Loss Functions" (in en). Management Science 6 (1): 1–12. doi:10.1287/mnsc.6.1.1. ISSN 0025-1909. https://pubsonline.informs.org/doi/10.1287/mnsc.6.1.1.
- ↑ 2.0 2.1 Xing, Wenxun; Zhang, Jiawei (2000-07-15). "Parallel machine scheduling with splitting jobs" (in en). Discrete Applied Mathematics 103 (1): 259–269. doi:10.1016/S0166-218X(00)00176-1. ISSN 0166-218X. https://www.sciencedirect.com/science/article/pii/S0166218X00001761.
- ↑ Shchepin, Evgeny, and Nodari Vakhania. "New tight NP-hardness of preemptive multiprocessor and open-shop scheduling." Proceedings of 2nd multidisciplinary international conference on scheduling: Theory and applications MISTA 2005. 2005.
- ↑ Gonzalez, Teofilo; Sahni, Sartaj (1978-01-01). "Preemptive Scheduling of Uniform Processor Systems". Journal of the ACM 25 (1): 92–101. doi:10.1145/322047.322055. ISSN 0004-5411.
- ↑ Shachnai, Hadas; Tamir, Tami; Woeginger, Gerhard J. (2005-07-01). "Minimizing Makespan and Preemption Costs on a System of Uniform Machines" (in en). Algorithmica 42 (3): 309–334. doi:10.1007/s00453-005-1171-0. ISSN 1432-0541. https://doi.org/10.1007/s00453-005-1171-0.
- ↑ Soper, Alan J.; Strusevich, Vitaly A. (2019-05-31). "Schedules with a single preemption on uniform parallel machines" (in en). Discrete Applied Mathematics. GO X Meeting, Rigi Kaltbad (CH), July 10--14, 2016 261: 332–343. doi:10.1016/j.dam.2018.03.007. ISSN 0166-218X.
- ↑ Liu, Zhaohui; Cheng, T. C. Edwin (2002-04-30). "Scheduling with job release dates, delivery times and preemption penalties" (in en). Information Processing Letters 82 (2): 107–111. doi:10.1016/S0020-0190(01)00251-4. ISSN 0020-0190. https://www.sciencedirect.com/science/article/pii/S0020019001002514.
- ↑ Blazewicz; Drabowski; Weglarz (May 1986). "Scheduling Multiprocessor Tasks to Minimize Schedule Length". IEEE Transactions on Computers C-35 (5): 389–393. doi:10.1109/TC.1986.1676781. ISSN 1557-9956. https://ieeexplore.ieee.org/document/1676781.
- ↑ Deng, Xiaotie; Gu, Nian; Brecht, Tim; Lu, Kaicheng (2000). "Preemptive Scheduling of Parallel Jobs on Multiprocessors" (in en). SIAM Journal on Computing 30 (1): 145–160. doi:10.1137/S0097539797315598. ISSN 0097-5397. http://epubs.siam.org/doi/10.1137/S0097539797315598.
- ↑ Serafini, Paolo (1996). "Scheduling Jobs on Several Machines with the Job Splitting Property". Operations Research 44 (4): 617–628. doi:10.1287/opre.44.4.617. ISSN 0030-364X. https://www.jstor.org/stable/172004.
- ↑ Son, Trang Hong; Van Lang, Tran; Huynh-Tuong, Nguyen; Soukhal, Ameur (2021-01-01). "Resolution for bounded-splitting jobs scheduling problem on a single machine in available time-windows" (in en). Journal of Ambient Intelligence and Humanized Computing 12 (1): 1179–1196. doi:10.1007/s12652-020-02162-0. ISSN 1868-5145. https://doi.org/10.1007/s12652-020-02162-0.
- ↑ Shim, Sang-Oh; Kim, Yeong-Dae (2008-03-01). "A branch and bound algorithm for an identical parallel machine scheduling problem with a job splitting property" (in en). Computers & Operations Research. Part Special Issue: New Trends in Locational Analysis 35 (3): 863–875. doi:10.1016/j.cor.2006.04.006. ISSN 0305-0548. https://www.sciencedirect.com/science/article/pii/S0305054806001250.
- ↑ YALAOUI, FAROUK; CHU, CHENGBIN (2003-02-01). "An efficient heuristic approach for parallel machine scheduling with job splitting and sequence-dependent setup times". IIE Transactions 35 (2): 183–190. doi:10.1080/07408170304382. ISSN 0740-817X. https://doi.org/10.1080/07408170304382.
- ↑ Kim *, Y.-D.; Shim, S.-O.; Kim, S.-B.; Choi, Y.-C.; Yoon, H. M. (2004-11-01). "Parallel machine scheduling considering a job-splitting property". International Journal of Production Research 42 (21): 4531–4546. doi:10.1080/00207540410001720745. ISSN 0020-7543. https://doi.org/10.1080/00207540410001720745.
- ↑ Kim, Hyun-Jung (2018-02-01). "Bounds for parallel machine scheduling with predefined parts of jobs and setup time" (in en). Annals of Operations Research 261 (1): 401–412. doi:10.1007/s10479-017-2615-z. ISSN 1572-9338. https://doi.org/10.1007/s10479-017-2615-z.
- ↑ Wang, Chenjie; Liu, Changchun; Zhang, Zhi-hai; Zheng, Li (2016-07-01). "Minimizing the total completion time for parallel machine scheduling with job splitting and learning" (in en). Computers & Industrial Engineering 97: 170–182. doi:10.1016/j.cie.2016.05.001. ISSN 0360-8352. https://www.sciencedirect.com/science/article/pii/S0360835216301413.
- ↑ Kim, Hyun-Jung; Lee, Jun-Ho (2021-02-01). "Scheduling uniform parallel dedicated machines with job splitting, sequence-dependent setup times, and multiple servers" (in en). Computers & Operations Research 126: 105115. doi:10.1016/j.cor.2020.105115. ISSN 0305-0548. https://www.sciencedirect.com/science/article/pii/S030505482030232X.
- ↑ Krysta, Piotr; Sanders, Peter; Vöcking, Berthold (2003). "Scheduling and Traffic Allocation for Tasks with Bounded Splittability". in Rovan, Branislav; Vojtáš, Peter (in en). Mathematical Foundations of Computer Science 2003. Lecture Notes in Computer Science. 2747. Berlin, Heidelberg: Springer. pp. 500–510. doi:10.1007/978-3-540-45138-9_44. ISBN 978-3-540-45138-9. https://link.springer.com/chapter/10.1007/978-3-540-45138-9_44.
Original source: https://en.wikipedia.org/wiki/Fractional job scheduling.
Read more |