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

On the Complexity of Scheduling

  • Upload
    oya

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

On the Complexity of Scheduling. Peter Brucker University of Osnabrueck Germany. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: On the Complexity of Scheduling

On the Complexity of Scheduling

Peter BruckerUniversity of Osnabrueck

Germany

Page 2: On the Complexity of Scheduling

1.Scheduling ProblemsIn a scheduling problem one has to find time slotsin which activities (or jobs) should be processedunder given constraints. The main constraints areresource constraints and precedence constraintsbetween activities. A quite general schedulingproblem is the Resource Constrained ProjectScheduling Problem (RCPSP) which can beformulated as follows:

Page 3: On the Complexity of Scheduling

The RCPSPWe have• Activities j = 1, ... , n with processing times pj.

• Resources k = 1, ... , r. A constant amount of Rk units of resource k is available at any time. During processing, activity j occupies rjk 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..

Page 4: On the Complexity of Scheduling

The RCPSP

The objective is to determine starting times Sj

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 Rk for k = 1, ... , r,

• the given precedence constraints are fulfilled, i. e. Si+ pi Sj if i j ,

Page 5: On the Complexity of Scheduling

The RCPSP

• some objective function f( C1, ... , Cn) is minimized where Cj = Sj + pj is the completion time of activity j.

The fact that activities j start at time Sj and

finish at time Sj + pj implies that the activities

j are not preempted. We may relax this condition by allowing preemption (activitysplitting).

Page 6: On the Complexity of Scheduling

The RCPSPIf preemption is not allowed the vector S = (Sj)

defines a schedule. S is called feasible if allresource and precedence constraints are fulfilled. One has to find a feasible schedulewhich minimizes the objective function f( C1, ... , Cn). In project planning f( C1, ... , Cn) is

often replaced by the makespan Cmax which is

the maximum of all Cj - values.

Page 7: On the Complexity of Scheduling

An Example

Consider a project with n = 4 activities, r = 2resources with capacities R1 = 5 and R2 = 7, a

precedence relation 2 3 and the following data:

Page 8: On the Complexity of Scheduling

An Example

A corresponding schedule with minimal makespan

2 3

Page 9: On the Complexity of Scheduling

The RCPSP• The constraints Si + pi Sj may be replaced

by Si + dij Sj (positive and negative time-lags).

• With time-lags we may model release times rj or deadlines dj .

• We may have more than one objective function (multi-criteria optimization).

• There are other generalizations.

Page 10: On the Complexity of Scheduling

RCPSP with Multiple Modes

• Associated with each activity j is a set Mj of modes (processing alternatives).

• The processing time pjm and per period usage rjkm 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.

Page 11: On the Complexity of Scheduling

Applications

• Production scheduling• Robotic cell

scheduling• Computer processor

scheduling• Timetabling• Personnel scheduling• Railway scheduling

• Air traffic control• etc.

Page 12: On the Complexity of Scheduling

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 bediscussed in detail.

Page 13: On the Complexity of Scheduling

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.

Page 14: On the Complexity of Scheduling

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, R1 = 1, and rj1 = 1 for all jobs j.

Page 15: On the Complexity of Scheduling

Parallel Machine Problems

• We have jobs j as before and m identical machines M1, ... , Mm . 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, R1 = m, and rj1 = 1 for all jobs j.

Page 16: On the Complexity of Scheduling

Parallel Machine Problems

Page 17: On the Complexity of Scheduling

Parallel Machine Problems

• For unrelated machines the processing time pjk depends on the machine Mk on which j is processed.

• The machines are called uniform if pjk = pj/rk.

• 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.

Page 18: On the Complexity of Scheduling

Shop Scheduling Problems• In a general shop scheduling problem we have

m machines M1, ... , Mm and n jobs j = 1, ... , n.

• Job j consists of n(j) operations O1j, O2j, ... , On(j)j

where Oij must be processed for pij time units on a dedicated machine ij {M1, ... , Mm }.

• Two operations of the same job cannot be processed at the same time. Precedence constraints are given between the operations.

Page 19: On the Complexity of Scheduling

Shop Scheduling ProblemsTo model the general shop scheduling problem asRCPSP we consider• r = n + m resources k = 1, ..., n + m with Rk = 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 Oij where operation Oij needs one unit of “machine resource” ij and one unit of the “job resource” m + j.

Page 20: On the Complexity of Scheduling

Shop Scheduling Problems

• A job-shop problem is a general shop scheduling problem with chain precedence constraints of the form O1j O2j ... On(j)j.

• A flow-shop problem is a special job-shop problem with n(j) = m operations for j = 1, ..., n and ij = Mi for i = 1, ..., m and j = 1, ..., n .

Page 21: On the Complexity of Scheduling

Shop Scheduling Problems

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

Page 22: On the Complexity of Scheduling

Shop Scheduling Problems

• An open-shop problem is like a flow-shop problem but without precedence constraints between the operations.

Page 23: On the Complexity of Scheduling

Classification of Scheduling Problems

Classes of scheduling problems can be specifiedin terms of the three-field classification | | wherespecifies the machine environment,specifiesthe job characteristics, and describes the objective function(s).

Page 24: On the Complexity of Scheduling

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.

Page 25: On the Complexity of Scheduling

Job Characteristics

• pmtn preemption• rj release times

• dj deadlines

• pj = 1 or pj = p or pj {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

Page 26: On the Complexity of Scheduling

Objective Functions

Two types of objective functions are mostcommon:• bottleneck objective functions

max {fj(Cj) | j= 1, ... , n}, and

• sum objective functions fj(Cj) = f1(C1) + f2(C2) + ... ... + fn(Cn) .

Page 27: On the Complexity of Scheduling

Objective Functions

Cmax and Lmax symbolize the bottleneck

objective functions with fj(Cj) = Cj

(makespan) and fj(Cj) = Cj - dj (maximum

lateness), respectively.Common sum objective functions are:Cj (mean flow-time) and j Cj

(weighted flow-time)

Page 28: On the Complexity of Scheduling

Objective Functions

Uj (number of late jobs) and j Uj

(weighted number of late jobs) where Uj = 1 if Cj > dj and Uj = 0 otherwise.

Tj (sum of tardiness) and j Tj (weighted sum of tardiness) where the tardiness of job j is given by Tj = max { 0, Cj - dj }.

Page 29: On the Complexity of Scheduling

Examples

• 1 | prec; pj = 1 | j Cj

• P2 | | Cmax

• P | pj = 1; rj | j Uj

• R2 | chains; pmtn | Cmax

• J3 | n = 3 | Cmax

• F | pij = 1; outtree; rj | Cj

• Om | | pj = 1 | Tj

Page 30: On the Complexity of Scheduling

3. Complexity Theory

3.1 Polynomial algorithms3.2 Classes P and NP3.3 NP- complete and NP- hard problems

Page 31: On the Complexity of Scheduling

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.

Page 32: On the Complexity of Scheduling

3.1 Polynomial algorithms

• A problem is called polynomially solvable if it can be solved by a polynomial algorithm.

Example1 | | jCj can be solved by scheduling the jobs

in an ordering of non-increasing j/pj - values.

Complexity: O(n log n)

Page 33: On the Complexity of Scheduling

3.1 Polynomial algorithms

• If we replace the binary encoding by an unary encoding we get the concept of a pseudo-polynomial algorithm.

ExampleAn algorithm for a scheduling problem with computational effort O( pj) is pseudo-

polynomial.

Page 34: On the Complexity of Scheduling

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.

Page 35: On the Complexity of Scheduling

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.

Page 36: On the Complexity of Scheduling

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.

Page 37: On the Complexity of Scheduling

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.

Page 38: On the Complexity of Scheduling

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 Qcould be solved in polynomial time then we would have P = NP.

Page 39: On the Complexity of Scheduling

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.

Page 40: On the Complexity of Scheduling

3.3 NP- complete and NP- hard problems

An optimization problem is NP- hard if its decision version is NP- complete.

Page 41: On the Complexity of Scheduling

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 provethat other combinatorial problems are NP- complete as well.In a follow-up paper Karp [1972] derived NP- completeness results for many other problems.

Page 42: On the Complexity of Scheduling

4. Complexity of machine scheduling problems

Complexity results for different classes of scheduling problems can be found under http://www.mathematik.uni-

osnabrueck.de/research/OR/class/These results are based on• results found in the literature, and• elementary reductions between scheduling

problems.

Page 43: On the Complexity of Scheduling

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.

Page 44: On the Complexity of Scheduling

Elementary reductions

Hereby the following elementary reductionsare used

Page 45: On the Complexity of Scheduling

Elementary reductions

Page 46: On the Complexity of Scheduling

Elementary reductions

Page 47: On the Complexity of Scheduling

Elementary reductions

For single machine problems we have more specific elementary reductions.

Page 48: On the Complexity of Scheduling

Polynomially solvable single machine problems

Page 49: On the Complexity of Scheduling

NP - hard single machine scheduling problems

Page 50: On the Complexity of Scheduling

Minimal and maximal open problems

Page 51: On the Complexity of Scheduling

Polynomially solvable parallel machine problems without preemption

Page 52: On the Complexity of Scheduling

Polynomially solvable parallel machine problems without preemption

Page 53: On the Complexity of Scheduling

Polynomially solvable parallel machine problems without preemption

Page 54: On the Complexity of Scheduling

NP- hard parallel machine problems without preemption

Page 55: On the Complexity of Scheduling

NP- hard parallel machine problems without preemption

Page 56: On the Complexity of Scheduling

Minimal and maximal open problems

Page 57: On the Complexity of Scheduling

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 methodsTo solve problems of larger size one has to apply• Approximation algorithms• Heuristics

Page 58: On the Complexity of Scheduling

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.

Page 59: On the Complexity of Scheduling

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

Page 60: On the Complexity of Scheduling

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.

http://www.mathematik.uni-osnabrueck.de/research/OR/class/

Page 61: On the Complexity of Scheduling