In the simpler optimal job scheduling problems, each job j consists of a single execution phase, with a given processing time pj. In more complex variants, each job consists of several execution phases, which may be executed in sequence or in parallel.
In single-stage job scheduling problems, there are four main categories of machine environments:
These letters might be followed by the number of machines, which is then fixed. For example, P2 indicates that there are two parallel identical machines. Pm indicates that there are m parallel identical machines, where m is a fixed parameter. In contrast, P indicates that there are m parallel identical machines, but m is not fixed (it is part of the input).
In multi-stage job scheduling problems, there are other options for the machine environments:
All processing times are assumed to be integers. In some older research papers however they are assumed to be rationals.
Each pair of two jobs may or may not have a precedence relation. A precedence relation between two jobs means that one job must be finished before the other job. For example, if job i is a predecessor of job j in that order, job j can only start once job i is completed.
In the presence of a precedence relation one might in addition assume time lags. The time lag between two jobs is the amount of time that must be waited after the first job is complete before the second job to begin. Formally, if job i precedes job j, then C i + ℓ i j ≤ S j {\displaystyle C_{i}+\ell _{ij}\leq S_{j}} must be true. If no time lag ℓ i j {\displaystyle \ell _{ij}} is specified then it is assumed to be zero. Time lags can also be negative. A negative time lag means that the second job can begin a fixed time before the first job finishes.
Usually the goal is to minimize some objective value. One difference is the notation ∑ U j {\displaystyle \sum U_{j}} where the goal is to maximize the number of jobs that complete before their deadline. This is also called the throughput. The objective value can be sum, possibly weighted by some given priority weights w j {\displaystyle w_{j}} per job.
There are also variants with multiple objectives, but they are much less studied.5
Here are some examples for problems defined using the above notation.6
Graham, R. L.; Lawler, E. L.; Lenstra, J.K.; Rinnooy Kan, A.H.G. (1979). "Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey" (PDF). Proceedings of the Advanced Research Institute on Discrete Optimization and Systems Applications of the Systems Science Panel of NATO and of the Discrete Optimization Symposium. Elsevier. pp. (5) 287–326. http://mat.uab.es/~alseda/MasterOpt/79_03_scheduling_survey.pdf ↩
Eugene L. Lawler, Jan Karel Lenstra, Alexander H. G. Rinnooy Kan, David B. Shmoys (1993-01-01). "Chapter 9 Sequencing and scheduling: Algorithms and complexity". Handbooks in Operations Research and Management Science. 4: 445–522. doi:10.1016/S0927-0507(05)80189-6. ISBN 9780444874726. ISSN 0927-0507.{{cite journal}}: CS1 maint: multiple names: authors list (link) 9780444874726 ↩
B. Chen, C.N. Potts and G.J. Woeginger. "A review of machine scheduling: Complexity, algorithms and approximability". Handbook of Combinatorial Optimization (Volume 3) (Editors: D.-Z. Du and P. Pardalos), 1998, Kluwer Academic Publishers. 21-169. ISBN 0-7923-5285-8 (HB) 0-7923-5019-7 (Set) /wiki/Gerhard_J._Woeginger ↩
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 ↩
Aumann, Yonatan; Dombb, Yair (2010). "Pareto Efficiency and Approximate Pareto Efficiency in Routing and Load Balancing Games". In Kontogiannis, Spyros; Koutsoupias, Elias; Spirakis, Paul G. (eds.). Algorithmic Game Theory. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer. pp. 66–77. doi:10.1007/978-3-642-16170-4_7. ISBN 978-3-642-16170-4. 978-3-642-16170-4 ↩