Presentation is loading. Please wait.

Presentation is loading. Please wait.

On the Complexity of Scheduling Peter Brucker University of Osnabrueck Germany.

Similar presentations

Presentation on theme: "On the Complexity of Scheduling Peter Brucker University of Osnabrueck Germany."— Presentation transcript:

1 On the Complexity of Scheduling Peter Brucker University of Osnabrueck Germany

2 1.Scheduling Problems In a scheduling problem one has to find time slots in which activities (or jobs) should be processed under given constraints. The main constraints are resource constraints and precedence constraints between activities. A quite general scheduling problem is the Resource Constrained Project Scheduling Problem (RCPSP) which can be formulated as follows:

3 The RCPSP We have Activities j = 1,..., n with processing times p j. Resources k = 1,..., r. A constant amount of R k units of resource k is available at any time. During processing, activity j occupies r jk units of resource k for k = 1,..., r. Precedence constrains i j between some activities i, j with the meaning that activity j cannot start before i is finished..

4 The RCPSP The objective is to determine starting times S j for all activities j in such a way that at each time t the total demand for resource k is not greater than the availability R k for k = 1,..., r, the given precedence constraints are fulfilled, i. e. S i + p i S j if i j,

5 The RCPSP some objective function f( C 1,..., C n ) is minimized where C j = S j + p j is the completion time of activity j. The fact that activities j start at time S j and finish at time S j + p j implies that the activities j are not preempted. We may relax this condition by allowing preemption (activity splitting).

6 The RCPSP If preemption is not allowed the vector S = (S j ) defines a schedule. S is called feasible if all resource and precedence constraints are fulfilled. One has to find a feasible schedule which minimizes the objective function f( C 1,..., C n ). In project planning f( C 1,..., C n ) is often replaced by the makespan C max which is the maximum of all C j - values.

7 An Example Consider a project with n = 4 activities, r = 2 resources with capacities R 1 = 5 and R 2 = 7, a precedence relation 2 3 and the following data:

8 An Example A corresponding schedule with minimal makespan 2 3

9 The RCPSP The constraints S i + p i S j may be replaced by S i + d ij S j (positive and negative time- lags). With time-lags we may model release times r j or deadlines d j. We may have more than one objective function (multi-criteria optimization). There are other generalizations.

10 RCPSP with Multiple Modes Associated with each activity j is a set M j of modes (processing alternatives). The processing time p jm and per period usage r jkm of resource k for activity j depends on mode m. One has to assign a mode to each activity and to schedule the activities in the assigned modes.

11 Applications Production scheduling Robotic cell scheduling Computer processor scheduling Timetabling Personnel scheduling Railway scheduling Air traffic control etc.

12 Assumptions All data are assumed to be integers. We consider only off-line scheduling problems (on-line scheduling problems will be discussed in another talk). Next machine scheduling problems will be discussed in detail.

13 2. Machine Scheduling Problems and their Classification Most machine scheduling problems are special cases of the RCPSP. Here we will consider single machine problems, parallel machine problems, and shop scheduling problems.

14 Single machine problems We have n jobs j =1,..., n to be processed on a single machine. Additionally precedence constraints between the jobs may be given. This problem can be modeled by an RCPSP with r = 1, R 1 = 1, and r j1 = 1 for all jobs j.

15 Parallel Machine Problems We have jobs j as before and m identical machines M 1,..., M m. The processing time for j is the same on each machine. One has to assign the jobs to the machines and to schedule them on the assigned machines. This problem corresponds to an RCPSP with r = 1, R 1 = m, and r j1 = 1 for all jobs j.

16 Parallel Machine Problems

17 For unrelated machines the processing time p jk depends on the machine M k on which j is processed. The machines are called uniform if p jk = p j /r k. In a problem with multi-purpose machines a set of machines j is is associated with each job j indicating that j can be processed on one machine in j only.

18 Shop Scheduling Problems In a general shop scheduling problem we have m machines M 1,..., M m and n jobs j = 1,..., n. Job j consists of n(j) operations O 1j, O 2j,..., O n(j)j where O ij must be processed for p ij time units on a dedicated machine ij {M 1,..., M m }. Two operations of the same job cannot be processed at the same time. Precedence constraints are given between the operations.

19 Shop Scheduling Problems To model the general shop scheduling problem as RCPSP we consider r = n + m resources k = 1,..., n + m with R k = 1 for all k. While resources k = 1,..., m correspond to the machines, resources m + j (j = 1,..., n) are needed to model that different operations of the same job cannot be scheduled at the same time. n(1) + n(2) n(n) activities O ij where operation O ij needs one unit of machine resource ij and one unit of the job resource m + j.

20 Shop Scheduling Problems A job-shop problem is a general shop scheduling problem with chain precedence constraints of the form O 1j O 2j... O n(j)j. A flow-shop problem is a special job-shop problem with n(j) = m operations for j = 1,..., n and ij = M i for i = 1,..., m and j = 1,..., n.

21 Shop Scheduling Problems In a permutation flow-shop problem the jobs have to be processed in the same order on all machines.

22 Shop Scheduling Problems An open-shop problem is like a flow-shop problem but without precedence constraints between the operations.

23 Classification of Scheduling Problems Classes of scheduling problems can be specified in terms of the three-field classification | | where specifies the machine environment, specifies the job characteristics, and describes the objective function(s).

24 Machine Environment 1 single machine P parallel identical machines Q uniform machines R unrelated machines MPM multipurpose machines J job-shop F flow-shop O open-shop To describe the machine environment the following symbols are used: The above symbols are used if the number of machines is part of the input. If the number of machines is fixed to m we write Pm, Qm, Rm, MPMm, Jm, Fm, Om.

25 Job Characteristics pmtn preemption r j release times d j deadlines p j = 1 or p j = p or p j {1,2} restricted processing times prec arbitrary precedence constraints intree (outtree) intree (or outtree) precedences chains chain precedences series-parallel a series- parallel precedence graph

26 Objective Functions Two types of objective functions are most common: bottleneck objective functions max {f j (C j ) | j= 1,..., n}, and sum objective functions f j (C j ) = f 1 (C 1 ) + f 2 (C 2 ) f n (C n ).

27 Objective Functions C max and L max symbolize the bottleneck objective functions with f j (C j ) = C j (makespan) and f j (C j ) = C j - d j (maximum lateness), respectively. Common sum objective functions are: C j (mean flow-time) and j C j (weighted flow-time)

28 Objective Functions U j (number of late jobs) and j U j (weighted number of late jobs) where U j = 1 if C j > d j and U j = 0 otherwise. T j (sum of tardiness) and j T j (weighted sum of tardiness) where the tardiness of job j is given by T j = max { 0, C j - d j }.

29 Examples 1 | prec; p j = 1 | j C j P2 | | C max P | p j = 1; r j | j U j R2 | chains; pmtn | C max J3 | n = 3 | C max F | p ij = 1; outtree; r j | C j Om | | p j = 1 | T j

30 3. Complexity Theory 3.1 Polynomial algorithms 3.2 Classes P and NP 3.3 NP- complete and NP- hard problems

31 3.1 Polynomial algorithms An algorithm h transforms an input x into an output h(x). h(x) is the answer for a corresponding problem solved by the algorithm. |x| denotes the length of input x with respect to some binary encoding. An algorithm is called polynomial if h(x) can be computed in at most O(p(|x| ) step where p is a polynomial.

32 3.1 Polynomial algorithms A problem is called polynomially solvable if it can be solved by a polynomial algorithm. Example 1 | | j C j can be solved by scheduling the jobs in an ordering of non-increasing j /p j - values. Complexity: O(n log n)

33 3.1 Polynomial algorithms If we replace the binary encoding by an unary encoding we get the concept of a pseudo-polynomial algorithm. Example An algorithm for a scheduling problem with computational effort O( p j ) is pseudo- polynomial.

34 3.2 Classes P and NP A problem is called a decision problem if the output range is {yes, no}. We may associate with each scheduling problem a decision problem by defining a threshold k for the objective function f. The decision problem is: Does a feasible schedule S exist satisfying f(S) k? P is the class of decision problems which are polynomially solvable.

35 3.2 Classes P and NP NP is the class of decision problems with the property that for each yes-answer a certificate exists which can be used to verify the yes-answer in polynomial time. Decision versions of scheduling problems belong to NP (a yes-answer is certified by a feasible schedule S with f(S) k). P NP holds. It is open whether P = NP.

36 3.3 NP- complete and NP- hard problems For two decision problems P and Q, we say that P reduces to Q (denoted by P Q) if there exists a polynomial-time computable function g that transforms inputs for P into inputs for Q such that x is a yes-input for P if and only if g(x) is a yes-input for Q.

37 3.3 NP- complete and NP- hard problems Properties of polynomial reductions: Let P, Q be decision problems. If P Q then Q P implies P P (and, equivalently, P P implies Q P). Let P, Q, R be decision problems. If P Q and Q R, then P R.

38 3.3 NP- complete and NP- hard problems A decision problem Q is called NP - complete if Q NP and, for all other decision problems P NP, we have P Q. If any single NP- complete decision problem Q could be solved in polynomial time then we would have P = NP.

39 3.3 NP- complete and NP- hard problems To prove that a decision problem P is NP - complete it is sufficient to prove the following two properties: P NP, and there exist an NP- complete problem Q with Q P.

40 3.3 NP- complete and NP- hard problems An optimization problem is NP- hard if its decision version is NP- complete.

41 3.3 NP- complete and NP- hard problems Cook [1971] has shown that the satisfiability problem from Boolean logic is NP- complete. Using this result he used reduction to prove that other combinatorial problems are NP- complete as well. In a follow-up paper Karp [1972] derived NP- completeness results for many other problems.

42 4. Complexity of machine scheduling problems Complexity results for different classes of scheduling problems can be found under These results are based on results found in the literature, and elementary reductions between scheduling problems.

43 4. Complexity of machine scheduling problems In these web-pages for several classes of machine scheduling problems the following results are listed: the hardest problems which are known to be polynomially solvable, the easiest problems which are known to be NP - hard, the hardest and easiest problems which are open.

44 Elementary reductions Hereby the following elementary reductions are used

45 Elementary reductions


47 For single machine problems we have more specific elementary reductions.

48 Polynomially solvable single machine problems

49 NP - hard single machine scheduling problems

50 Minimal and maximal open problems

51 Polynomially solvable parallel machine problems without preemption



54 NP- hard parallel machine problems without preemption


56 Minimal and maximal open problems

57 5. How to Live with NP - hard Scheduling Problems? Small sized problems can be solved by Mixed integer linear programming Dynamic programming Branch and bound methods To solve problems of larger size one has to apply Approximation algorithms Heuristics

58 6. Other Types of Scheduling Problems Due-date scheduling Batching problems Multiprocessor task scheduling Cyclic scheduling Scheduling with controllable data Shop problems with buffers Inverse scheduling No-idle time scheduling Multi-criteria scheduling Scheduling with no- available constraints There are other classes of scheduling problems. Some of them are discussed in this book.

59 6. Other Types of Scheduling Problems Scheduling problems are also discussed in connection with other areas: Scheduling and transportation Scheduling and game theory Scheduling and location problems Scheduling and supply chains

60 References P. Brucker (2007), Scheduling Algorithms, fifth edition, Springer, Heidelberg M.R. Garey, D.S. Johnson (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman and Company, San Francisco.


Download ppt "On the Complexity of Scheduling Peter Brucker University of Osnabrueck Germany."

Similar presentations

Ads by Google