Single-machine scheduling

Last updated

Single-machine scheduling or single-resource 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 a single machine, in a way that optimizes a certain objective, such as the throughput.

Contents

Single-machine scheduling is a special case of identical-machines scheduling, which is itself a special case of optimal job scheduling. Many problems, which are NP-hard in general, can be solved in polynomial time in the single-machine case. [1] :10–20

In the standard three-field notation for optimal job scheduling problems, the single-machine variant is denoted by 1 in the first field. For example, " 1||" is an single-machine scheduling problem with no constraints, where the goal is to minimize the sum of completion times.

The makespan-minimization problem 1||, which is a common objective with multiple machines, is trivial with a single machine, since the makespan is always identical. Therefore, other objectives have been studied. [2]

Minimizing the sum of completion times

The problem 1|| aims to minimize the sum of completion times. It can be solved optimally by the Shortest Processing Time First rule (SPT): the jobs are scheduled by ascending order of their processing time .

The problem 1|| aims to minimize the weighted sum of completion times. It can be solved optimally by the Weighted Shortest Processing Time First rule (WSPT): the jobs are scheduled by ascending order of the ratio . [2] :lecture 1,part 2

The problem 1|chains| is a generalization of the above problem for jobs with dependencies in the form of chains. It can also be solved optimally by a suitable generalization of WSPT. [2] :lecture 1,part 3

Minimizing the cost of lateness

The problem 1|| aims to minimize the maximum lateness. For each job j, there is a due date . If it is completed after its due date, it suffers lateness defined as . 1|| can be solved optimally by the Earliest Due Date First rule (EDD): the jobs are scheduled by ascending order of their deadline . [2] :lecture 2,part 2

The problem 1|prec| generalizes the 1|| in two ways: first, it allows arbitrary precedence constraints on the jobs; second, it allows each job to have an arbitrary cost function hj, which is a function of its completion time (lateness is a special case of a cost function). The maximum cost can be minimized by a greedy algorithm known as Lawler's algorithm. [2] :lecture 2,part 1

The problem 1|| generalizes 1|| by allowing each job to have a different release time by which it becomes available for processing. The presence of release times means that, in some cases, it may be optimal to leave the machine idle, in order to wait for an important job that is not released yet. Minimizing maximum lateness in this setting is NP-hard. But in practice, it can be solved using a branch-and-bound algorithm. [2] :lecture 2,part 3

Maximizing the profit of earliness

In settings with deadlines, it is possible that, if the job is completed by the deadline, there is a profit pj. Otherwise, there is no profit. The goal is to maximize the profit. Single-machine scheduling with deadlines is NP-hard; Sahni [3] presents both exact exponential-time algorithms and a polynomial-time approximation algorithm.

Maximizing the throughput

The problem 1|| aims to minimize the number of late jobs, regardless of the amount of lateness. It can be solved optimally by the Hodgson-Moore algorithm. [4] [2] :lecture 3,part 1 It can also be interpreted as maximizing the number of jobs that complete on time; this number is called the throughput .

The problem 1|| aims to minimize the weight of late jobs. It is NP-hard, since the special case in which all jobs have the same deadline (denoted by 1|| ) is equivalent to the Knapsack problem. [2] :lecture 3,part 2

The problem 1|| generalizes 1||by allowing different jobs to have different release times. The problem is NP-hard. However, when all job lengths are equal, the problem can be solved in polynomial time. It has several variants:

Jobs can have execution intervals. For each job j, there is a processing time tj and a start-time sj, so it must be executed in the interval [sj,sj+tj]. Since some of the intervals overlap, not all jobs can be completed. The goal is to maximize the number of completed jobs, that is, the throughput. More generally, each job may have several possible intervals, and each interval may be associated with a different profit. The goal is to choose at most one interval for each job, such that the total profit is maximized. For more details, see the page on interval scheduling.

More generally, jobs can have time-windows, with both start-times and deadlines, which may be larger than the job length. Each job can be scheduled anywhere within its time-window. Bar-Noy, Bar-Yehuda, Freund, Naor and Schieber [10] present a (1-ε)/2 approximation.

Jobs with non-constant length

Workers and machines often become tired after working for a certain amount of time, and this makes them slower when processing future jobs. On the other hand, workers and machines may learn how to work better, and this makes them faster when processing future jobs. In both cases, the length (processing-time) of a job is not constant, but depends on the jobs processed before it. In this setting, even minimizing the maximum completion time becomes non-trivial. There are two common ways to model the change in job length.

  1. The job length may depend on the start time of the job. [11] When the length is a weakly-increasing function of the start-time, it is deterioration effect; when it is weakly-decreasing, it is called learning effect.
  2. The job length may depend on the sum of normal processing times of previously-processed jobs. When the length is a weakly-increasing function of this sum, it is often called aging effect. [12]

Start-time-based length

Cheng and Ding studied makespan minimization and maximum-lateness minimization when the actual length of job j scheduled at time sj is given by

, where pj is the normal length of j.

They proved the following results:

Kubiak and van-de-Velde [16] studied makespan minimization when the fatigue starts only after a common due-date d. That is, the actual length of job j scheduled at time sj is given by

.

So, if the job starts before d, its length does not change; if it starts after d, its length grows by a job-dependent rate. They show that the problem is NP-hard, give a pseudopolynomial algorithm that runs in time , and give a branch-and-bound algorithm that solves instances with up to 100 jobs in reasonable time. They also study bounded deterioration, where pj stops growing if the job starts after a common maximum deterioration date D > d. For this case, they give two pseudopolynomial time algorithms.

Cheng, Ding and Lin [11] surveyed several studies of a deterioration effect, where the length of job j scheduled at time sj is either linear or piecewise linear, and the change rate can be positive or negative.

Sum-of-processing-times-based length

The aging effect has two types:

Wang, Wang, Wang and Wang [19] studied sum-of-processing-time-based aging model, where the processing-time of job j scheduled at position v is given by

where is the job scheduled at position , and α is the "aging characteristic" of the machine. In this model, the maximum processing time of the permutation is:

Rudek [20] generalized the model in two ways: allowing the fatigue to be different than the processing time, and allowing a job-dependent aging characteristic:

Here, f is an increasing function that describes the dependance of the fatigue on the processing time; and αj is the aging characteristic of job j. For this model, he proved the following results:

See also

Many solution techniques have been applied to solving single machine scheduling problems. Some of them are listed below.

Related Research Articles

<span class="mw-page-title-main">Travelling salesman problem</span> NP-hard problem in combinatorial optimization

The travelling salesman problem, also known as the travelling salesperson problem (TSP), asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?" It is an NP-hard problem in combinatorial optimization, important in theoretical computer science and operations research.

In computer science, a topological sort or topological ordering of a directed graph is a linear ordering of its vertices such that for every directed edge (u,v) from vertex u to vertex v, u comes before v in the ordering. For instance, the vertices of the graph may represent tasks to be performed, and the edges may represent constraints that one task must be performed before another; in this application, a topological ordering is just a valid sequence for the tasks. Precisely, a topological sort is a graph traversal in which each node v is visited only after all its dependencies are visited. A topological ordering is possible if and only if the graph has no directed cycles, that is, if it is a directed acyclic graph (DAG). Any DAG has at least one topological ordering, and algorithms are known for constructing a topological ordering of any DAG in linear time. Topological sorting has many applications, especially in ranking problems such as feedback arc set. Topological sorting is possible even when the DAG has disconnected components.

A fully polynomial-time approximation scheme (FPTAS) is an algorithm for finding approximate solutions to function problems, especially optimization problems. An FPTAS takes as input an instance of the problem and a parameter ε > 0. It returns as output a value which is at least times the correct value, and at most times the correct value.

List scheduling is a greedy algorithm for Identical-machines scheduling. The input to this algorithm is a list of jobs that should be executed on a set of m machines. The list is ordered in a fixed order, which can be determined e.g. by the priority of executing the jobs, or by their order of arrival. The algorithm repeatedly executes the following steps until a valid schedule is obtained:

Uniform machine scheduling is an optimization problem in computer science and operations research. It is a variant of optimal job scheduling. We are given n jobs J1, J2, ..., Jn of varying processing times, which need to be scheduled on m different machines. The goal is to minimize the makespan - the total time required to execute the schedule. The time that machine i needs in order to process job j is denoted by pi,j. In the general case, the times pi,j are unrelated, and any matrix of positive processing times is possible. In the specific variant called uniform machine scheduling, some machines are uniformly faster than others. This means that, for each machine i, there is a speed factor si, and the run-time of job j on machine i is pi,j = pj / si.

Optimal job scheduling is a class of optimization problems related to scheduling. The inputs to such problems are a list of jobs and a list of machines. The required output is a schedule – an assignment of jobs to machines. The schedule should optimize a certain objective function. In the literature, problems of optimal job scheduling are often called machine scheduling, processor scheduling, multiprocessor scheduling, or just scheduling.

Interval scheduling is a class of problems in computer science, particularly in the area of algorithm design. The problems consider a set of tasks. Each task is represented by an interval describing the time in which it needs to be processed by some machine. For instance, task A might run from 2:00 to 5:00, task B might run from 4:00 to 10:00 and task C might run from 9:00 to 11:00. A subset of intervals is compatible if no two intervals overlap on the machine/resource. For example, the subset {A,C} is compatible, as is the subset {B}; but neither {A,B} nor {B,C} are compatible subsets, because the corresponding intervals within each subset overlap.

Job-shop scheduling, the job-shop problem (JSP) or job-shop scheduling problem (JSSP) is an optimization problem in computer science and operations research. It is a variant of optimal job scheduling. In a general job scheduling problem, we are given n jobs J1J2, ..., Jn of varying processing times, which need to be scheduled on m machines with varying processing power, while trying to minimize the makespan – the total length of the schedule. In the specific variant known as job-shop scheduling, each job consists of a set of operationsO1O2, ..., On which need to be processed in a specific order. Each operation has a specific machine that it needs to be processed on and only one operation in a job can be processed at a given time. A common relaxation is the flexible job shop, where each operation can be processed on any machine of a given set.

Flow-shop scheduling is an optimization problem in computer science and operations research. It is a variant of optimal job scheduling. In a general job-scheduling problem, we are given n jobs J1J2, ..., Jn of varying processing times, which need to be scheduled on m machines with varying processing power, while trying to minimize the makespan – the total length of the schedule. In the specific variant known as flow-shop scheduling, each job contains exactly m operations. The i-th operation of the job must be executed on the i-th machine. No machine can perform more than one operation simultaneously. For each operation of each job, execution time is specified.

<span class="mw-page-title-main">David Shmoys</span> American mathematician

David Bernard Shmoys is a Professor in the School of Operations Research and Information Engineering and the Department of Computer Science at Cornell University. He obtained his Ph.D. from the University of California, Berkeley in 1984. His major focus has been in the design and analysis of algorithms for discrete optimization problems.

Open-shop scheduling or open-shop scheduling problem (OSSP) is an optimization problem in computer science and operations research. It is a variant of optimal job scheduling. In a general job-scheduling problem, we are given n jobs J1J2, ..., Jn of varying processing times, which need to be scheduled on m machines with varying processing power, while trying to minimize the makespan - the total length of the schedule. In the specific variant known as open-shop scheduling, each job consists of a set of operationsO1O2, ..., On which need to be processed in an arbitrary order. The problem was first studied by Teofilo F. Gonzalez and Sartaj Sahni in 1976.

Truthful job scheduling is a mechanism design variant of the job shop scheduling problem from operations research.

Parallel task scheduling is an optimization problem in computer science and operations research. It is a variant of optimal job scheduling. In a general job scheduling problem, we are given n jobs J1J2, ..., Jn of varying processing times, which need to be scheduled on m machines while trying to minimize the makespan - the total length of the schedule. In the specific variant known as parallel-task scheduling, all machines are identical. Each job j has a length parameter pj and a size parameter qj, and it must run for exactly pj time-steps on exactly qj machines in parallel.

In computer science, multiway number partitioning is the problem of partitioning a multiset of numbers into a fixed number of subsets, such that the sums of the subsets are as similar as possible. It was first presented by Ronald Graham in 1969 in the context of the identical-machines scheduling problem. The problem is parametrized by a positive integer k, and called k-way number partitioning. The input to the problem is a multiset S of numbers, whose sum is k*T.

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.

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. 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, and identical-machines scheduling - in which pi,j = pi.

Longest-processing-time-first (LPT) is a greedy algorithm for job scheduling. The input to the algorithm is a set of jobs, each of which has a specific processing-time. There is also a number m specifying the number of machines that can process the jobs. The LPT algorithm works as follows:

  1. Order the jobs by descending order of their processing-time, such that the job with the longest processing time is first.
  2. Schedule each job in this sequence into a machine in which the current load is smallest.

Balanced number partitioning is a variant of multiway number partitioning in which there are constraints on the number of items allocated to each set. The input to the problem is a set of n items of different sizes, and two integers mk. The output is a partition of the items into m subsets, such that the number of items in each subset is at most k. Subject to this, it is required that the sums of sizes in the m subsets are as similar as possible.

Matroid-constrained number partitioning is a variant of the multiway number partitioning problem, in which the subsets in the partition should be independent sets of a matroid. The input to this problem is a set S of items, a positive integer m, and some m matroids over the same set S. The goal is to partition S into m subsets, such that each subset i is an independent set in matroid i. Subject to this constraint, some objective function should be minimized, for example, minimizing the largest sum item sizes in a subset. In a more general variant, each of the m matroids has a weight function, which assigns a weight to each element of the ground-set. Various objective functions have been considered. For each of the three operators max,min,sum, one can use this operator on the weights of items in each subset, and on the subsets themselves. All in all, there are 9 possible objective functions, each of which can be maximized or minimized.

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.

References

  1. 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)
  2. 1 2 3 4 5 6 7 8 Grinshpoun, Tal (2020). "Subjects in Scheduling". www.youtube.com. Retrieved 2021-09-12.
  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. S2CID   10956951.
  4. Lawler, E.L. (1994-07-01). "Knapsack-like scheduling problems, the Moore-Hodgson algorithm and the 'tower of sets' property". Mathematical and Computer Modelling. 20 (2): 91–106. doi: 10.1016/0895-7177(94)90209-7 . ISSN   0895-7177.
  5. Baptiste, P. (1999). "Polynomial time algorithms for minimizing the weighted number of late jobs on a single machine with equal processing times". Journal of Scheduling. 2 (6): 245–252. doi:10.1002/(SICI)1099-1425(199911/12)2:6<245::AID-JOS28>3.0.CO;2-5.
  6. Chrobak, Marek; Dürr, Christoph; Jawor, Wojciech; Kowalik, Łukasz; Kurowski, Maciej (2006-02-01). "A Note on Scheduling Equal-Length Jobs to Maximize Throughput". Journal of Scheduling. 9 (1): 71–73. arXiv: cs/0410046 . doi:10.1007/s10951-006-5595-4. ISSN   1099-1425. S2CID   7359990.
  7. Chrobak, Marek; Durr, Christoph; Jawor, Wojciech; Kowalik, Lukasz; Kurowski, Maciej (2021-05-12). "A Note on Scheduling Equal-Length Jobs to Maximize Throughput". arXiv: cs/0410046 .{{cite journal}}: Cite journal requires |journal= (help)
  8. Simons, Barbara (1978-10-16). "A fast algorithm for single processor scheduling". Proceedings of the 19th Annual Symposium on Foundations of Computer Science. SFCS '78. USA: IEEE Computer Society: 246–252. doi:10.1109/SFCS.1978.4. S2CID   10284575.
  9. Garey, M. R.; Johnson, D. S.; Simons, B. B.; Tarjan, R. E. (1981-05-01). "Scheduling Unit–Time Tasks with Arbitrary Release Times and Deadlines". SIAM Journal on Computing. 10 (2): 256–269. doi:10.1137/0210018. ISSN   0097-5397.
  10. 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.
  11. 1 2 Cheng, T. C. E; Ding, Q; Lin, B. M. T (2004-01-01). "A concise survey of scheduling with time-dependent processing times". European Journal of Operational Research. 152 (1): 1–13. doi:10.1016/S0377-2217(02)00909-8. ISSN   0377-2217.
  12. Chang, Pei-Chann; Chen, Shih-Hsin; Mani, V. (2009-01-01). "A note on due-date assignment and single machine scheduling with a learning/aging effect". International Journal of Production Economics. 117 (1): 142–149. doi:10.1016/j.ijpe.2008.10.004. ISSN   0925-5273.
  13. Cheng, T. C. E.; Ding, Q. (1999-07-01). "The time dependent machine makespan problem is strongly NP-complete". Computers & Operations Research. 26 (8): 749–754. doi:10.1016/S0305-0548(98)00093-8. ISSN   0305-0548.
  14. Cheng, T. C. E.; Ding, Q. (1998-06-01). "The complexity of single machine scheduling with two distinct deadlines and identical decreasing rates of processing times". Computers & Mathematics with Applications. 35 (12): 95–100. doi:10.1016/S0898-1221(98)00099-6. ISSN   0898-1221.
  15. 1 2 Cheng, T. C. E.; Ding, Q. (1998-01-29). "The complexity of scheduling starting time dependent tasks with release times". Information Processing Letters. 65 (2): 75–79. doi:10.1016/S0020-0190(97)00195-6. ISSN   0020-0190.
  16. Kubiak, Wieslaw; van de Velde, Steef (August 1998). "Scheduling deteriorating jobs to minimize makespan". Naval Research Logistics. 45 (5): 511–523. doi:10.1002/(SICI)1520-6750(199808)45:5<511::AID-NAV5>3.0.CO;2-6. ISSN   0894-069X.
  17. Gawiejnowicz, Stanisław (1996-03-25). "A note on scheduling on a single processor with speed dependent on a number of executed jobs". Information Processing Letters. 57 (6): 297–300. doi:10.1016/0020-0190(96)00021-X. ISSN   0020-0190.
  18. Gordon, V. S.; Potts, C. N.; Strusevich, V. A.; Whitehead, J. D. (2008-10-01). "Single machine scheduling models with deterioration and learning: handling precedence constraints via priority generation". Journal of Scheduling. 11 (5): 357–370. doi:10.1007/s10951-008-0064-x. ISSN   1099-1425. S2CID   31422825.
  19. Wang, Ji-Bo; Wang, Li-Yan; Wang, Dan; Wang, Xiao-Yuan (2009-08-01). "Single-machine scheduling with a time-dependent deterioration". The International Journal of Advanced Manufacturing Technology. 43 (7): 805–809. doi:10.1007/s00170-008-1760-6. ISSN   1433-3015. S2CID   110043439.
  20. Rudek, Radosław (2012-03-01). "Some single-machine scheduling problems with the extended sum-of-processing-time-based aging effect". The International Journal of Advanced Manufacturing Technology. 59 (1): 299–309. doi: 10.1007/s00170-011-3481-5 . ISSN   1433-3015.