IOE/MFG 543 Chapter 5: Parallel machine models (Sections 5.1-5.2)

advertisement
IOE/MFG 543
Chapter 5: Parallel machine
models
(Sections 5.1-5.2)
1
Two-step process
1.
2.
Determine which jobs have to be
allocated to which machines
Determine the sequence of the
jobs allocated to each machine
– In some cases use single machine
models
2
Makespan Cmax

Single machine models
– Sum of processing times of all jobs
– Exception: Release dates or
sequence dependent setup times

Parallel machine models
– Minimizing the makespan ensures a
good load balance on the machines
3
Section 5.1 Makespan
without preemptions Pm||Cmax


Pm||Cmax is NP-hard => Heuristics
Easy to compute lower bound
Cmax ≥ C*max= max{pmax, (Spj)/m}
where pmax=max{pj}

Longest Processing Time first (LPT)
– Largest m jobs are put on the machines first
– When a machine is freed, the longest job among
the jobs not yet processed is put on the machine
4
Worst case bound for the
LPT rule
 Let
– Cmax(LPT) be the makespan under the
LPT rule
– Cmax(OPT) be the optimal makespan
 Theorem 5.1.1
Cmax(LPT)
4
1
≤
Cmax(OPT)
3 3m
5
LPT Example



4 machines and 9 jobs
job j
1
2
3
4
5
6
pj
7
7
6
6
5
5
Compute Cmax(LPT)
Pair the jobs 1-5, 2-6, 4-5, 7-8-9
7
4
8
4
9
4
– What is Cmax?
– Is this Cmax(OPT)? Why?

What is Cmax(LPT)/Cmax(OPT)
6
Precedence constraints
Pm|prec|Cmax

At least as hard as Pm||Cmax
– Strongly NP-hard in general

Special case: P∞|prec|Cmax
– unlimited resources (or m≥n, more
resources than jobs)

For P∞|prec|Cmax the Critical Path
Method (CPM) minimizes the
makespan
7
Algorithm 5.1.3
Critical path method


Start a job as soon as all its preceding
jobs have been completed
Example 5.1.4
job j
1
2
3
4
5
6
7
8
9
pj
4
9
3
3
6
8
8 12
6
1
3
4
2
6
7
8
9
5
8
Precedence constraints
Pm|prec|Cmax (2)


A critical path rule is optimal for
Pm|pj=1, tree|Cmax (Theorem 5.1.5)
Largest Number of Successors rule
often used for Pm|pj=1, prec|Cmax
– Not optimal (see pg. 102)

Largest total amount of processing
rule for Pm|prec|Cmax
– Not optimal
9
Pm|Mj|Cmax

For interest: See pages 103-104
10
Section 5.2 Makespan with
preemptions Pm|prmp|Cmax


Preemptions are useful when there are
multiple machines even if there are no
release dates
Assumption: A job cannot be
processed on 2 machines at the same
time
11
Linear program for
Pm|prmp|Cmax
minimize
Cmax
subject to
Sxij=pj
m
j=1,…,n
i=1
m
Sxij≤Cmax
j=1,…,n
i=1
n
Sxij ≤Cmax
i=1,…,m
xij≥0
i=1,…,m j=1,…,n
j=1
12
Linear program for
Pm|prmp|Cmax (2)



xij is the amount of processing of job j
on machine i
Cmax is a decision variable
The solution of the LP does not give a
feasible schedule, although a feasible
schedule can be constructed given the
solution
13
Algorithm 5.2.3 for
Pm|prmp|Cmax
1.
2.
3.
Create a single machine schedule of the n
jobs in any order without preemptions
Compute C*max= max{pmax, (Spj)/m}.
Cut the single machine schedule in m
intervals: I1=[0, C*max], I2= [C*max,
2C*max], …, Im=[(m-1)C*max,mC*max]
Take the schedule for machine i of the
parallel machines to be the processing
sequence in interval Ii
14
Pm|prmp|Cmax example

Use Algorithm 5.2.3 to determine a
schedule that minimizes the
makespan of the following jobs on 3
machines
job j 1 2 3 4 5 6 7 8 9
pj
4 9 3 3 6 8 8 12 6
15
Longest Remaining
Processing Time rule



Analogous to the LPT rule
LRPT minimizes the makespan
What happens while a job is
processed?
– RPT decreases => switch to a new job
– Results in infinitely many switchovers!

LRPT-FM (FM=fastest machine) is
optimal for Qm|prmp|Cmax
16
Download