Loading...

PPT – Parallel-Machine Models PowerPoint presentation | free to download - id: 511561-OTRmO

The Adobe Flash plugin is needed to view this content

Parallel-Machine Models

- Chapter 7
- Elements of Sequencing and Schedulingby Kenneth

R. Baker - Byung-Hyun Ha

R1

Outline

- Introduction
- Minimizing the makespan
- Nonpreemptable jobs
- Dependent nonpreemptable jobs
- Preemptable jobs
- Minimizing total flowtime
- Summary

Introduction

- Beyond single machine
- Some types
- Parallel systems, serial systems (flow shop),

hybrid systems (job shop) - Sequencing resource allocation
- Parallel machines
- Basic model (Pm)
- n jobs independent and simultaneously available

at time zero - m identical parallel machines
- A job can be processed by at most one machine at

a time - e.g., Pm ?Cj
- More general models
- Parallel machines with different speeds, or

uniform machines (Qm) - Speed of machine i -- vi
- Processing time of job j on machine i -- pij pj

/vi - Unrelated machines in parallel (Rm)
- Speed of machine i on job j -- vij
- pij pj / vij

Minimizing the Makespan

- Makespan problem for parallel machines
- Resource allocation problem
- ? Sequence is not important
- Preemptable jobs -- Pm prmp Cmax
- Optimal makespan (McNaughton, 1959)
- M max?j1..n pj /m, maxpj
- ALGORITHM 1 -- Minimizing M with m parallel,

identical machines - 1. Select some job to begin on machine 1 at time

zero. - 2. Choose any unscheduled job and schedule it as

early as possible on the same machine. Repeat

this step until the machine is occupied beyond

time M (or until all jobs are scheduled). - 3. Reassign the processing scheduled beyond M to

the next machine instead, starting at time zero.

Return to Step 2. - Exercise
- Three machines, jobs with processing times of 1,

2, 3, 4, 5, 6, 7, 8 - M ? Optimal schedule?

Minimizing the Makespan

- Nonpreemptable jobs -- Pm Cmax
- NP-hard
- PARTITION reduces to Pm Cmax
- ? PARTITION -- NP-hard in ordinary sense
- Given positive integers a1, ..., at , is there a

subset X ? 1, ..., t such that 2??i?X ai a1

... at ? - Branch and bound? Not easy to obtain good lower

bound - Dynamic programming? Extremely large number of

states, commonly - List scheduling -- a plausible way
- Procedure
- 1. Construct a list of jobs.
- 2. Remove the first job from the list and place

it in the schedule as early as possible. - 3. Repeat Step 2 without changing the existing

partial schedule. - Dispatching mechanism for real-time decision,

possibly - Optimal schedule can always be produced by some

list scheduling! (why?) - Search space reduction to n!

Minimizing the Makespan

- Nonpreemptable jobs (contd)
- Performance guarantee
- A (worst-case) bound on the performance of a

particular solution procedure - General form with error bound r
- z ? r?z
- where z -- objective from heuristic, z -- that

of optimal solution - Theorem 1
- List scheduling for independent, nonpreemptable

jobs yields a makespan satisfying M /M ? 2

1/m. - Proof of Theorem 1
- Consider a schedule by a list scheduling with

makespan M. - Let k be a job that finishes at time M (start

time of the job M pk). - At time (M pk), all m machines must have been

occupied since time zero. - Hence, m(M pk) ? ?j1..n pj pk ? M ?

?j1..n pj /m pk(m 1)/m. - ?j1..n pj /m ? M (from results on preemptable

case) - pk ? M
- Therefore, M ? ?j1..n pj /m pk(m 1)/m ? M

/m M(m 1)/m.

Minimizing the Makespan

- Nonpreemptable jobs (contd)
- LPT list scheduling
- List scheduling by longest processing time (LPT)
- Theorem 2 (Graham, 1969)
- LPT list scheduling for independent,

nonpreemptable jobs yields a makespan satisfying

M /M ? 4/3 1/3m. - Proof of Theorem 2 (adopted from Pinedo, 2008)
- Suppose there exist counterexamples such that 4/3

1/3m ? M /M. - Then, there must exist an example with the

smallest number of jobs. - Consider this smallest one and assume it has n

jobs and job 1 is shortest. - Then, C1 M. Otherwise, a counterexample with

fewer jobs exists. (why?) - Since all other machines are busy at start of job

1, C1 p1 M p1 ? ?j2..n pj /m. - Hence, M ? p1 ?j2..n pj /m p1(1 1/m)

?j1..n pj /m. - Since M ? ?j1..n pj /m,4/3 1/3m ? M /M ?

p1(1 1/m)/M ?j1..n pj /mM ? p1(1 1/m)/M

1. - It leads to M ? 3p1 , which implies that the

optimal schedule may results in at most two jobs

on each machine. (why?) - However, LPT scheduling is optimal in that case

(why?), which is a contradiction.

Minimizing the Makespan

- Nonpreemptable jobs (contd)
- First-fit decreasing (FFD)
- To check whether makespan M is possible or not
- Procedure
- 1. Order the jobs according to LPT
- 2. Attempt to assign the first job on the list to

the first machine on which the job will fit

(i.e., it completes on or before M). If no such

machine exists, report FAIL. - 3. Repeat Step 2 until all jobs have been

scheduled. - Sometimes it fails, when a feasible schedule

actually exists. - ? Determining whether M is valid is no easier

than solving the makespan problem itself - ? It is from bin packing problem
- ? Best-fit decreasing ? LPT list scheduling
- Exercise
- 2 parallel machines, jobs with processing times

3, 3, 2, 2, 2, 2 - M by LPT list scheduling? Result of FFD using

that M?

Minimizing the Makespan

- Nonpreemptable jobs (contd)
- Multifit algorithm
- Determining schedule by searching for the

smallest feasible value of M, using FFD - Min. trial M -- LB from preemptable case
- Max. trial M -- max2?j1..n pj /m, maxpj, or

makespan of any feasible schedule - Theorem 3
- The multifit algorithm for independent,

nonpreemptable jobs yields a makespan satisfying

M /M ? 72/61, or about 1.18.

Minimizing the Makespan

- Dependent nonpreemptable jobs -- Pm prec Cmax
- Complexity
- Strongly NP-hard, generally
- Special cases
- P1 prec Cmax
- Easy (why?)
- P? prec Cmax
- Project scheduling, polynomially solvable by CPM

(critical path method) - Pm pj1, intree Cmax , Pm pj1, outtree

Cmax - P2 pj1, prec Cmax

intree (assembly tree)

outtree

Minimizing the Makespan

- Dependent nonpreemptable jobs (contd)
- Intree and unit-length jobs -- Pm pj1, intree

Cmax - Critical path (CP) rule gives optimal schedule
- To give highest priority to the job at the head

of the longest string of jobs in the precedence

graph (ties may be broken arbitrarily) - A.k.a. highest level first rule
- ? Equivalent to ALGORITHM 2 scheduling phase
- Proof of optimality -- see p. 120 of Pinedo

(2008) - ? Analogous to LPT list scheduling
- Exercise
- Three parallel machines, following intree jobs

with unit processing time

12

17

13

8

5

2

14

9

6

3

1

15

10

7

4

16

11

Minimizing the Makespan

- Dependent nonpreemptable jobs (contd)
- Arbitrary precedence with two machines -- P2

pj1, prec Cmax - Critical path (CP) rule using labels of direct

successors - To give priority to the job with the

lexicographically smallest sequence of direct

successors labels in nonincreasing order - ? Equivalent to ALGORITHM 3 scheduling phase
- Exercise
- Three parallel machines, unit-length jobs with

following precedence

6

5

3

0

4

7

2

1

Minimizing the Makespan

- Preemptable jobs
- Arbitrary precedence with two machines -- P2

prmp, prec Cmax - A possible approach
- Transforming to P2 pj1, prec Cmax with

chains - Example
- Guarantee optimal?
- No! The jobs must be divided into

half-unit-length jobs.

6

5

7

1

1

1

2

2

2

6

5

7

6

5

7

1

1

1

4

4

1

1

2

1

3

2

1

3

1

1

1

1

1

1

Minimizing Total Flowtime

- Minimizing F -- Pm ?Cj
- Notation
- pij -- processing time of the jth job in

sequence on the ith machine - Fij -- flowtime of the jth job in sequence on

the ith machine - nj -- number of jobs processed by the ith machine
- Objective function
- F ?i1..m ?j1..ni Fij ?i1..m ?j1..ni (ni

j 1)pij - Solution approach
- F as scalar product of two vectors
- Matching integer coefficients (ni j 1) with

processing times pij - F cannot be minimized unless ni differ by at most

one. (why?) - SPT list scheduling
- Dispatching procedure and adaptable dynamic job

arrivals - Exercise
- Two parallel machines and six jobs with

processing times of 1, 2, 3, 4, 5, 6 - Minimizing Fw -- Pm ?wjCj
- NP-hard

Summary

- More than one machine
- Allocation and sequencing
- In case of makespan problems, allocation may be

enough - Two-phase method, commonly, because of complexity
- Allocation first, sequencing next considering as

single machine - LPT list scheduling
- Applicable to some situations
- No precedence, intree, critical path
- Flowtime measures
- Total tardiness problems
- Very limited optimization approaches