You are on page 1of 14

Operations Scheduling

part 3

Source: Sipper and Bulfin, Production Planning, Control and Integration,


McGraw Hill.
Job shops - Bottleneck Scheduling
o The bottleneck machine should drive the schedule for
the whole shop.
o We study one simple method for bottleneck
scheduling.
1. Find the bottleneck machine.
2. Schedule the bottleneck machine effectively.
3. The other machines are made to comply to this schedule.
o Machines after the bottleneck (downstream) are forward scheduled
by the dispatching rules.
o Machines before the bottleneck (upstream) are backward scheduled
using due dates (as in MRP).

2 IE324-Week 13 Operations Scheduling 18/5/2011


Job shops - Bottleneck Scheduling
o Finding the bottleneck machine
o By observation: piles of WIP in front of the bottleneck.
o Estimate the workload on each machine
o Ʃ Processing times of jobs on the machine / scheduling horizon.
(34 hours of processing time / 40 hours in a week) x 100=85%.
o The machine with the highest workload % would likely be the bottleneck.
o Scheduling the bottleneck machine
o Let
o i: job
o b: bottleneck machine (j=b)
o p i j : processing time of job i on machine j
o ri : ready time of job i at the shop
o di : due date of job i
o rbi : bottleneck release time for job i (time job i arrives at b)
o dbi : bottleneck due date for job i (time when job i should leave b)

3 IE324-Week 13 Operations Scheduling 18/5/2011


Job shops - Bottleneck Scheduling
o Assuming that there is no waiting, release time of job i at the
bottleneck machine b:
b 1
rib  ri   pi l
l 1

and due date for the operation of job i on the bottleneck machine
b:
m
dib  di   pi l
l b1

o Now schedule the bottleneck machine b as a single machine with


nonzero release times.  1 I ri I Cmax or 1 I ri I Tmax or 1 I ri I ΣF

4 IE324-Week 13 Operations Scheduling 18/5/2011


Job shops - Bottleneck Scheduling

o 1 I ri I ... is a hard problem.  B & B algorithm or dispatching rule is


used that depends on the performance measure for the job shop.
o Using a dispatching rule for 1 I ri I ... :
Step 0. Set U={1,2,...,n} and t  mini U ri
b

Step 1. Let S={i I rbi ≤ t, i є U} be the available jobs. Schedule job i* on


b among jobs in S, where i* has the best priority.
Step 2. Set U  U – {i*}. If U=ø, stop; all jobs have been scheduled.
Otherwise set t=max { min iєU rbi , t + pi* b } and go to Step 1.
o Dispatching rules to use:
o most work remaining, if the measure is Cmax.
o least work remaining, if the measure is flow time.
o smallest due date on the bottleneck, if the measure is Tmax.
o Others..

5 IE324-Week 13 Operations Scheduling 18/5/2011


Job shops - Bottleneck Scheduling
o Upstream and downstream schedules
o The completion time of a job on the bottleneck = arrival time for
its operation immediately after the bottleneck.
o The start time of a job on the bottleneck = due date for the
operation immediately preceding the bottleneck.
o Release times and due dates are determined for jobs on a
particular machine from the bottleneck schedule.
o Then each machine is scheduled as a single machine problem.
o Consider a particular machine. If an operation of a job precedes
the bottleneck, complete the operation by its due date so that it
will arrive at the bottleneck before the scheduled start time there.
Since the job may have other operations preceding this one,
schedule it as late as possible: complete it at its due date. 
backward scheduling.
o Operations after the bottleneck may have other operations
following: start them as soon as possible.  forward scheduling.
6 IE324-Week 13 Operations Scheduling 18/5/2011
Job shops - Bottleneck Scheduling
o A feasible job shop schedule
o When all machines have been scheduled independently, a
sequence of jobs on each machine results.
o How to get a feasible job shop schedule then?
o Do not not allow a job to enter the available set until both its
predecessor operations and all jobs preceding it in the machine
sequence have been completed.
o Example: 6 jobs, 4 machines. Machine
job 1 2 3 4 sum
o From the job workloads:
1 6 8 13 5 32
minimum makespan=34 min.
2 4 1 4 3 12
o From the machine sums: machine 3 3 6 8 4 3 21
must process for at least 44 min. 4 10 5 15 4 34
 a better lower bound for makespan 5 3 4 4 6 17
is 44 min. Machine 3 is the bottleneck. 6 2 4 4 5 15
sum 31 30 44 26
7 IE324-Week 13 Operations Scheduling 18/5/2011
Job shops - Bottleneck Scheduling
o Example (cont’d): 6 jobs, 4 machines. Machine
o Routing of jobs: job 1 2 3 4 sum
jobs routing 1 6 8 13 5 32
1 1-2-3-4 2 4 1 4 3 12
2 1-2-3-4
3 6 8 4 3 21
3 4-2-1-3
4 10 5 15 4 34
4 2-1-3-4
5 3 4 4 6 17
5 1-2-4-3
6 3-1-2-4 6 2 4 4 5 15
sum 31 30 44 26
For bottleneck machine 3, release times and due dates:
For example: r31 =p11+ p12 = 6+8=14 and d31 =44 - p14 = 44-5=39

Job i 1 2 3 4 5 6
r3i 14 5 17 15 13 0
d3i 39 41 44 40 44 33
pi3 13 4 4 15 4 4

8 IE324-Week 13 Operations Scheduling 18/5/2011


Job shops - Bottleneck Scheduling
o Example (cont’d): For bottleneck machine 3 Machine
job 1 2 3 4 sum
Job i 1 2 3 4 5 6
1 6 8 13 5 32
r3i 14 5 17 15 13 0
2 4 1 4 3 12
d3i 39 41 44 40 44 33
3 6 8 4 3 21
pi3 13 4 4 15 4 4 4 10 5 15 4 34
5 3 4 4 6 17
t S [start, complete] 6 2 4 4 5 15
0 6 [0,4] sum 31 30 44 26

5 2 [5,9]
13 5 [13,17]
17 1,3,4 [17,30]
6 2 5 1 4 3
30 3,4 [30,45] 0 4 5 9 13 17 30 45 49
45 3 [45,49]
Select the job in S with EDD. Then the sequence for the bottleneck:
6 - 2 - 5 - 1 - 4 - 3. Cmax=49
9 IE324-Week 13 Operations Scheduling 18/5/2011
Job shops - Bottleneck Scheduling
o Example (cont’d): Machine
o Now schedule the other machines. job 1 2 3 4 sum
jobs routing 1 6 8 13 5 32
1 1-2-3-4 2 4 1 4 3 12
2 1-2-3-4 3 6 8 4 3 21
3 4-2-1-3 4 10 5 15 4 34
4 2-1-3-4 5 3 4 4 6 17
5 1-2-4-3 6 2 4 4 5 15
6 3-1-2-4 sum 31 30 44 26
Machine 1:
r13 =p34+ p32 = 3+8=11, d13 =45 (from the schedule of bottleneck machine 3)
d11 =17- p12 = 17-8=9 for job 6 f: r16 =4 and d16 =49- p62 - p64 = 49-4-5=40
Job i 1 b 2b 3b 4b 5b 6f
r1i 0 0 11 5 0 4
d1i 9 4 45 30 3 40
pi1 6 4 6 10 3 2
10 IE324-Week 13 Operations Scheduling 18/5/2011
Job shops - Bottleneck Scheduling
o Example (cont’d): now schedule machine 1.
o Scheduling machine 1:
- Choose the job in S with the EDD. Backward schedule any job with an
operation on machine 1 that comes before its operation on bottleneck
machine 3 and forward schedule the others.
- To backward schedule a job, schedule it to complete as late as possible
and be on time, since there may be other operations of the same job to
be done before it.
But if there is no idle period, the job must be scheduled elsewhere: first
try to create enough idle time by starting previously scheduled jobs earlier
without violating their release times, or by delaying the start of a
previously scheduled job without violating its due date.
If successful, an idle period is created where the current job can be
scheduled. If not, schedule the job with minimum tardiness possible.
 In the case of tardiness: increase in makespan.
11 IE324-Week 13 Operations Scheduling 18/5/2011
Job shops - Bottleneck Scheduling
o Example (cont’d): Scheduling machine 1:
- To forward schedule a job, start the job as soon as possible. If possible,
start it at its release date; if not, it must be delayed.
- Jobs 1, 2, 5 have release times of 0. Since job 5 has the earliest due
date, it is chosen. It should be backward scheduled  schedule it to
complete at its due date (time 3), so it will start at time 0. Advance time
to 3, and job 2 is scheduled next. Machine 1 schedule:
t S [start, complete]
0 1,2,5 [0,3]
3 1,2 [3,7] 5 2 1 6 4 3
7 1,4,6 [7,13] 0 3 7 13 15 20 30 39 45
13 3,4,6 [20,30]
13 3,6 [13,15]
15 3 [39,45] sequence: 5-2-1-6-4-3
Repeat this procedure for machines 2 and 4.
12 IE324-Week 13 Operations Scheduling 18/5/2011
Job shops - Bottleneck Scheduling
o Example (cont’d):
To get the job shop schedule, use a dispatch procedure that maintains the
sequence of jobs on all machines.
No priority is needed, since
an operation will not be ready to schedule until its previous operation
has completed on another machine
and the operation of the job immediately preceding it on this
machine has completed.
The Gantt chart for the final schedule:

Cmax=53
13 IE324-Week 13 Operations Scheduling 18/5/2011
Job shops - Bottleneck Scheduling
o Example (cont’d):
Another machine could be selected as the bottleneck machine or wait times
included in the release times and due dates of machine 3; and the procedure
repeated.

The solution seems good enough, so we stop.

14 IE324-Week 13 Operations Scheduling 18/5/2011

You might also like