Contents
Introduction
Job Shop Scheduling Terminology
Sequencing Rules
Sequencing Theory for a Single Machine
Sequencing Theory for Multiple Machines
Assembly Line Balancing
Advanced Topics for Operations scheduling
Introduction-What is Operations Scheduling ?
Forecast of future demand
Implement the production
orders generated in MRP under
given objectives ; Aggregate plan
Allocate production resources
(machine, workers et al.) to
production orders (jobs or tasks Master production schedule (MPS)
and their due dates) in an Schedule of production quantities by
optimized manners; products and time period
The results are time allocations
of production resources to Material Requirement Planning (MRP)
different jobs (job sequences on Generate Production orders and
each production resources); purchase order
All the orders can be completed
while all production resources Operations Scheduling
are utilized with their loads To meet quantities and time
being balanced. requirements for MRP
Introduction-Objectives of Job Shop Scheduling
Discussion
1) and 3) aim at providing a high level of costumer service;
2), 4), 5) and 6) are to provide a high level of plant efficiency;
Impossible to optimize all above objectives simultaneously;
Proper trade off between cost and quality is one of the most
challenging strategic issues facing a firm today;
Introduction-Objectives of operations Scheduling
Discussion (Cont.)
Some of these objectives conflicts, e.g.
Reduce WIP inventory Worker idle time may increase or
machine utilization may decrease;
Reasons: differences in the throughput rate from one part of
the system to the another may force the faster operations to
wait, if there is no buffer for WIP between 1 and 2 .
Flow shop:
Each of the n jobs
must be processed
through the m
machines in the
same order.
Each job is
processed exactly
once on each
machine.
Drilling Center
Turnning Center
Work Center 2
Work Center 1
Job A
Not all jobs are assumed to require exactly the same number of operations,
and some jobs may require multiple operations on a single machine
(Reentrant system, Job B twice in work center 3 ).
Each job may have a different required sequencing of operations.
No all-purpose solution algorithms for solving general job shop problems ;
Operations scheduling of shop floor usually means job shop scheduling;
Introduction-Elements of the Shop Floor Scheduling Problems
Job B
M3 M4 Job B
M3 M4
M1, M2, M3, and M4 are different;
Job A has 2 operations which should
be processed on different Machines: M1, M2, M3, and M4 are
M1and M2; identical;
Job B has 3 operations which should Jobs A and B can be processed
be processed on different Machines: on any one of the 4 machines
M3, M2 and M4;
Job Shop Scheduling Terminology
2. Flow time
The flow time of job i is the time that elapses from the initiation of
the first job on the first machine to the completion of job i.
The mean flow time, which is a common measure of system
performance, is the arithmetic average of the flow times for all n
jobs
Machines Mean Flow Time=(F1+F2+F3)/3
F3: FT of Job 3
Job Shop Scheduling Terminology
3. Make-span
The make-span is the time required to complete a group of jobs (all n
jobs).
Minimizing the make-span is a common objective in multiple-
machine sequencing problems.
Machines
F3: FT of Job 3
Make-span of the 3 jobs
Job Shop Scheduling Terminology
3. Make-span
The make-span is the time required to complete a group of jobs (all n
jobs).
Minimizing the make-span is a common objective in multiple-
machine sequencing problems.
Machines
When the completion of Job is earlier than due date, the tardiness is 0
Sequencing Rules
CR (Critical ratio)
Critical ratio is the remaining time until due date divided by processing
time;
Scheduling the job with the shortest CR next;
Current time Remaining time of Job i Due date of Job i
CR provides the balance between SPT and EDD, such that the task with
shorter remaining time and longer processing time takes higher priority;
CR will become smaller as the current time approaches due date, and more
priority will given to one with longer processing time..
For a job, if the numerator of its CR is negative ( the job has been already
later), it is naturally scheduled next;
If more jobs are later, higher priority is given to one that has shorter
processing time (SPT).
Sequencing Rules
Example 8.1
A machine center in a job shop for a local fabrication company has five
unprocessed jobs remaining at a particular point in time. The jobs are labeled
1, 2, 3, 4, and 5 in the order that they entered the shop. The respective
processing times and due date are given in the table below.
Sequence the 5 jobs by above 4 rules and compare results based on mean
flow time, average tardiness, and number of tardy jobs
1 11 61
2 29 45
3 31 31
4 1 33
5 2 32
Sequencing Rules——FCFS
1 11 61
2 29 45
3 31 31
Mean Flow time=268/5=53.6
4 1 33
Average tardiness=121/5=24.2
5 2 No. of tardy jobs=3. 32
1 11 61
2 29 45
3 31 31
Mean Flow time=135/5=27.0
4 1 33
Average tardiness=43/5=8.6
5 2 32
No. of tardy jobs=1.
1 11 61
2 29 45
3 31 31
Mean Flow time=235/5=47.0
4 1 33
Average tardiness=33/5=6.6
5 2 32
No. of tardy jobs=4.
Both Jobs 4 and 5 are later, however Job 4 has shorter processing time
and thus is scheduled first;
Job number Processing Time Completion Tardiness
Time
3 31 31 0
2 29 60 15
4 1 61 28
5 2 63 31
1 11 74 13
Totals 289 87
Sequencing Rules——Summary
Discussions
SPT results in smallest mean flow time;
EDD yields the minimum maximums tardiness (42, 43, 18, and 31 for
the 4 different rules);
Always true? Yes!
Sequencing Theory for A Single Machine
t1 t2 t3 t4
W4=t1+t2+t3 F4=W4+t4
Fi=Flow time for job i, the waiting time plus the processing time: Fi= Wi+ ti;
Li=Lateness of job i , Li= Fi- di, either positive or negative;
Ti=Tardiness of job i, the positive part of Li, Ti=max[Li,0] ;
Ei=Earliness of job i, the negative part of Li, Ei =max[- Li,0]
Sequencing Theory for A Single Machine
n
1
Mean Flow Time F
'
F n i 1
i
1. Shortest-Processing-Time Scheduling
Theorem 5.1 The scheduling rule that minimizes the mean
flow time F’ is SPT
Suppose a schedule is [1], [2], [k], [k+1],
k
F [k ]
t
i 1
[i ]
[n], the flow time of the job that is scheduled in
position k is given by, say job in position 3:
F[3]=t[1]+t[2]=t2+t1
n n k
1 1
F t
'
The mean flow time of all jobs on F n [k ]
n [i ]
i 1 k 1 i 1
the schedule is given by
Sequencing Theory for A Single Machines
1. Shortest-Processing-Time Scheduling
Theorem 5.1 The scheduling rule that minimizes the mean flow time F’ is
SPT
n n k
1 1
F t
'
The mean flow time is given by F n [k ]
n [i ]
i 1 k 1 i 1
The double summation term may By summing down the column
be written in a different form. rather than across the row, we may
Expanding the double summation, rewrite F’ in the form
we obtain
k=1:t[1] ; nt[1]+(n-1)t[2]+…+t[n]
k=2:t[1]+ t[2];
…;
k=n:t[1]+ t[2 +…t[n] Clearly, it is minimized by setting
t [1]
t[ 2] ... t[ n]
SPT sequencing rule: the job with shortest processing time t is set first
Sequencing Theory for A Single Machines
Example 8.3
Job 1 2 3 4 5 6
Due date 15 6 9 23 20 30
Processing time 10 3 4 8 10 6
Job 2 3 1 5 4 6
Due date 6 9 15 20 23 30
Processing time 3 4 10 10 8 6
Completion 3 7 17 27 35 41
time
Sequencing Theory for A Single Machines
Job 2 3 5 4 6
Due date 6 9 20 23 30
Processing time 3 4 10 8 6
Completion time 3 7 17 25 31
Job 2 3 4 6
Due date 6 9 23 30
Processing time 3 4 8 6
Completion time 3 7 15 21
The Algorithm
First schedules the job to be completed last, then the job to be completed
next to last, and so on. At each stage one determines the set of jobs not
required to precede any other. Call this set V. among the set V, choose the
job k that satisfies
g k ( ) min ( g i ( ))
iv
i 1 t i
n The processing time of the current sequence
Sequencing Theory for A Single Machines
Example 8.4
Job 1 2 3 4 5 6
Processing 2 3 4 3 2 1
time
Due date 3 6 9 7 11 7
Sequencing Theory for A Single Machines
Example 8.4
Not predecessor
Step1: find the job scheduled last(sixth)
Job 1 2 3 4 5 6
Processing 2 3 4 3 2 1
time
Due date 3 6 9 7 11 7
3 5 6
τ =2+3+4+3+2+1=15
Tardines 15-9=6 15-11=4 15-7=8
Step2: find the job scheduled fifth s
Not predecessor
Job 1 2 3 4 6
Processing 2 3 4 3 1
time
Due date 3 6 9 7 7
3 6
τ =15-2=13 Tardines 13-9=4 13-7=6
Sequencing Theory for A Single Machines
Example 8.4
Not predecessor
Step3: find the job scheduled fourth
Job 1 2 4 6
Because job3 is no
Processing 2 3 3 1 longer on the list,
time job 2 now because
a candidate.
Due date 3 6 7 7
2 6
τ =13-4=9
Tardines 9-6=3 9-7=2
Step4: find the job scheduled third s
Not predecessor
Because job6 has
Job 1 2 4 been scheduled, so job 4
now because a candidate
Processing 2 3 3 along with job 2.
time
Due date 3 6 7
2 4
τ =9-1=8 Tardines 8-6=2 8-7=1
Sequencing Theory for A Single Machines
Example 8.4
Not predecessor
Step5: find the job scheduled second
Job 1 2
Processing 2 3 The optimal sequence: 1-2-4-6-3-5
time
Due date 3 6
Gantt chart
Suppose that two jobs, I and J, are to be scheduled on
two machines, 1 and 2, the processing times are
Machine 1 Machine 2
Job I 4 1
Job J 1 4
Schedule Total flow time Mean flow time Mean idle time
1 9 (5+9)/2=7 (4+4)/2=4
2 6 5.5 1
3 10 8 5
4 10 9.5 5
Sequencing Theory for Multiple Machines
1. Scheduling n Jobs on Two Machines
Theorem 8.2 The optimal solution for scheduling n jobs on two machines
is always a permutation schedule.
A very efficient algorithm for solving the two-machine
problem was discovered by Johnson(1954).
Denote the machines by A and B
The jobs must be processed first on machine A and then on machine
B.
Define
Ai=Processing time of job i on machine A
Bi=Processing time of job i on machine B
Rule: Job i precedes job i+1 if min(Ai, Bi-1)<min(Ai+1,Bi)
List the values of Ai and Bi in two columns.
Find the smallest remaining element in the two columns. If it
appears in column A, then schedule that job next. If it appears in
column B, then schedule that job last.
Cross off the jobs as they are scheduled. Stop when all jobs have
been scheduled.
Sequencing Theory for Multiple Machines
Optimal sequence : 2 4 3 5 1
Sequencing Theory for Multiple Machines
3. The Two-Job Flow Shop Problem: assume that two jobs are
to be processed through m machines. Each job must be
processed by the machines in a particular order, but the
sequences for the two jobs need not be the same.
Draw a Cartesian coordinate system with the processing times
corresponding to the first job on the horizontal axis and the processing
times corresponding to the second job on the vertical axis.
Block out areas corresponding to each machine at the intersection of
the intervals marked for that machine on the two axes.
Determine a path from the origin to the end of the final block that
does not intersect any of the blocks and that minimizes the vertical
movement. Movement is allowed only in three directions: horizontal,
vertical, and 45-degree diagonal. The path with minimum vertical
distance corresponds to the optimal solution.
Sequencing Theory for Multiple Machines
Example 8.7
A regional manufacturing firm produces a variety of household products. One
is a wooden desk lamp. Prior to packing, the lamps must be sanded, lacquered,
and polished. Each operation requires a different machine. There are currently
shipments of two models awaiting processing. The times required for the three
operations for each of the two shipments are
Job 1 Job2
Operation Time Operation Time
Sanding(A) 3 A 2
Lacquering(B) 4 B 5
Polishing( C ) 5 C 3
Minimizing the flow time is the same as maximizing the time that both jobs are
being processed.that is equivalent to finding the path from the origin to the end of
block C that maximizes the diagonal movement and therefore minimizes either the
horizontal or the vertical movement.
or 10+6=16
or 10+(3+2)=15
Assembly Line Balancing
Example 8.11
The Final assembly of Noname personal computers, a generic mail-order PC
clone, requires a total of 12 tasks. The assembly is done at the Lubbock,
Texas, plant using various components imported from the Far East. The
network representation of this particular problem is given in the following
figure.
Assembly Line Balancing
ti=70, and the production rate is a unit/15 minutes;
Precondition The minimum number of workstations = [70/15]=5
The job times and precedence relationships for this problem are summarized
in the table below.
Profile 1 C=15
Station 1 2 3 4 5 6
Tasks 1 2, 3, 5, 6, 9 7, 8 10, 11 12
4
Processing time 12 14 15 12 10 7
Idle time 3 1 0 3 5 8
Task Immediate Time
Predecessors
1 _ 12
2 1 6
3 2 6
4 2 2
5 2 2
6 2 12
7 3, 4 7
8 7 5 The ranking
9 5 1
10 9, 6 4 1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11,
11 8, 10 6 12
12 11 7
Assembly Line Balancing
Profile 1 C=15
Station 1 2 3 4 5 6
Tasks 1 2,3,4 5,6,9 7,8 10,11 12
Processing time 12 14 15 12 10 7
Idle time 3 1 0 3 5 8
15
Evaluate the
Cycle Time=15 balancing results by
the efficiency
T1=12 T2=6 ti/NC;
T2=6 T3=6 T4=2 T5=2 The efficiencies
T5=2 T6=12 T9=1 for Profiles 1 ~ 3 are
77.7%, 87.5%, and
T7=7 T8=5 T10=4 89.7%. Thus the
T10=4 T11=6 T12=7 profile 3 is the best
T12=7 one.
Assembly Line Balancing
Station 1 2 3 4 5
Tasks 1 2,3,4,5 6,9 7,8,10 11,12
Idle time 4 0 3 0 3
Increasing the cycle time from 15 to 16, the total idle time
has been cut down from 20 min/units to 10; resulting in a
substantial improvement in balancing rate.
However, the production rate has to be reduced from one
unit/15 minutes to one unit/16minute;
Assembly Line Balancing
Profile 2 C=13
Station 1 2 3 4 5 6
Tasks 1 2,3 6 4,5,7,9 8,10 11,12
Idle time 1 1 1 1 4 0