Multiprocessor Scheduling
   HOME

TheInfoList



OR:

Identical-machines scheduling is an optimization problem in
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
and
operations research Operations research ( en-GB, operational research) (U.S. Air Force Specialty Code: Operations Analysis), often shortened to the initialism OR, is a discipline that deals with the development and application of analytical methods to improve deci ...
. We are given ''n'' jobs ''J''1, ''J''2, ..., ''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 In operations research, the makespan of a project is the length of time that elapses from the start of work to the end. This type of multi-mode resource constrained project scheduling problem (MRCPSP) seeks to create the shortest logical project sc ...
is minimized. Identical machine scheduling is a special case of uniform machine scheduling, which is itself a special case of
optimal job scheduling Optimal job scheduling is a class of optimization problems related to scheduling. The inputs to such problems are a list of ''jobs'' (also called ''processes'' or ''tasks'') and a list of ''machines'' (also called ''processors'' or ''workers''). The ...
. In the general case, the processing time of each job may be different on different machines; in the case of identical machine scheduling, the processing time of each job is the same on each machine. Therefore, identical machine scheduling is equivalent to
multiway number partitioning 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 t ...
. A special case of identical machine scheduling is
single-machine scheduling Single-machine scheduling or single-resource scheduling is an optimization problem in computer science and Operations Research, operations research. We are given ''n'' jobs ''J''1, ''J''2, ..., ''Jn'' of varying processing times, which need to be sc ...
. In the standard three-field notation for optimal job scheduling problems, the identical-machines variant is denoted by P in the first field. For example, " P, , C_\max" is an identical machine 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 P, , \sum C_i. 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 P, , \sum w_i C_i.


Algorithms


Minimizing average and weighted-average completion time

Minimizing the ''average'' completion time (P, , \sum C_i) can be done in polynomial time. The SPT algorithm (Shortest Processing Time First), sorts the jobs by their length, shortest first, and then assigns them to the processor with the earliest end time so far. It runs in time O(''n'' log ''n''), and minimizes the average completion time on identical machines, P, , \sum C_i. * There can be many SPT schedules; finding the SPT schedule with the smallest finish time (also called OMFT - ''optimal mean finish time'') is NP-hard. Minimizing the ''weighted average'' completion time is NP-hard even on identical machines, by reduction from the
knapsack problem. A backpack—also called knapsack, schoolbag, rucksack, rucksac, pack, sackpack, booksack, bookbag or backsack—is, in its simplest frameless form, a fabric sack carried on one's back and secured with two straps that go over the shoulders ...
It is NP-hard even if the number of machines is fixed and at least 2, by reduction from the
partition problem In number theory and computer science, the partition problem, or number partitioning, is the task of deciding whether a given multiset ''S'' of positive integers can be partitioned into two subsets ''S''1 and ''S''2 such that the sum of the numbers ...
. Sahni presents an exponential-time algorithm and a polynomial-time approximation scheme for solving both these NP-hard problems on identical machines: * Optimal average-completion-time; * Weighted-average-completion-time.


Minimizing the maximum completion time (makespan)

Minimizing the ''maximum'' completion time (P, , C_\max) is NP-hard even for ''identical'' machines, by reduction from the
partition problem In number theory and computer science, the partition problem, or number partitioning, is the task of deciding whether a given multiset ''S'' of positive integers can be partitioned into two subsets ''S''1 and ''S''2 such that the sum of the numbers ...
. Many exact and approximation algorithms are known. Graham proved that: * Any
list scheduling 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 pri ...
algorithm (an algorithm that processes the jobs in an arbitrary fixed order, and schedules each job to the first available machine) is a 2-1/m approximation for ''identical'' machines. The bound is tight for any ''m''. This algorithm runs in time O(''n''). * The specific list-scheduling algorithm called Longest Processing Time First (LPT), which sorts the jobs by descending length, is a 4/3-1/3m approximation for ''identical'' machines. It is also called
greedy number partitioning In computer science, greedy number partitioning is a class of greedy algorithms for multiway number partitioning. The input to the algorithm is a set ''S'' of numbers, and a parameter ''k''. The required output is a partition of ''S'' into ''k'' su ...
. Coffman, Garey and Johnson presented a different algorithm called multifit algorithm, using techniques from
bin packing The bin packing problem is an optimization problem, in which items of different sizes must be packed into a finite number of bins or containers, each of a fixed given capacity, in a way that minimizes the number of bins used. The problem has ma ...
, which has an approximation factor of 13/11≈1.182. Huang and Lu presented a simple polynomial-time algorithm that attains an 11/9≈1.222 approximation in time O(''m'' log ''m'' + ''n''), through the more general problem of ''
maximin-share Maximin share (MMS) is a criterion of fair item allocation. Given a set of items with different values, the ''1-out-of-n maximin-share'' is the maximum value that can be gained by partitioning the items into ''n'' parts and taking the part with th ...
allocation of chores''. Sahni presented a PTAS that attains (1+ε)OPT in time O(n\cdot (n^2 / \epsilon)^). It is an FPTAS if ''m'' is fixed. For m=2, the run-time improves to O(n^2 / \epsilon). The algorithm uses a technique called ''interval partitioning''. Hochbaum and Shmoys presented several approximation algorithms for any number of identical machines (even when the number of machines is not fixed): * For any ''r'' >0, an algorithm with approximation ratio at most (6/5+2−''r'' ) in time O(n(r+\log)). * For any ''r'' >0, an algorithm with approximation ratio at most (7/6+2−''r'' ) in time O(n(r m^4+\log)). * For any ''ε''>0, an algorithm with approximation ratio at most (1+ε) in time O((n/\varepsilon)^) . This is a PTAS. Note that, when the number of machines is a part of the input, the problem is
strongly NP-hard In computational complexity, strong NP-completeness is a property of computational problems that is a special case of NP-completeness. A general computational problem may have numerical parameters. For example, the input to the bin packing proble ...
, so no FPTAS is possible. Leung improved the run-time of this algorithm to O\left((n/\varepsilon)^\right).


Maximizing the minimum completion time

Maximizing the minimum completion time (P, , C_\min) is applicable when the "jobs" are actually spare parts that are required to keep the machines running, and they have different life-times. The goal is to keep machines running for as long as possible. The
LPT algorithm 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 ...
attains at least \frac of the optimum. Woeginger presented a PTAS that attains an approximation factor of 1- in time O(c_n\log), where c_ a huge constant that is exponential in the required approximation factor ε. The algorithm uses Lenstra's algorithm for integer linear programming.


General objective functions

Alon, Azar, Woeginger and Yadid consider a more general objective function. Given a positive real function ''f'', which depends only on the completion times ''Ci'', they consider the objectives of minimizing \sum_^m f(C_i), minimizing \max_^m f(C_i), maximizing \sum_^m f(C_i), and maximizing \min_^m f(C_i). They prove that, if ''f'' is non-negative, convex, and satisfies a strong continuity assumption that they call "F*", then both minimization problems have a PTAS. Similarly, if ''f'' is non-negative,
concave Concave or concavity may refer to: Science and technology * Concave lens * Concave mirror Mathematics * Concave function, the negative of a convex function * Concave polygon, a polygon which is not convex * Concave set * The concavity In ca ...
, and satisfies F*, then both maximization problems have a PTAS. In both cases, the run-time of the PTAS is O(''n''), but with constants that are exponential in 1/''ε.''


See also

*
Fernandez's method Fernandez's method (FB) in computer science and operations research, is a method which is used in the multiprocessor scheduling algorithm. It is actually used to improve the quality of the lower bounding schemes which are adopted by branch and bo ...


References


External links


Summary of parallel machine problems without preemtion
{{Scheduling problems Optimal scheduling Number partitioning