You are on page 1of 252

1

LESSON 12: INTRODUCTION TO


OPERATIONS SCHEDULING
Outline

Hierarchy of Production Decisions
Operations Scheduling
Production Systems
2
Hierarchy of Production Decisions
After a production facility and processes are set up, a
series of production planning decisions are required. The
entire decision making process may be viewed as a
hierarchical process. A conceptual view of the hierarchical
process is given in Text Figure 8-1 (see the next slide).
First, one would like to know how much demand may be
expected and when the demand may be expected. This
question is addressed by forecasting.
An aggregate plan determines the aggregate production
levels and resource capacities over the planning horizon.
The production levels are often different from the
3
Aggregate Plan
Forecast of demand
Material Requirements Planning System
Master Production Schedule
Detailed Job Shop Schedule
Figure 8-1: Hierarchy of Production Decisions
4
Hierarchy of Production Decisions
forecasted demand levels because of seasonality
associated with the demand, constraints on the availability
of production resources, etc. The resource capacities
such as workforce levels are determined assuming one
aggregate unit of production.
Master production schedule (MPS) translates the
aggregate plan in terms of specific units of production and
time period. For example, an aggregate plan may require
550 units of chairs in April. MPS then translates the
requirement into 200 units of desk chair in Week 1, 150
units of ladder-back chair in Week 2 and 200 units of
Kitchen chair in Week 3.
5
Hierarchy of Production Decisions
The MPS generates the production plan in terms of finished
products which often require components or subassemblies.
The materials requirements planning (MRP) computes the
changes in the inventory levels of components and
subassemblies over the planning horizon and determines the
size and timing of ordering the components and
subassemblies.
Next comes operations scheduling. After generating demand
forecast, workforce capacities, production plan, and
purchasing plan, its logical to ask which worker or machine
will be used to produce which product and when the products
will be produced. This is answered by operations scheduling.
6
An operations scheduling question is given in the previous
slide. In more general terms, operations scheduling is the
allocation of resources over time to perform a collection of
tasks.
Examples of resources:
Workers, Machines, Tools
Examples of tasks:
Operations that bring some physical changes to material in
order to eventually manufacture products
Setups such as walking to reach the workplace, obtaining
and returning tools, setting the required jigs and fixtures,
positioning and inspecting material, cleaning etc.
Operations Scheduling
7
Operations and Jobs
The above definition of scheduling uses the more general
term of task that includes both operations and setup.
We shall most often use the terms operation and job.
A collection of operations on a single product is a job.
The planning horizon
The planning horizon of a scheduling decision is very short
say days, weeks or months.
Schedule
A schedule is the final outcome of operations scheduling
and gives a detail chart of what activities will be done using
various resources over the planning horizon.
Operations Scheduling
8
Sequencing
Sequencing and scheduling are similar terms. But
sequencing does not refer to time. For example, if a bank
teller processes 5 customers, the bank teller may just
process the customers on a first come first served basis
without any planning about exact start and end times for
each customer. Thats sequencing. Scheduling, in contrast,
produces a detail plan of various activities over time.
A Gantt chart representation of a schedule
A Gantt chart representation of a schedule is shown on the
next slide. Suppose that there are two machines: one lathe
machine and one grinding machine. Two jobs Job A12 and
Job B23 are to be produced over the next 14 days.
Operations Scheduling
9
Operations Scheduling
Grinding machine
2 4 6 8 10 12
Days
14
Lathe machine Job A12
Job A12
Job B23
Job B23
10
The schedule shown on the Gantt chart gives a detail plan:
The lathe machine will be used by Job A12 on days 1-4,
and Job B23 on days 5-8
The grinding machine will be used by Job A12 on days
5-10 and Job B23 on days 11-14.
Notice that
No job uses more than one machine simultaneously
No machine processes more than one job
simultaneously.
The above are some standard assumptions/
requirements which will be maintained throughout this
chapter/ course.
Operations Scheduling
11
As it is in the example Gantt chart, it is customary to show:
resources such as machines on the y-axis
time on the x-axis and
each job (or operation) by a rectangle proportional to
the length of the time required to process the job (or
operation).
The Gantt chart is used not only for planning but also for
monitoring. For example, on Day 8, one can check if Job
B23 is completed by the lathe machine.
There will be more exercises on Gantt chart in Lessons 2,
5, 6 and 9.
Operations Scheduling
12
Operations Scheduling
Generalization of scheduling models, job and machine
The scheduling models use the terms like job and
machine. However, the models actually apply to many
processes that has nothing to do with jobs and machine
at all!
For example, suppose that Mary and Marcia require
advising in three subjects: business, computer science
and mathematics. Each of Mary and Marcia will see the
advisors separately. They would like to complete
discussions as soon as possible. One can view the
situation a 3-machine, 2-job problem where the
machines represent the advisors and jobs represent
Mary and Marcia.
13
Production Systems
Product characteristics differ.
Some products are standard and require minimal or no
variation from one item to another. These products are
produced in large volume on the basis of demand forecast.
Examples of standard products include staple products,
economy cars, etc.
Some other products are produced only on the basis of
customer order and there exist significant differences
among the items. These products are produced in low
volumes. Examples of custom products include luxury cars,
fashion clothes, etc.
14
Production Systems
Different product characteristic requires a different
production system.
Standard products require a
make-to-stock or assemble-to-stock production system
Custom products require a
make-to-order or assemble-to-order production system

15
Production Systems: Flow Shop
A make-to-stock/assemble-to-stock production system is
associated with
High volume of production: so, its feasible to make a
high capital investment
Less variation: so, there is less uncertainty
Standard products: so, there is a predictable pattern of
flow of jobs through the machines.
The above characteristics of products encourages the
use of a flow shop: the machines are arranged in the
order in which every job visits the machines. The
production system is not flexible; it cannot produce items
if design changes significantly.
16
IN
OUT
Production Systems: Flow Shop
The above picture is a conceptual view of a flow shop. The
boxes represent machines and the arrows show the job flow.
Every job visits the machines in the same order.
17
Production Systems: Job Shop
A make-to-order/assemble-to-order production system is
associated with
Low volume of production: so, its not feasible to make a
high capital investment
More variation: so, there is more uncertainty
Custom products: so, there is no predictable pattern of
flow of jobs through the machines.
The above characteristics of products encourages the
use of a job shop: the machines are arranged
functionally. So, the production system is flexible; it can
produce items of a wide variety of designs.
18
L
L
L
L
L
L
L
L
L
L M
M
M
M
D
D
D
D
D
D
D
D
G
G
G
G
G
G
P
P
A A A
Receiving and
Shipping
Assembly
Painting Department
Lathe Department
Milling
Department
Drilling Department
Grinding
Department
Production Systems: Job Shop
A conceptual view of a job shop
19
Production Systems: Batch Production
In between flow shop and job shop, there is batch
production that gives best of both shops (flow shop and job
shop) to some extent.
A batch production system is flexible like a job shop, but
capable of producing a moderately high volume like a flow
shop.
Similar but different products are produced using the same
facility, machine or workforce. However, the system is
associated with setups. Whenever the facility, machine or
worker switches from producing one product to another, a
setup time or cost is needed.
20
Production Systems: Batch Production
Between two successive setups a batch of the same
product is produced.
Now, look at the problem:
If the batch size is too high, all the other products
requiring the facility, worker or machine will have to wait
for a very long time.
If the batch size is too small, most of the time will be
spent on setups and there will be nothing to sell.
So, the batch size must be neither too large, nor too small.
Similarly, the volume of production must be moderate.
21
Production Systems: Batch Production
Examples:
Books
Pastry
Painting
Automobile gears (the
picture shows a
Computer Numerical
Control (CNC) machine
used to produce gears)
22
Production Systems
Project and Continuous Production
Flow shop is not the extreme case with respect to the high
volume of production. The continuous production system is
used in process industry e.g., oil refinery is set up to
produce products with little or no variety 24 hours/day and 7
days/week.
Job shop is not the extreme case with respect to flexibility or
customization. Huge projects are managed to produce a
bridge, a sky-scraper, an aeroplane, a submarine, etc.
23
Job
Shop
Batch
production
Shop
Flow
C
u
s
t
o
m
i
z
a
t
i
o
n

High
Low
High Low
Volume
Project
Production
Systems
Continuous
Production
24
Job
Shop
Batch
production
Shop
Flow
C
u
s
t
o
m
i
z
a
t
i
o
n

High
Low
High Low
Volume
Project
Continuous
Production
Aircraft
Custom-made
Machine and Parts
Books
Automobile
Oil
refinery
Production
Systems
25
Job
Shop
Batch
production
Shop
Flow
C
u
s
t
o
m
i
z
a
t
i
o
n

High
Low
High Low
Volume
Project
Continuous
Production
Labor
Intensive
Capital
Intensive
Production
Systems
26
READING AND EXERCISES
Lesson 12

Reading:
Section 8.1, pp. 413-416 (4
th
Ed.), pp. 404-405 (5
th

Ed.)

Exercises:
8.3a, 8.3b, p. 425 (4
th
Ed.), p. 413 (5
th
Ed.)
8.31 (identify the job and machine) p. 464 (4
th
Ed.),
p. 450 (5
th
Ed.)
27
LESSON 13: SCHEDULING OBJECTIVES
Outline

Job Characteristics
Comparison of Schedules
Scheduling Terms
Scheduling Objectives
28
Job Characteristics
Lesson 1 provides a brief discussion on production systems.
We have discussed some alternative ways of arranging
machines. In this lesson, we shall first discuss some job
characteristics and scheduling objectives.
Generally, every job is different (an exception is an assembly
line where the jobs are identical). For example, in case of a
make-to-order or an assemble-to-order production system,
every order
is placed at a different time,
requires a different amount of processing time and
is delivered at a different time.
29
Job Characteristics
Job characteristics are important inputs to job shop, batch
production and flow shop scheduling. Every job has a
ready time: the time when the job arrives at the shop floor
processing time: the time required to process the job
due date: the time when the job must be completed
Notation:
j d
j t
j r
j
j
j
job for date Due
job for time Processing
job for time Ready
=
=
=
30
Job Characteristics
Assumptions:
A machine can process one job at a time
A job can be processed by one machine at a time
We usually assume an equal importance and the same
arrival time for all jobs (Example 1 is an exception, where
jobs arrive at different times). Further, we assume that
preemption is not allowed. So, once a job is started on a
machine, the job must be completed before another job
can be processed by that machine.
31
Comparison of Schedules
First, we shall see an example where no schedule is best
in every criteria.
Example 1: Suppose that a production facility starts at
8:30 am. Two jobs will be processed. Job 1 can be started
right away, will require 2 hours to process and the
customer wants the job done by 12:30 pm. Job 2 can be
started not until 9:30 am, will require 1 hour to process
and the customer wants the job done by 10:30 am.
Its customary to set start time, and express all other
times with a suitable unit.
So, set at 8:30 am and express all other times in
hours.
0 = t
0 = t
32
Comparison of Schedules
So, Job 1 has a ready time of 0 hour (can be started right
away), processing time of 2 hours and due date of 4 hours
(due at 12:30 pm, 4 hours after the start of the process)
Similarly, Job 2 has a ready time of 1 hour (can be started
not until 9:30 am), processing time of 1 hour and due date
of 2 hours (due at 10:30 am, 2 hours after the start of the
process)
The job characteristics so obtained are shown below:
Job
Ready
Time (hr)
Processing
Time (hr)
Due
Date (hr)
1 0 2 4
2 1 1 2
j
j
r
j
t
j
d
33
Comparison of Schedules
There are two alternative schedules (sequences)
Schedule 1: process Job 1 first, then Job 2.
Schedule 2: process Job 2 first, then Job 1.
Schedule 1 (see the next slide):
Only 3 hours will be needed to complete the jobs.
However, Job 2 can be completed at time 3 which is
late by 1 hour.
Schedule 2 (see the next slide):
Both the jobs are completed right when they are
needed.
However, a total of 4 hours will be needed
34
Comparison of Schedules
Schedule 1
requires the
facility to be
open for fewer
hours (3 hours
only in contrast
to 4 hours
required by
Schedule 2)
Schedule 2
meets the due
dates
(Schedule 1
does not)
Time,
Job 1
t
1 2 3 4 0
Schedule 1
Job 2
2
d
1
d
Time, t
Job 1
1 2 3 4 0
Schedule 2
Job 2
2
d
1
d
35
Comparison of Schedules
Next, we shall see a similar example with a different pair
of criteria.
Example 2: An auto repair shop has a space problem and
requires parking fees for all cars waiting for service. The
shop starts at 8:30 am and two cars are waiting to be
repaired. Car 1 will require 1 hour and the customer wants
the job done by 12:30 pm. Job 2 will require 3 hours and
the customer wants the job done by 11:30 am.
Car
Ready
Time (hr)
Processing
Time (hr)
Due
Date (hr)
1 0 1 4
2 0 3 3
j
j
r
j
t
j
d
36
Comparison of Schedules
Schedule 3
requires less
parking fees (1
hour only in
contrast to 3
hours required
by Schedule 4)
Schedule 4
meets the due
dates
(Schedule 3
does not)
Time,
Car 2
t
1 2 3 4 0
Schedule 3
Car 1
2
d
1
d
Time,
Car 2
t
1 2 3 4 0
Schedule 4
Car 1
2
d
1
d
37
Scheduling Terms
Static versus dynamic scheduling
In static scheduling, jobs are all available for
processing right at time when the processing
starts. An example is a grocery store that collects
orders online. When the manager comes to the store at
8:30 am, the manager finds orders collected
throughout the night and must be delivered on that day.
In dynamic scheduling, jobs are not available all at
time . An example is a bank where customers
arrive throughout its service hours.
0 = t
0 = t
38
Scheduling Terms
Deterministic versus stochastic scheduling
In deterministic scheduling, the job characteristics such
as ready time, processing time, and due date,
are all known with certainty. Processing times required
by machines may be predicted precisely.
In stochastic scheduling, the job characteristics are
uncertain. Some parameters such as mean and
variance are assumed to be known from historical
observation. The service times required by workers are
often assumed to be uncertain.
j
r
j
d
j
t
39
Scheduling Terms
Feasible versus Infeasible schedule
A feasible schedule meets all the constraints and an
infeasible schedule does not. Precedence constraints
often associate with the scheduling process. A
precedence constraint puts restriction on the sequence
of operations. For example, a painting process may
have three stages: cleaning the product, surface
activation for paint adhesion, and select and
application of paint. These stages must be performed
in the stated sequence. A schedule is not feasible if the
jobs are not processed in that sequence.
40
Scheduling Terms
M1 M2 M3
Enter
Exit
Jobs
Machines
Parallel versus sequential
processing
In parallel processing, there
are multiple identical
machines and a job can be
processed by any machine.
An example is a computer
with multiple processors.
Another example is a bank
with multiple tellers. On the
right, see a conceptual view
with 3 parallel machines, M1,
M2 and M3.
41
Scheduling Terms
Parallel versus sequential processing
In a sequential processing, jobs are sequentially
processed through the machines. An example is
McDonalds drive through that has three stages: place
order, pay and pick-up. Below, see a conceptual view
with 3 sequential machines M1, M2 and M3.
M1 M2 M3
Enter Exit
Jobs
Machines
42
Scheduling Terms
Completion time versus flow time
Completion time of Job is the epoch when a job
is completed. The length of time is computed from the
start of operations.
Flow time is a similar term. However, the length of time
is computed from the arrival of the job. Flow time of
Job is the length of time between arrival and
completion of the job. So,

Between arrival and completion, a job is either in
queue for a machine or processed by a machine.
So, where is the waiting time of Job
j
C j ,
j
F j ,
j j j
r C F =
j j j
t W F + =
j
W j
43
Scheduling Terms
Completion time versus flow time
Example 3: Consider Example 1, Schedule 1 on slides
5-8. The facility starts at 8:30 am, Job 2 arrives at 9:30
am, waits for an hour before its processing starts at
10:30 am, and the job is completed at 11:30 am. The
completion time and flow time are shown below:
Set at 8:30 am and the unit of time = hour
Job 2 is completed at 11:30 am, 3 hours after the
start of operation, so completion time, = 3 hours.
Job 2 arrives at 9:30 am, 1 hour after the start of
operation, so
0 = t
2
C
hours
and hour
2 1 3
1
2 2 2
2
= = =
=
r C F
r
44
Scheduling Terms
Completion time versus flow time







Important note: if all the jobs are ready for processing
at , as they are in static scheduling, then
completion time is just the same as flow time.

0 = t
0 = =
j j j
r C F if
Time,
Job 1
t
1 2 3 4 0
Schedule 1
Job 2
2
r
2
C
2
F
45
Scheduling Terms
Lateness versus tardiness
Lateness of job
So, lateness of a job may be
negative, if the job is early
zero, if the job is completed right when its due
positive, if the job is late
Often, earliness is not rewarded but lateness is
penalized. So, another term, tardiness is used which is
a non-negative quantity. Tardiness is zero or the same
as lateness. If the job is early or completed when its
due, tardiness is set to zero. Otherwise, the job is late,
and tardiness is set to its lateness.

j j j
d C L j = ,
46
Scheduling Terms
Lateness versus tardiness
Tardiness of job
In other words, tardiness of job
0, if its completed on or before its due date,
, if its completed after its due date,
Example 4: Consider Example 1, Schedule 1 on slides
5-8. . The lateness and
tardiness of Jobs 1 and 2 are computed on the next
slide.
( )
j j
L T j , 0 max , =
0 s
j
L
0 >
j
L
j
L
2 , 4 , 3 , 2
2 1 2 1
= = = = d d C C
=
j
T j ,
47
Scheduling Terms
Lateness versus tardiness





Job 1 is early. So, its lateness is negative and its
tardiness is 0.
Job 2 is late (or tardy). So, its lateness is positive and
its tardiness is the same as its lateness.
( ) ( )
( ) ( ) 1 1 , 0 max , 0 max
0 2 , 0 max , 0 max
1 2 3
2 4 2
2 2
1 1
2 2 2
1 1 1
= = =
= = =
= = =
= = =
L T
L T
d C L
d C L
2 2
1
0
L T
T
=
=
48
Scheduling Terms
Makespan, maximum lateness, total completion time
These are three important criteria (scheduling
objective) which are often used to choose a best
schedule because of their important practical
implications.
Makespan is the completion time of the last job
processed. Although makespan is defined as a
completion time of a job, it actually measures how long
the production facility should remain open.
Makespan is denoted by ,
( )
n
C C C C C , , , , max
3 2 1 max
=
max
C
49
Scheduling Terms
Makespan, maximum lateness, total completion time
In Example 1, Schedule 1, Slide 8, Job 2 is the last
processed job. So, makespan is the completion time of
Job 2.

In Example 1, Schedule 2, Slide 8, Job 1 is the last
processed job. So, makespan is the completion time of
Job 1.

Observe that makespan is completion time of Job 1 or
Job 2 depending on which job is processed last.
( ) ( )
2 2 1 max
3 3 , 2 max , max C C C C = = = =
( ) ( )
1 2 1 max
4 2 , 4 max , max C C C C = = = =
50
Scheduling Terms
Makespan, maximum lateness, total completion time
For a single machine static scheduling problem (i.e.,
jobs are all available for processing in the beginning),
makespan is the sum of all processing times. However,
for a multi-machine problem, makespan may be
different from the sum of all processing times.
Maximum lateness is denoted by

In Example 1, Schedule 1, Slide 7,
( )
n
L L L L L , , , , max
3 2 1 max
=
max
L
( ) ( ) 1 1 , 2 max , max
1 2 3 , 2 4 2
2 1 max
2 2 2 1 1 1
= = =
= = = = = =
L L L
d C L d C L
51
Scheduling Terms
Makespan, maximum lateness, total completion time
In Example 1, Slides 5-8, Schedule 1 minimizes
makespan and Schedule 2 minimizes maximum
lateness.
Total completion time is the sum of all completion
times. Notice that total completion time is not the same
as makespan. Total completion time is denoted by

In Example 2, Slides 9-10, Schedule 3 minimizes not
only parking fees but also total completion time. In
general, if a schedule frees up space fast, the
schedule minimizes total completion time. Schedule 4
minimizes maximum lateness.
n j
C C C C C + + + + =


3 2 1
j
C

52
Scheduling Objectives
As it may be observed from Examples 1 and 2, different
schedule may be better with respect to different criterion
(scheduling objective).
So, its very important to set up a suitable scheduling
objective in order to get a suitable schedule.
There are many scheduling objectives and different
situation calls for a different objective.
The next slide provides a brief list of scheduling objectives
divided into four groups.
See Section 8.5, pp. 423-424 for a discussion on how
different situation requires a different schedule.
53
Scheduling Objectives
Conformance to prescribed deadlines
Meet customer due dates, minimize job lateness,
minimize maximum lateness, minimize number of tardy
jobs
Response time or lead time
Minimize mean completion time, minimize average
time in the system
Efficient utilization of resources
Maximize machine or labor utilization, minimize idle
time, maximize throughput, minimize the length of time
the shop is open, minimize utilities and wages
Costs
Minimize work-in-process inventory, minimize overtime
READING AND EXERCISES
Lesson 13

Reading:
Sections 8.2-8.3, pp. 416-419 (4
th
Ed.), pp. 406-
409 (5
th
Ed.)
Section 8.5, pp. 423-424 (4
th
Ed.), pp. 412-414 (5
th

Ed.)

Exercises:
8.1, 8.2, 8.3 (parts c, d, e) pp. 424-425 (4
th
Ed.), p.
413 (5
th
Ed.)
LESSON 14: SCHEDULING WITH
PRIORITY SEQUENCING RULES
Outline

Sequencing
Sequencing Rules
Sequencing Rule Example
Remarks
Sequencing
As it is discussed in Lesson 1, scheduling and
sequencing are similar terms. Scheduling provides a
detail plan over time. Sequencing does not refer to
time at all.
Sometimes, a unique schedule follows from a given
sequence. In such a case, its enough to solve the
sequencing problem and not worry about the detail
scheduling problem. For example, in Lesson 2,
Example 1, Schedule 1 follows from sequencing Job
1 before Job 2 and Schedule 2 follows from
sequencing Job 2 before Job 1.
Sequencing Rules
The first sequencing rule, that comes naturally to
everyones mind is the first-come first-served (FCFS)
rule. We observe this rule several times a day when
we visit a bank for a tellers service, wait in a grocery
store check-out, or cross the Ambassador bridge.
The rule is simple, but not always the best.
Its certainly not desirable that a customer who has to
pay for just one bag of bread must wait in a queue
behind another customer with a cart full of groceries.
So, the express lines are established. This is some
sort of implementation of the shortest processing time
(SPT) rule.
Sequencing Rules
You get the most value of money if you pay the bills
on the due dates. The simplest rule that comes to
mind in presence of due dates is the earliest due date
(EDD) rule which requires that the jobs be done in
the order in which the jobs are due.
Often in manufacturing, items are put in a stack. The
last item arriving is put on the top and processed first.
The last-come first-served (LCFS) rule is also
observed in elevators. The person arriving last must
step out first.
The critical ratio (CR) rule combines SPT and EDD
rule. The CR rule is explained on the next slide.
Sequencing Rules: Critical Ratio
CR = time remaining / work remaining



Each time a job is scheduled, CR is recalculated for
every unscheduled job.
CR selection criteria
Jobs with the smallest CR are run first.
Jobs with negative CR are scheduled first.
If there is more than one job with negative CR,
then those jobs are sequenced in SPT order.
due date - todays date
remaining processing time
=
Sequencing Rule Example
A 5 10
B 10 15
C 2 5
D 8 12
E 6 8
Processing Due
Job Time Date
Suppose that 5 jobs will be
processed on a single
machine. The jobs are ready
for processing at time .
The other job characteristics
are as shown in the table on
left.
0 = t
61
First, see how many alternatives are there. If there is
one job, there is just 1 (=1!) alternative sequence.
If there are two jobs 1 and 2, there are 2 (=2!)
alternative sequences,
1, 2 and
2, 1
If there are three jobs 1, 2 and 3, there are 6 (=3!)
alternative sequences,
1,2,3 1,3,2
2,1,3 2,3,1
3,1,2 3,2,1
Sequencing Rule Example
62
In general, if there are n jobs, then there are n!
sequences.
So, for example, for 5 jobs, there are 5! = 120
sequences.
The sequencing rules such as FCFS, SPT, EDD,
LCFS and CR provide a specific sequence. Often,
these simple rules provide good and useful results.
The sequencing rules FCFS, SPT, EDD, LCFS and
CR will now be applied and various measures will be
computed.
Sequencing Rule Example
First-Come First-Served
A 5 10
B 10 15
C 2 5
D 8 12
E 6 8
Average

Start Processing Completion Due
SequenceTime Time Time Date Tardiness
64
Shortest Processing Time
C 2 5
A 5 10
E 6 8
D 8 12
B 10 15
Average
Start Processing Completion Due
SequenceTime Time Time Date Tardiness
Earliest Due Date
C 2 5
E 6 8
A 5 10
D 8 12
B 10 15
Average
Start Processing Completion Due
SequenceTime Time Time Date Tardiness
Last-Come First-Served
E 0 6 6 8 0
D 6 8 14 12 2
C 14 2 16 5 11
B 16 10 26 15 11
A 26 5 31 10 21
Average 18.60 9
Start Processing Completion Due
Sequence Time Time Time Date Tardiness
LCFS rule: The jobs are arranged in last-come first-served
order.
67
Unlike FCFS, SPT, EDD and LCFS, the CR
sequence is obtained by using an iterative procedure.
Then, various measures are computed using the CR
sequence.
The CR rule is applied in two phases
Phase I:
Find the CR sequence using an iterative
procedure. In each iteration, one job is
assigned to a position. First a job is assigned to
the first position, then to the second position,
and so on.
Critical Ratio
68
Initially, the current time is set to zero. In each
iteration the current time is augmented by the
processing time of the job assigned in the previous
iteration.
Then, CR is computed for every unassigned job.
See Slide 5 for the CR formula.
The CR rule is applied to select the job that will be
assigned. See Slide 5 the CR selection criteria.
Phase II:
Various performance measures are computed
using the CR sequence obtained in Phase I.
Critical Ratio
69
Critical Ratio
Iteration 1
Phase I
Current
Time

Job Processing
Time
Due
Date
Critical
Ratio
Assign?
A 5 10
B 10 15
C 2 5
D 8 12
E 6 8

70
Critical Ratio
Iteration 2
Phase I
Current
Time

Job Processing
Time
Due
Date
Critical
Ratio
Assign?
A 5 10
B 10 15
C 2 5
D 8 12
E 6 8

71
Critical Ratio
Iteration 3
Phase I
Current
Time

Job Processing
Time
Due
Date
Critical
Ratio
Assign?
A 5 10
B 10 15
C 2 5
D 8 12
E 6 8

72
Critical Ratio
Iteration 4
Phase I
Current
Time

Job Processing
Time
Due
Date
Critical
Ratio
Assign?
A 5 10
B 10 15
C 2 5
D 8 12
E 6 8

Critical Ratio
E 6 8
C 2 5
A 5 10
D 8 12
B 10 15
Average
Start Processing Completion Due
SequenceTime Time Time Date Tardiness
CR rule: The jobs are arranged in order obtained by the
iterative procedure shown on Slides 27-32.
Phase II
Summary
FCFS 18.60 9.6 3* 23
SPT 14.80* 6.0 3* 16*
EDD 15.00 5.6* 3* 16*
LCFS 18.60 9.0 4 21
CR 15.80 6.2 4 16*

* Best values
Guaranteed best values are shown in bold
Average Average No. of Maximum
Rule Completion Time Tardiness Jobs Tardy Tardiness
Remarks
Observe that the makespan is the same for every
schedule. This is expected for a single machine
problem if ready times are all zero (static scheduling).
For a multi-machine problem, makespan may be
different from one schedule to another.
Total completion time and mean completion time are
equivalent objectives. Since mean completion time is
obtained from the total completion time by dividing
the total completion time by the number of jobs,
if a schedule minimizes total completion time, it
also minimizes mean completion time.

Remarks
Similarly, total flow time and mean flow time are
equivalent objectives. If a schedule minimizes total
flow time, it also minimizes mean flow time.
In case of static scheduling, completion time of a job is
the same as its flow time. So, the following objectives
are equivalent (if a schedule minimizes one, it also
minimizes all other)
Total completion time
Mean completion time
Total flow time
Mean flow time
Remarks
The objective of minimizing inventory carrying costs
such as parking fees in Lesson 2, Example 2, is
equivalent to minimizing total completion time. At this
point, revisit this example on slides 9-10 of Lesson 2.
Check that the total completion time is 1+4=5 for
Schedule 3 and 3+4=7 for Schedule 4. Thus,
Schedule 3 minimizes not only parking fees, but also
total completion time. This holds in general.
Minimizing inventory carrying costs is equivalent to
minimizing total completion time, mean completion
time, total flow time and mean flow time.
Remarks
Lateness and tardiness are closely related terms. If a
schedule minimizes maximum lateness, the schedule
also minimizes maximum tardiness. However, the
converse is not true. If a schedule minimizes maximum
tardiness, the schedule does not necessarily minimize
maximum lateness. Thus, maximum lateness and
maximum tardiness are not equivalent. Plus, its more
interesting to minimize maximum lateness because if
maximum lateness is minimized, maximum tardiness is
also minimized.
The Earliest Due Date (EDD) rule minimizes maximum
lateness and maximum tardiness (for the single machine
static scheduling problem).
Remarks
Total tardiness and mean tardiness are equivalent objectives.
Total lateness and mean lateness are equivalent objectives.
However, total lateness and total tardiness are different.
Total lateness is total completion time minus the sum of the
due dates. Since sum of the due dates is a constant (same
for all schedules), minimizing total lateness is equivalent to
minimizing total completion time.
So, the equivalence list grows:

Remarks
The following objectives are equivalent:
Total completion time
Mean completion time
Total flow time (if ready times are all zero)
Mean flow time (if ready times are all zero)
Total lateness
Mean lateness
Inventory carrying costs
Shortest processing time (SPT) rule minimizes all of the
above objectives (for the single machine static scheduling
problem).
Remarks
Priority rules are not available for minimizing number
of tardy jobs. The next lesson will discuss a
procedure for minimizing number of tardy jobs.
Minimizing total tardiness is difficult and not covered.

82
READING AND EXERCISES
Lesson 14

Reading:
Section 8.4, pp. 419-423 (4
th
Ed.), pp. 409-412 (5
th

Ed.)

Exercises:
8.4, 8.5, pp. 424-425 (4
th
Ed.), pp. 413-414 (5
th

Ed.)
83
LESSON 15: SINGLE MACHINE
SCHEDULING
Outline

Total Completion time
Maximum Lateness
Number of Tardy Jobs
Forward and Backward Scheduling
Precedence Constraints
84
Single Machine Scheduling
This lesson discusses the single machine scheduling
problem. We assume that several jobs must be
processed by a single machine. The jobs are all
available for processing when the facility starts
operation (static scheduling)
We discuss the problem of minimizing various
objective functions such as total completion time,
maximum lateness and number of tardy jobs.
85
Single Machine Scheduling
Minimizing makespan is not included in this lesson.
Because in case of our single machine problem, the
makespan is constant over all sequences. However,
minimizing makespan is important and will be
discussed for two or more machines. Because,
various costs are directly proportional to makespan.
This includes workers wages, utilities, overheads etc.
The last topic of the lesson is a procedure which is
applied when there are some precedence
constraints.
86
Total Completion Time
Different schedule provides different values of total
completion time. Minimizing total completion time
means finding a schedule that provides minimum
total completion time.
Why is it important to minimize total completion time?
See Lesson 3, Slide 40 for some equivalences
Less total completion time means a job stays in
the system (waiting time + processing time) for a
shorter duration.
87
Total Completion Time
So, manufacturing lead time (the time between
order placement and order delivery) is less.
If the system minimizes total flow time (a related
objective), the individual customers are likely to
experience a faster service (waiting time + service
time).
Since the jobs stay in the system for a shorter
duration, the inventory carrying costs are less. To
see an example, revisit Example 2, Lesson 2,
Slides 9-10.
88
Total Completion Time
Sequence the jobs in the Shortest Processing Time
(SPT) order if there is a single machine and the
objective is to minimize
Total (or, mean) completion time (or, flow time)
Total (or, mean) waiting time
Total (or, mean) lateness
Inventory carrying costs
Revisit Example 2, Lesson 2, Slides 9-10. There are
two cars. Car 1 has a processing time of 1 hour and
Car 2 has a processing time of 3 hours.
89
Total Completion Time
Since Car 1 has a smaller processing time than Car
2, the SPT rule requires that Car 1 be processed
before Car 2. This is done by Schedule 3.
So, Schedule 3 is a SPT schedule and it has a total
completion time = 1+4 = 5 hours.
Schedule 4 is a non-SPT schedule and it has a total
completion time = 3+4 = 7.
Thus, the SPT schedule, Schedule 3 minimizes total
completion time.
90
Maximum Lateness
Different schedule provides different values of
maximum lateness. Minimizing maximum lateness
means finding a schedule that provides minimum
maximum lateness.
Why is it important to minimize maximum lateness?
Its a balanced approach. The production
department likes to minimize costs which are
related to minimizing makespan and total
completion time. However, the marketing
department likes to provide faster service and set
earlier due dates. Minimizing maximum lateness
provides a balance.
91
Maximum Lateness
By minimizing maximum lateness one gets some
insight if the due dates are realistic (if the due
dates can be met using the given resources).
If the minimum maximum lateness is positive,
the due dates are not realistic. So, the
marketing department should promise longer
lead times and the production department
should be allocated more resources.
If the minimum maximum lateness is negative,
the marketing department can promise shorter
lead times and carry out some promotional
activities to generate more demand.

92
Maximum Lateness
Sequence the jobs in the Earliest Due Date (EDD)
order if there is a single machine and the objective is
to minimize
maximum lateness
maximum tardiness
Revisit Example 1, Lesson 2, Slides 5-8. There are
two jobs. Job 1 is a due after 4 hours and Job 2 is
due after 2 hours.

93
Maximum Lateness
Since Job 2 is due before Job 1, the EDD rule
requires that Job 2 is done before Job 1. This is done
by Schedule 2.
So, Schedule 2 is an EDD schedule and it has a
maximum lateness of zero (both job is completed
right when its due).
Schedule 1 is a non-EDD schedule and it has a
maximum lateness of 2 hours (Job 1 has a lateness
of 2 hours and Job 1 has a lateness of 1 hour I.e.,
Job 1 is early by 1 hour).
Thus, the EDD schedule, Schedule 2 minimizes
maximum lateness.
94
Number of Tardy Jobs
Different schedule provides different number of tardy
jobs (jobs with a positive lateness). Minimizing
number of tardy jobs means finding a schedule that
meets as many due dates as possible.
Why is it important to minimize number of tardy jobs?
Sometimes, a product is useless if its completed
after its due date. For example, convocation
gowns, wedding dresses and birthday cakes must
be delivered before their due dates. Space
shuttles must leave on-time, else the mission will
not be successful.
95
Number of Tardy Jobs
Steps
1. Arrange the jobs in the Earliest Due Date (EDD)
order.
2. Repeat the following as long as there is any tardy job:
If the job is the first tardy job, consider the first
jobs and remove the one with the largest processing
time.
3. Append all the tardy jobs, if any, in the end in any
order.
th i
i
96
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
97
Number of Tardy Jobs: Example
Step 1
Processing Completion Due
Job Time Time Date
Arrange the jobs in the EDD order and find if any is tardy
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
98
Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
Step 2-1
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
99
Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
Step 2-2
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
100
Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
Step 2-3
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
101
Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
Step 2-4
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
102
Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
Append the previously eliminated A, B in the end and stop.
Step 3
103
Note: The optimal schedule may change if all the
processing times increase by the same amount.
Preprocessing: if every job requires some
setup/delivery time, add the set setup/delivery time to
all jobs before applying the algorithm.
Such preprocessing is not necessary for scheduling
jobs if the objective is to minimizing makespan, mean
flow time, maximum lateness, etc.
Number of Tardy Jobs: A Note
104
The procedure discussed for minimizing the number
of tardy jobs assigns jobs to position 1 first, then to
position 2, and so on. In a forward scheduling
procedure the assignment starts from position 1 and
continues in the forward direction
The procedure which will be discussed next,
schedules in the opposite direction starting from the
last position. In a backward scheduling procedure the
assignment starts from the last position and
continues in the backward direction.

Forward and Backward Scheduling
105
Lawlers Algorithm for Precedence Constraints
The algorithm is applicable for single machine
problems with the objective of minimizing
Makespan
Maximum lateness
Maximum tardiness

106
Consider a single machine problem with precedence
constraints and minimizing maximum lateness
objective (other objectives previously stated may be
minimized similarly)

Lawlers Algorithm for Precedence Constraints
107
General scheme: The algorithm first assigns a job to
the last position, then a job to the position next to
last, and so on.

Candidate job for a position: Due to precedence
constraints, not all the jobs are candidates for a
position. For example, if a job has a successor, the
job cannot be assigned to the last position. Hence,
candidates for the last position are the ones without
any successor.
Lawlers Algorithm for Precedence Constraints
108
Which job to assign?

1. Eliminate all the jobs which are previously assigned
(to later positions)
2. Identify the candidates - jobs that have no successor
or have successors all previously assigned (to later
positions)
3. Among all the candidates, schedule the one with the
minimum lateness.
Lawlers Algorithm for Precedence Constraints
109
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
Processing Due Lateness
Job Time Date Candidate? If scheduled
A B
D
C
E
Completion time if scheduled
= 7+8+4+6+6=31
110
A B
D
C
A 7 9
B 8 17
C 4 18
D 6 19

Processing Due Lateness
Job Time Date Candidate? If scheduled
Completion time if scheduled
= 7+8+4+6=25
E
111
A 7 9
B 8 17

D 6 19

Processing Due Lateness
Job Time Date Candidate? If scheduled
Completion time if scheduled
= 7+8+6=21
E
C
A B
D
112
A 7 9
B 8 17


Processing Due Lateness
Job Time Date Candidate? If scheduled
Completion time if scheduled
= 7+8=15
E
C D
A B
113
A 7 9 Yes 7-9=-2
Processing Due Lateness
Job Time Date Candidate? If scheduled
Completion time if scheduled
= 7
E
C D
A
B
114
Lawlers Algorithm for Precedence Constraints
The algorithm is described in the context of
minimizing maximum lateness. To get the algorithm
for minimizing
maximum tardiness, replace lateness by
tardiness
115
READING AND EXERCISES
Lesson 15

Reading:
Section 8.6, pp. 425-431 (4
th
Ed.), pp. 414-419 (5
th

Ed.)

Exercises:
8.6, 8.7, p. 431 (4
th
Ed.), pp. 419-420 (5
th
Ed.)
LESSON 16:
MULTIPLE MACHINE SCHEDULING
Outline

Planning and Monitoring with Gantt Chart
Two-Machine Flow Shop
Extension To A Three-Machine Flow Shop
117
Planning and Monitoring with Gantt chart
Gantt chart is introduced in Lesson 1 in Slides 11-14.
Recall that the facilities are shown on the y-axis, time on
the x-axis and operations by rectangles proportional to the
processing time.
Gantt chart is an excellent tool used not only to represent a
planned schedule but also to monitor the schedules. For
example, see the next slide. For each job, the black color
represents completed part and the white color incomplete.
Suppose that today is day 7. The chart shows that Job A12
is completed less than scheduled, Job B23 more and Job
C34 just as scheduled.
Planning and Monitoring with Gantt Chart
Planning and Monitoring with Gantt Chart
Gantt Chart shows both scheduled and completed activities
against a time scale
Grinding machine
Milling machine
Job A12
Job B23
2 4 6 8 10 12
Days
14
Turning machine Job C34
Today's date
Completed
Activity
Scheduled
Activity
Behind schedule
Ahead of schedule
On schedule
119
Two Machine Flow Shop
Flow shop is introduced in Lesson 1, in Slides 18-19.
Recall that a flow shop is suitable for a make-to-stock
or assemble-to-stock production system where
standard products are produced in high volume.
Here, we discuss the special cases of two-and three-
machine systems.
M1 M2
Enter Exit
A Conceptual View of
A Two-Machine Flow Shop
120
Two Machine Flow Shop
The main characteristic of a two-machine flow shop
system is that every job first visits Machine 1 and
then Machine 2.
Examples:
Customizing and painting
Machining and polishing
Moulding and baking
Repair and testing
Typing and proofing (of chapters of a book)
Review and data entry (of claims)
Checkups by a nurse and a doctor (of patients)
121
Two Machine Flow Shop
We continue to assume that
every machine can process one job at a time.
every job can be processed by one machine at a
time and
So, in terms of a Gantt chart every job will appear
twice: once on Machine 1 and again on Machine 2
No two rectangles can overlap (every machine
processes one job at a time)
If a vertical line is drawn, the line must not
intersect two rectangles corresponding to the
same job (every job can be processed by one
machine at a time)
122
Two Machine Flow Shop
See the example on the next slide
If a vertical line is drawn through the rectangle
representing Job B23 on the Lathe machine,
the line must not intersect the rectangle
representing Job B23 on the Grinding machine
Since, every job visits Machine 1 before Machine
2, a rectangle corresponding to a job on Machine
1 must be on the left side of the rectangle
corresponding to that job on Machine 2
The rectangle representing Job A12 on the
Lathe machine is on the left side of that of Job
A12 on the Grinding machine (same for Job
B23).
123
Two Machine Flow Shop
Grinding machine
2 4 6 8 10 12
Days
14
Lathe machine Job A12
Job A12
Job B23
Job B23
16
124
Two Machine Flow Shop
For most objectives listed in Lesson 2, the same
order on both machines is optimal. So, if Machine 1
processes Job 1 before Job 2, then Machine 2 will
also process Job 1 before Job 2. When the job-order
is the same on all machines, the schedule is called a
permutation schedule
See the Gantt chart on the previous slide:
Lathe machine processes Job A12 before Job
B23. Grinding machine also processes Job A12
before Job B23. Thats a permutation schedule.
If Job A12 were started at time 16 on Grinding
machine (instead of time 4), it would still be a flow
shop but not a permutation schedule.
125
Two Machine Flow Shop
Its better to keep track of starting, processing and
finishing times of every job on every machine.
Consider an example.
Example 1: Each of the two jobs A and B must be
processed on Machine 1 before Machine 2. The
processing times are shown below:
A 16 5
B 9 17
Machine Machine
Job Center 1 Center 2

126
Schedule1: Suppose that each machine processes
Job A before Job B. Then, the starting, processing,
and finishing times are as follows:




Processing starts at time 0 (Job A on Machine 1).
Finishing time = Starting time + Processing time. So,
Job A finishes at time 0+16 = 16 on Machine 1.
Job A can start on Machine 2 only after time 16, when
its completed on Machine 1.
Two Machine Flow Shop
Job Start Process Finish Start Process Finish
A
B
Machine 1 Machine 2
16
9
5
17
127
Job B can start on Machine 1 only after time 16,
when Machine 1 becomes idle.
The starting time of Job B on Machine 2 is the
maximum of finishing times of Job A on Machine 2
(Machine 2 becomes idle) and Job B on Machine 1
(Job becomes free).
So, Starting time of Job B on Machine 2 = max
(finishing time of Job A on Machine 2, finishing time
of Job B on Machine 1) = max (21, 25) = 25.
Starting time of every job, except the first one, on
Machine 2 is a maximum of two numbers.
Two Machine Flow Shop
128
The finishing time of the last job (Job B) on the last
machine (Machine 2) is the makespan. So, here
makespan = 42.
We shall discuss Johnsons rule, which can minimize
makespan (repetitive application of the rule yields a
schedule with least makespan)
First, observe that a different sequence provides a
different makespan.

Two Machine Flow Shop
129
Schedule 2: Suppose that each machine processes
Job B before Job A.




The process starts at time 0 (Job B on Machine 1).
Starting time of Job A on Machine 2 = max (26, 25) =
26.
Makespan = Finishing time of Job A (the last job) on
Machine 2 (the last machine) = 31 (improved!!!)

Two Machine Flow Shop
Job Start Process Finish Start Process Finish
B 9 17
A 16 5
Machine 1 Machine 2
130
Johnsons rule explains why makespan is improved
by Schedule 2. Notice that the minimum processing
time = 5 is given by Job A on Machine 2.
The main idea of Johnsons rule: If the minimum
processing time is on Machine 1 (or Machine 2),
then schedule the job with the minimum time in the
beginning (or end). Apply the rule repeatedly until all
jobs are scheduled. Break ties arbitrarily.
Here, the minimum processing time = min (9, 17, 16,
5) = 5 is given by Job A on Machine 2. So, Job A is
scheduled in the end. The details of Johnsons rule
and an example will now follow.
Two Machine Flow Shop
131
1. List time required to process each job at each machine.
Set up a one-dimensional matrix to represent desired
sequence with # of slots equal to # of jobs.
2. Select smallest processing time at either machine.
If that time is on machine 1, put the job as near to
beginning of sequence as possible.
If smallest time occurs on machine 2, put the job as
near to the end of the sequence as possible.
3. Remove the job from the list.
4. Repeat steps 2-3 until all slots in matrix are filled & all jobs
are sequenced.
Two-Machine Flow Shop
Johnsons Rule
Two-Machine Flow Shop
Johnsons Rule Example
A 5 6
B 16 5
C 8 2
D 9 17
E 4 6
Machine Machine
Job Center 1 Center 2

The minimum processing time, 2, is given by Job C on
Machine 2. So, Schedule Job C in the end.
133
A 5 6
B 16 5

D 9 17
E 4 6
Machine Machine
Job Center 1 Center 2

Two-Machine Flow Shop
Johnsons Rule Example
C
After removing job C, the minimum processing time, 4, is
given by Job E on Machine 1. So, Schedule Job E in the
beginning.
134
A 5 6
B 16 5

D 9 17

Machine Machine
Job Center 1 Center 2

Two-Machine Flow Shop
Johnsons Rule Example
C E
Job E is removed. Now, there is a tie. Minimum processing
time is given by Jobs A and B. Break ties arbitrarily.
Schedule one of Job A or Job B.
135

B 16 5

D 9 17

Machine Machine
Job Center 1 Center 2

Two-Machine Flow Shop
Johnsons Rule Example
C A E
Job A is chosen arbitrarily. Job A is scheduled in the
beginning, because its minimum time is given on Machine 1.
Beginning means position 2 because position 1 is taken.
136



D 9 17

Machine Machine
Job Center 1 Center 2

Two-Machine Flow Shop
Johnsons Rule Example
C B A E
Next, Job B is scheduled. Its scheduled in the end, because
its minimum processing time is given on Machine 2.
137
Machine Machine
Job Center 1 Center 2

Two-Machine Flow Shop
Johnsons Rule Example
C B D A E
The sequencing is complete after assigning the remaining
Job D to the remaining position. Next, the makespan is
computed.
138
E
A
D
B
C
C B D A E
Each triplet above shows the starting, processing, and finishing
times of an operation. Johnsons rule guarantees that the above
schedule gives the best value (44) of makespan.
Two-Machine Flow Shop
Johnsons Rule Example
Machine Machine
Job Center 1 Center 2

139
Two-Machine Flow Shop
Johnsons Rule Example
M2
6 12 18 24 36
Time
42
48
M1
30
The Gantt chart corresponding to the optimal sequence,
E-A-D-B-C obtained using the Johnsons rule
An extension of Johnsons rule minimizes makespan
in some three machine flow shops (repetitive
application of the rule yields a schedule with least
makespan)
First, recall that in a three machine flow shop, every
job is processed first on Machine 1, then on Machine
2 and then on Machine 3.
Extension of Johnsons Rule
To A Three Machine Flow Shop
M1 M2
Enter Exit
A Conceptual View of
A Three-Machine Flow Shop
M3
141
The extension of Johnsons rule does not guarantee an
optimal makespan for all three-machine flow shop cases.
However, the extension guarantees an optimal makespan
if the largest processing time on the second machine is
not larger than the smallest processing times on
1. Machine 1 or
2. Machine 3 or
3. Both
In Case 1 Machine 1 dominates Machine 2,
In Case 2 Machine 3 dominates Machine 2 and
In Case 3 both Machines 1 and 3 dominate Machine 2
Extension of Johnsons Rule
To A Three Machine Flow Shop
142
Some examples when the rule applies are given in the
next slide:
Example (a): The largest processing time on Machine 2
= max (5, 3, 4, 2, 3) = 5 s 5 = min (6, 9, 5, 8, 7) =
smallest processing time on Machine 1. So, Machine 1
dominates Machine 2 and the extension of Johnsons
rule applies.
Example (b): The largest processing time on Machine 2
= max (6, 3, 2, 4, 5) = 6 s 6 = min (7, 8, 6, 9, 8) =
smallest processing time on Machine 3. So, Machine 3
dominates Machine 2 and the extension of Johnsons
rule applies.
Extension of Johnsons Rule
To A Three Machine Flow Shop
143
Johnsons rule applies in each of the above cases
Job 1 2 3 Job 1 2 3 Job 1 2 3
1 6 5 7 1 6 6 7 1 9 5 6
2 9 3 3 2 9 3 8 2 5 3 5
3 5 4 8 3 4 2 6 3 7 4 8
4 8 2 4 4 5 4 9 4 6 2 7
5 7 3 5 5 3 5 8 5 7 3 5
Machine
(c)
Machine
(a)
Machine
(b)
Extension of Johnsons Rule
To A Three Machine Flow Shop
144
Example (c): The extension of Johnsons rule applies
because both Machine 1 and 3 dominate Machine 2
(check).
Whenever the rule applies, the following is done:
Step 1: Create a fictitious two-machine flow shop problem
with two fictitious machines M1 and M2. Every job is
assigned processing times on these two fictitious
machines in the following way:
M1: Processing time of a job on fictitious machine M1
is the sum of the processing times of that job on the
original machines M1 and M2.
Extension of Johnsons Rule
To A Three Machine Flow Shop
145
M2: Processing time of a job on fictitious machine M2
is the sum of the processing times of that job on the
original machines M2 and M3.
Step 2: Apply Johnsons rule on the fictitious two-machine
problem with machines M1 and M2.
Step 3: Sequence the jobs on the original three machines
using the optimal sequence obtained from Step 2.

Extension of Johnsons Rule
To A Three Machine Flow Shop
146
An optimal (not unique) sequence is
Next, compute makespan using the original 3 machines.
Job 1 2 3
1 6 5 7
2 9 3 3
3 5 4 8
4 8 2 4
5 7 3 5
Three-Machine Problem
Machine
Job 1 2
1
2
3
4
5
Machine
Fictitious Two-Machine Problem
Extension of Johnsons Rule
To A Three Machine Flow Shop
147

Each triplet above shows the starting, processing, and finishing
times of an operation. Johnsons rule guarantees that the above
schedule gives the best value (41) of makespan.
Machine Machine Machine
Job Center 1 Center 2 Center 3

Extension of Johnsons Rule
To A Three Machine Flow Shop
148
More on the previous slide:
Starting time of every job, except the first one, on
Machine 2 is a maximum of two numbers.
Example: Starting time of Job 1 on Machine 2 = max
(finishing time of Job 3 on Machine 2, finishing time of
Job 1 on Machine 1) = max (9, 11) = 11.
Starting time of every job, except the first one, on
Machine 3 is a maximum of two numbers.
Example: Starting time of Job 1 on Machine 3 = max
(finishing time of Job 3 on Machine 3, finishing time of
Job 1 on Machine 2) = max (17, 16) = 17.

Extension of Johnsons Rule
To A Three Machine Flow Shop
149
Using the starting and finishing times of each operation,
we can draw a Gantt chart. Recall that time is shown on
the x-axis, facilities such as machines are shown on the
y-axis and each operation is shown by a rectangle
proportional to the processing time f the operation.
For example, since Job 3 starts on M1 at time 0 and
finishes at time 5, the Gantt chart on the next slide
contains a box labelled 3 from time 0 to time 5.
Similarly, since Job 3 starts on M2 at time 5 and finishes
at time 9, the Gantt chart contains another box labelled
3 from time 5 to time 9.
Gantt Chart
150
The Gantt chart corresponding to the optimal sequence,
obtained using the extension of Johnsons rule.
M3
6 12 18 24 36
Time
42
M2
30
M1
Gantt Chart
151
Note that since a job cannot be processed on more than
one machine at the same time, a vertical line (indicating a
time) must not cut through more than one box
corresponding to the same job. For example, there are
three boxes corresponding to Job 3 one for M1, one for
M2 and the other for M3. However, these 3 boxes
represent 3 operations which are processed in 3 distinct
time periods. As a result, the boxes do not share any
vertical line
Similarly, since a machine cannot process more than on
job at the same time, the boxes do not overlap.
Gantt Chart
152
READING AND EXERCISES
Lesson 16

Reading:
Section 8.7, pp. 432-437 (4
th
Ed.), pp. 421-425 (5
th

Ed.)

Exercise:
8.13, 8.14, p. 441 (4
th
Ed.), p. 428 (5
th
Ed.)
153
LESSON 17: TWO-JOB
JOB SHOP AND FLOW SHOP SCHEDULING
Outline

Two-Job Job Shop and Flow Shop Problem
Steps of the Solution Procedure
Interpretation
Gantt Chart
154
Two-Job Job Shop and Flow shop Problem
So far, we have discussed scheduling problems with
a limited number of machines. In this lesson, we
discuss a solution procedure for a scheduling
problem with an unlimited number of machines.
We assume that two jobs requires processing by
some m machines. For each job, the sequence of
machines is known. Its not assumed that each job
must visit the machines in the same order. So, the
procedure is applicable to job shop. However, the
procedure is same for the flow shop when each job
must visit the machines in the same order.

155
Two-Job Job Shop and Flow shop Problem
The procedure is best described by an Example:
Example 1: A engineering faculty requires a
refundable deposit from each student. To get the
deposit back at the end of the term, every student
must obtain a clearance from each lab used. Peter
and Patricia needs clearance from Machine lab (A)
and Computer lab (B). Peter wants to visit Machine
lab first and Patricia Computer lab. After getting
certificates, each will visit an administrative assistant
(C) who will issue a no claim certificate. Then, each
will visit the cashier (D) who will return the deposit.

156
Two-Job Job Shop and Flow shop Problem
Peter and Patricia estimate the following processing
times

Peter Patricia
Activity Time Activity Time
A 10 B 5
B 5 A 5
C 25 C 20
D 10 D 5

157
Two-Job Job Shop and Flow shop Problem
We shall solve this problem using a graphical
procedure, that has the following steps:
Step 1: Set up a cartesian coordiante system with
Peters time on one axis and Patricias on the other.
Each process A, B, C and D will be shown on the
graph by a rectangle.
Step 2: Find Peters and Patricias start and end
times for each activity
Step 3: Identify coordinates of corners of rectangles
A, B, C and D. Each rectangle represents an activity.
Step 4: Draw rectangles A, B, C and D
158
Two-Job Job Shop and Flow shop Problem
Step 5: Using only three special types of line
segments, and not crossing the rectangles, identify a
path from (0,0) to the upper right corner (a, b), where
a = total time on x-axis and b = total time on y-axis.
Step 6: Compute clock times along the path. The
length of the path is the clock time at the upper right
corner (a, b).
Step 7: Repeat Steps 4 and 5 for other paths
Step 8: Find out the shortest path, interpret the
shortest path and list activities over time.
Step 9: Draw a Gantt chart.
159
10
20
30
10 20 30 40 50
Step 1: Set Up A
Cartesian Coordinate System
160
Step 2: Find Peters and Patricias
Start and End Times
The start and end times are computed below separately for
Peter and Patricia. Each starts at time zero. Notice that the
times are not clock times, but Peters and Patricias
cumulative times. The clock times will be computed later.
Peters Time Patricias Time
Activity Start Process End Activity Start Process End
A B
B A
C C
D D
Note a = 50, b = 35 according to the notations on slide 6.
161
Step 3: Identify Coordinates of Corners of
Rectangles Representing Activities
For each activity, a rectangle will be drawn on the graph
shown in Step 1. For each rectangle, the lower, left corner
represents start of the activity and the upper right corner
end of the activity. So, one corner is obtained from Peter
and Patricias start time of that activity and another corner is
obtained from Peter and Patricias end times of that activity.
For example, lower left corner of rectangle C is (15,10)
because Peter starts activity C at time 15 and Patricia starts
activity C at time 10. Upper left corner of rectangle C is
(40,30) because Peter ends C at time 40 and Patricia ends
C at time 30.
162
Step 3: Identify Coordinates of Corners of
Rectangles Representing Activities
Using the same reasoning, we find the following coordinates
of the corners of A, B, C and D.

Rectangle Lower Left Corner Upper Right Corner
A
B
C
D
163
10
20
30
10 20 30 40 50
Peter's Time
P
a
t
r
i
c
i
a
'
s

T
i
m
e

Step 4: Draw Rectangles
164
Step 5: Using only Three Special Types of
Line Segments and Not Crossing the
Rectangles Find A Path From (0,0) To (a,b)
Use only the following three types of line segments
Horizontal line: representing a time interval when only
Peter is busy, Patricia is idle
Vertical line: representing a time interval when only
Patricia is busy, Peter is idle
45-degree line (same rise as run): representing a time
interval when both Peter and Patricia are busy
Horizontal
Line
Vertical
Line
45-Degree
Line
165
Step 5: Using only Three Special Types of
Line Segments and Not Crossing the
Rectangles Find A Path From (0,0) To (a,b)
a = total time on the x-axis = Peters total time = 50
b = total time on the y-axis = Patricias total time = 35
Find a path from (0,0) to (a,b) = (50,35)
Using horizontal, vertical and 45-degree lines and
Not crossing the rectangles

166
Step 5: Using only Three Special Types of
Line Segments and Not Crossing the
Rectangles Find A Path From (0,0) To (a,b)
Such a path is shown on the next slide. The path
starts from (0,0) in the 45-degree direction (it could also
start horizontally or vertically; 45-degree lines are
preferred as they keep the length shorter)
starts moving horizontally when blocked by rectangle A,
changes to 45 degree at (10,5)
starts moving horizontally when blocked by rectangle C
(could also start vertically at (10,5)), changes to 45 degree
at (40,10)
Starts vertically when reaches a boundary at x=a=50 (the
other boundary is (y=b=35)
167
Step 5: Using only Three Special Types of
Line Segments and Not Crossing the
Rectangles Find A Path From (0,0) To (a,b)
10
20
30
10 20 30 40 50
Peter's Time
P
a
t
r
i
c
i
a
'
s

T
i
m
e

A
B
C
D
( a , b )
(0,0)
168
Step 6: Compute
Clock Times Along the Path
The length of the path is the clock time at (a,b)=(50,35).
The clock time is set to 0 at (0,0).
Clock times are computed at other break points as follows:
For a 45-degree line, advance clock time by the lines
projection on the x-axis (or, equivalently, the projection on
the y-axis).
For example, there is a 45-degree line between (0,0) and
(5,5). Its projection on the horizontal axis is 5 units and the
same is its projection on the vertical axis.
169
Step 6: Compute
Clock Times Along the Path
The line represents that both Peter and Patricia are busy
for 5 units of time. So, it moves 5 units horizontally and 5
units vertically. So, clock time advances by 5 units.
Thus, the clock time at (5,5)
= clock time at (0,0)+5
= 0 + 5
= 5

170
Step 6: Compute
Clock Times Along the Path
For each horizontal or vertical line, advance clock time
by the length of the line segment. For example, there is
a horizontal line between (5,5) and (10,5). The length
of the line is 5. So, the clock time at (10,5)
= clock time at (5,5)+5
= 5 + 5
= 10
The next few slides shows clock times at all break
points till (a,b) = (50, 35). The length of the path is the
clock time at (a,b).
171
Step 6: Compute
Clock Times Along the Path
Length of the vertical line = 5, clock time = 60 + 5 = 65
10
20
30
10 20 30 40 50
Peter's Time
P
a
t
r
i
c
i
a
'
s

T
i
m
e

A
B
C
D
( a , b )
(0,0)
172
10
20
30
10 20 30 40 50
Peter's Time
P
a
t
r
i
c
i
a
'
s

T
i
m
e

A
B
C
D
( a , b )
(0,0)
5
10
15
35
40
70
Check the clock times and length of the path.
Step 7: Another Path
173
Step 8: Interpretation
The shortest path is the one shown on Slide 25 as its
length is 65, less than 70 which is the length of the other
path shown on Slide 26.
The interpretation of a line segment is done as follows:
Horizontal line segment: Only Peter is busy and
Patricia idle. Peters activity is the one on the above or
below the line segment.
Vertical line segment: Only Patricia is busy and Peter
idle. Patricias activity is the one on the left or right of
the line segment.

174
Step 8: Interpretation
45-degree line segment: Both are busy.
Peters activity is one on the above or below the
line segment.
Patricias activity is the one on the left or right of
the line segment.
Using the above guidelines, the shortest path shown
on Slide 25 is interpreted on the next slide. Observe
that every line segment is interpreted separately.



175
Step 8: Interpretation
Start End Line Segment Peters Patricias
Clock Time Clock Time Type Activity Activity
0 5
5 10
10 15
15 40
40 50
50 60
60 65
176
Step 9: The Gantt Chart
10 20 30 40 50 60
Gantt Chart
A
B
C
D
177
READING AND EXERCISES
Lesson 17

Reading:
Section 8.7, pp. 437-440 (4
th
Ed.), pp. 425-427 (5
th

Ed.)

Exercise:
8.15, 8.16, pp. 441-442 (4
th
Ed.), pp. 428-429 (5
th

Ed.)
LESSON 18: STOCHASTIC SCHEDULING
Outline

A Review on Probability Distributions
Stochastic Scheduling
Static Analysis: Single Machine
Static Analysis: Parallel Machines
Static Analysis: Two-Machine Flow Shop
Dynamic Analysis: Selection of Disciplines
Dynamic Analysis: The c rule
A Review on Probability Distributions
First, we shall review what is meant by a probability
distribution. Its easier to understand probability distributions
when there is a finite number of events. For example, when
a coin is tossed, there are only two possible events a head
or a tail. When a coin is tossed twice, there can be following
events
both heads (2H)
one head and one tail (1H1T)
the first one head and the second one tail or
the first one tail and the second one head
two tails (2T)
A Review on Probability Distributions
A discrete probability distribution is a table, a formula, or a
graph that lists all possible events and probabilities a
discrete random variable can assume.
If a coin is tossed twice, the events and corresponding
probabilities are as follows:
Event Probability
Two heads 1/4
First one head, second one tail 1/4
First one tail, second one head 1/4
Two tails 1/4
A Review on Probability Distributions
So, we get the following probability values:
Event Probability
2H 1/4 = 0.25
1H1T 1/4+1/4=0.50
2T 1/4 = 0.25
The above probability values are shown on a graph in the
next slide. This graph is a discrete probability distribution.
A Review on Probability Distributions
Probability Distribution
0
0.25
0.5
0.75
2H 1H1T 2T
Event
P
r
o
b
a
b
i
l
i
t
y

A Review on Probability Distributions
The probability distribution in case of a coin tossing
example is discrete. The number of events is finite. Some
random numbers such as the ones for processing times,
arrival times, etc. assume an infinite number of values.
The probability distributions of such random numbers are
continuous.
A continuous probability distribution is similar to a discrete
probability distribution. In the following, some differences
are discussed. Coin tossing will be used as an example of
a discrete distribution and processing time of a
continuous distribution.
A Review on Probability Distributions
While the number of heads in the coin tossing example
may assume a finite number of values, a processing time
may assume an infinite number of values. So, its not
possible to list all the values that the processing time may
assume.
While the number of heads in the coin tossing example
may assume a particular value, the probability that a
processing time will assume a particular value is zero. For
example, there is almost zero probability that a job will be
done in exactly 3 minutes, not a fraction of a second more
or less than 3 minutes. However, probability that a
processing time will lie in a given range may be non-zero.
A Review on Probability Distributions
A graphical description of a probability distribution of
processing time gives the probability values in terms of
the area under the curve.

Area = probability

For example, The probability that the processing time will
lie between 2 and 8 minutes is the area under the curve
from processing time = 2 to processing time = 8 (see the
next slide).
The total area under the curve = 1.00
186
A Review on Probability Distributions
f
(
t
)
Processing Time, t
2 0 4 6 8 10
Probability(2sts8)
= Shaded area
A Review on Probability Distributions
The processing times, arrival times, etc. are often
assumed to follow either a normal distribution or an
exponential distribution.
Normal Distribution: Consider the time required by
Harveys to serve a customer. A customer visits Harveys
during lunch hours. On each visit, he measures the length
of the time between order placement and delivery. He
observes that the time is more or less 3 minutes.
Sometimes, its more than 3 minutes. Almost the same
number of times its less than 3 minutes. Sometimes, its
more than 4 minutes. Almost the same number of times
its less than 2 minutes, and so on.
188
A Review on Probability Distributions
0
0.1
0.2
0.3
0.4
-4 -2 0 2 4
z
f
(
z
)
Normal
Distribution
A Review on Probability Distributions
Exponential Distribution: Consider the time required to
get a taxi cab. A hotel manager calls a taxi cab for the
guests. She measures the length of time between phone
call and arrival of the taxi cab. She is impressed with the
service. Most of the times its very quick, within a minute
or two, because the cab is parked near the hotel. Often,
its between two to four minutes, because the cab arrives
from a distance. Occasionally, however, it takes 10, 20 or
30 minutes because of a high demand, traffic congestion,
etc. The manager computes the average, which turns out
to be 3 minutes.
A Review on Probability Distributions
0
0.1
0.2
0.3
0.4
0 5 10 15 20
Time, t
f
(
t
)
Exponential distribution
with mean = 3
Stochastic Scheduling
Up to Lesson 6, we have assumed that all arrival
times, processing times and due dates are known
with certainty. However, often processing times may
be unknown or uncertain.
In this lesson, we shall assume that the processing
times follow some probability distributions which are
known. The probability distributions may be obtained
from historical data. We shall assume that the jobs
are different from one another. So, the processing
times are independent of one another.
Stochastic Scheduling
The arrival times may also be uncertain. We discuss
two cases with two different assumptions regarding
arrival times:
Static Analysis: All jobs are available from the
beginning. An example is the delivery problem for
which orders are taken 24 hours on-line and
delivered once in the morning. So, the orders are
available before the delivery process starts.
Dynamic Analysis: Jobs arrive randomly over time,
and sequencing decisions are made as the jobs
arrive. An example is the customers arriving to a
bank.
193
Static Analysis: Single Machine
Assume that there is a single machine that must
process some n jobs. The exact processing times of
jobs are not known. Each job processing time is a
random variable with a known distribution function.
Two objectives are easy to minimize with rules
extended from deterministic scheduling
To minimize the expected mean flow time, apply the
shortest expected processing time rule (As
discussed in Lesson 4, Slides 4-7, the total
completion time or mean flow time is minimized by
the shortest processing time rule)
194
Static Analysis: Single Machine
To minimize the maximum probability that a job is
late, apply the earliest expected due date rule (As
discussed in Lesson 4, Slides 8-11, the maximum
lateness is minimized by the earliest due date
rule)

195
Static Analysis: Parallel Machines
Consider two identical
parallel machines. The jobs
are assigned to the first
available machine. As soon
as a machine is free, a job
is assigned to that machine.
The jobs must be
sequenced.
Assume that the processing
times are exponentially
distributed.
M1 M2
Enter
Exit
Jobs
Machines
196
Static Analysis: Parallel Machines
Consider the problem of minimizing the expected
makespan, the expected completion time of the last job
processed. A counter-intuitive rule works. The
expected makespan is minimized by processing the
jobs with the Longest Expected Processing Time
(LEPT) rule.
The deterministic scheduling problems often provide
insight into the stochastic scheduling problems. For
example, to understand why the LEPT rule may
minimize the expected makespan, it may be helpful to
review the deterministic version of the problem first.
197
Static Analysis: Parallel Machines
Back To Deterministic Scheduling
Example 1: Consider two identical machines and four
jobs with the deterministic processing times: 4, 8, 2, 6
minutes for Jobs 1, 2, 3 and 4 respectively. Group the
jobs on two machines in order to minimize
makespan. What is makespan? What is the idle time
of the machine that is stopped first?
198
If a different grouping is chosen




Check that
Static Analysis: Parallel Machines
Back To Deterministic Scheduling
2
time idle times processing of Sum
Makespan
+
=
199
From the relationship between makespan and idle
time, makepsan is minimized by minimizing the idle
time of the first stopped machine (the other quantities
on the right hand side of the equation (sum of
processing times and the number 2) are constants
over all schedules).
Example 2 demonstrates that its not always possible
to find a grouping that provides the same work-load
to every machine. So, often the best solution will
have some non-zero idle time on the first stopped
machine.
Static Analysis: Parallel Machines
Back To Deterministic Scheduling
200
Static Analysis: Parallel Machines
Back To Deterministic Scheduling
Example 2: Consider two identical machines and four
jobs with the deterministic processing times: 4, 8, 4, 6
minutes for Jobs 1, 2, 3 and 4 respectively. Group the
jobs on two machines in order to minimize
makespan. What is makepsan? What is the idle time
of the machine that is stopped first?

201
Static Analysis: Parallel Machines
Minimizing expected makespan on two parallel
machines is equivalent to (see last 4 slides)
minimizing expected idle time of the first stopped
machine which is equivalent to
minimizing the expected processing time of the
last job completed
The above arguments provide an intuitive reasoning
why the expected makespan is minimized by the
Longest Expected Processing Time (LEPT) rule,
which assigns the longest expected jobs in the
beginning and the shortest expected jobs in the end.
202
Static Analysis: Parallel Machines
Example 3: A computer center has two identical
computers for batch processing. Job times are
exponentially distributed with the following
expected values (expressed in minutes):
Job 1 2 3 4 5 6 7 8
Expected time 4 8 1 50 1 30 20 6
a. In what sequence should the jobs be processed in
order to minimize the expected makespan?

203
Static Analysis: Parallel Machines
b. Assume that computer A is occupied with a job that
has exactly two minutes of processing time remaining
and computer B is idle. If job times are deterministic,
show the start and end times of each job on each
computer using the sequence derived in Part a.

The answer is shown next. At time 0, B is available.
So, the longest job, Job 4 is assigned to B. At time 2, A
is available. So, the next longest job, Job 6 is assigned
to A. At time 32, A is available again. So, Job 7 is
assigned to A. At time 50, B is available. So, Job 2 is
204
assigned to B. At time 52, A is available. So, Job 8 is
assigned to A. At time 58, there is a tie, both A and B
are available. Computer A is chosen arbitrarily. Job 1
is assigned to A and Job 3 to B. Notice that Job 5
could be assigned before Job 3. All ties are broken
arbitrarily. Job 5 is assigned to B at time 59.

The makespan is 62 minutes. Computer B is idle in the
last two minutes.
Static Analysis: Parallel Machines
205
Static Analysis: Parallel Machines
Job Computer A Job Computer B
Start End Start End
The rows are arranged in the ascending order of start times.
206
Static Analysis: Parallel Machines
B
6 12 18 24 36
Time
42
48
A
30 54
60 66
207
We are back to two-machine flow shop. However, this
time we shall discuss the stochastic version. Recall from
Lesson 5, Slides 18-26, that Johnsons rule minimizes
makespan for the deterministic two-machine flow shop
problem. The stochastic version is solved by a different
procedure which will be discussed in this lesson.
Static Analysis: Two Machine Flow Shop
M1 M2
Enter Exit
A Conceptual View of
A Two-Machine Flow Shop
208
Suppose that the processing times are exponentially
distributed.
Let
= the processing rate of job j on machine 1
= the processing rate of job j on machine 2
Expected makespan is minimized by processing the jobs
in the descending (high to low) order of
Static Analysis: Two Machine Flow Shop
j
a
j
b
j j
b a
209
Notice that the rule is described in terms of rates which
must be computed first from the given processing times.



Where,
= the processing time of job j on machine 1
= the processing time of job j on machine 2


Static Analysis: Two Machine Flow Shop
j j
A a / 1 =
j j
B b / 1 =
j
A
j
B
210
Static Analysis: Two Machine Flow Shop
Example 4: Joe has now been released from his
government job. Based on his excellent performance, he
was able to land a job as a production scheduler in a
brand-new custom refinishing auto service shop located
near the border. The sequence is customizing first,
followed by repainting. The processing times are
independent exponentially distributed random variables
with the mean times as stated below. Find a schedule that
minimizes expected makespan.
Car Customizing Time (Hours) Painting (Hours)
1 4.0 2.0
2 2.5 1.0
3 3.5 1.5
211
First, computes the rates and their differences:
Car Customizing Rate Painting Rate Differences
(Number/Hour) (Number/Hour)
j a
j
b
j
a
j
-b
j

1
2
3

Sequence the jobs in the descending (high to low) order
of the differences a
j
-b
j
i.e.,
to minimize the expected makespan.

Be careful not to use Johnsons rule!
The processing times are exponentially distributed!!

Static Analysis: Two Machine Flow Shop
212
Dynamic Analysis: Selection of Disciplines
Next, we consider the dynamic scheduling problem,
We assume that the jobs arrive randomly over time
and the job processing times are known as soon as
the jobs arrive.
The objective is to determine a good sequencing rule.
When compared to FCFS, SPT rule can significantly
reduce the size of the queue.
As the traffic intensity increases, the advantage of the
SPT rule at reducing the mean flow time improves
(but the variance of flow time increases). This is
shown in the next figure (Text, 8-13, p. 451).
213
Dynamic Analysis: Selection of Disciplines
The next figure (Text, 8-13, p. 451):
Assumes an M/M/1 queue i.e., a single machine
environment in which inter-arrival times and
service times are exponentially distributed.
Assumes that job processing times are realized
when a job joins the queue.
Shows traffic intensity,


on the horizontal axis
rate Service
rate Arrival
= = =

r
214
The next figure (Text, 8-13, p. 451):
Shows the relative flow time


on the vertical axis
Demonstrates that the SPT schedule improves the
expected flow time (or, the expected number in the
system) over the FCFS schedule and that the
improvement and rate of improvement increase
more when the traffic intensity increases.
Dynamic Analysis: Selection of Disciplines
Time) (Flow
Time) (Flow
FCFS
SPT
E
E
215
Dynamic Analysis: Selection of Disciplines
216
Dynamic Analysis: Selection of Disciplines
However, the SPT variance is much worse than the
FCFS variance when the traffic intensity is high,
although the SPT variance is slightly better than the
FCFS variance when the traffic intensity is low.
Hence, it may be concluded that SPT achieves
efficiency in the expected flow time at the cost of
variance.
217
Dynamic Analysis: The Rule
Suppose that
Jobs arrive randomly with exponential service rates.
Job j has a service rate . The service rate
where, = processing time of job j.
A job-dependent return is available if job j is
completed by some pre-specified due date which
is the same for all jobs.
The best scheduling policy that maximizes total
earnings is to choose the job with the largest value of


c
t
j
c
j

j j
c
j j
t / 1 =
j
t
218
Dynamic Analysis: The Rule
c
Example 5: Suppose that there are two types jobs,
Type I has a return of $0.25 per job and Type II
$0.75 per job. Type I service rate is 60 jobs per hour
Type II 10 jobs per hour. The service rates are
exponentially distributed. All the jobs must be
completed before the end of week. Which type of job
will have priority? Within a given type of job, which
one will have priority?


219
Example 5 is simple, because it considers only two
types of jobs, the rule is applicable to any number of
types of jobs.
If the returns are all the same, i.e., if all the jobs are
equally important, then the rule is equivalent to the
SPT rule.
Dynamic Analysis: The Rule
c
220
READING AND EXERCISES
Lesson 18

Reading:
Section 8.8 pp. 442-446 (4
th
Ed.), pp. 429- 432 (5
th
Ed.)
Section 8.9 (partial) pp. 450-452 (4
th
Ed.), pp. 436-438
(5
th
Ed.)

Exercises:
8.18, 8.19 (done in the note), 8.21, p. 446 (4
th
Ed.), pp.
432-433 (5
th
Ed.) and 8.25a p. 453 (4
th
Ed.), p. 439 (5
th

Ed.)
221
LESSON 19: ASSEMBLY LINE BALANCING
Outline

Assembly Line
Assembly Line Balancing
The Precedence Diagram
Assignment of Work Elements to Workstations
A Line Balancing Heuristic
222
Assembly Line
Moving assembly line was introduced by Ford
automobiles in 1913
The time required to produce an auto chassis was
reduced from 12 hours and 28 minutes to 1 hour
and 33 minutes
The result was
mass production and
A drastically reduced price which the common
people could afford

223
Assembly Line
If the demand of a standard product is sufficiently
high and stable over a long period of time (as it is in a
make-to-stock or assemble-to-stock production
system), its usually cost effective to rearrange
resources in the order in which the resources are
used. Such a layout is called a product layout.
Two types of product layouts are fabrication lines and
assembly lines
The fabrication line builds components such as
automobile tires, metal parts, etc. (make-to-stock
production system).
224
Assembly Line
The assembly line puts the fabricated parts
together (assemble-to-stock production system).
The range of products produced by assembly
lines includes toys, autos appliances, electronic
items, garden equipment, etc.
Assembly line activities ranges from
hammering, wrenching, parts insertion,
soldering, welding, painting, testing, packaging,
etc.
Both workers and machines may be (some
lines use both) employed in an assembly line.

225
Assembly Line
Both the fabrication line and assembly line are
repetitive processes.
The job is split into many work elements. The work
elements are so small that each element or a group
of elements can be performed by one workstation (an
workstation is an area along the line that requires at
least one worker or one machine).
The line balancing problem is to equalize work at
each workstation. So, the solution procedure
attempts to evenly distribute the work elements to the
workstations.

226
Assembly Line Balancing
Some definitions:
Throughput time: The overall time it takes to complete
an individual product from start to finish is called the
throughput time (a.k.a. product duration time)
Cycle time: The interval between two successive
products produced at a workstation is called the cycle
time (a.k.a. product interval time and takt time (takt is a
Swedish word meaning cycle))
Example 1: Suppose that a product requires a total of
50 minutes. The job is split into 25 workstations of 2
minutes each.
The throughput time is
The cycle time is
227
Assembly Line Balancing
The line balancing problem is difficult. The large number of
work elements partly contributes to the difficulty. The
problem gets more complicated because of the
precedence constraints.
The precedence constraints are physical restrictions on
the order in which the work elements must be done on
the line. For example, welding must precede painting,
testing must be done before packaging, etc.
The precedence diagram is a network with work elements
represented by circles or nodes and the precedence
relationships represented by arcs (lines with arrows
showing directions) connecting the nodes.
228
Assembly Line Balancing
The precedence diagram is demonstrated with an
example later in this lesson. The Activity-on-Node
(AON) method (work elements represented by nodes
and precedences by arcs) is used throughout this
lesson. In Chapter 9, Lessons 9-11, Activity-on-Arc
(AOA) method is used.
The assembly lines are often flexible. When the
demand is high, the job is split into more workstations
achieving a shorter cycle time (although the throughput
time does not change). When the demand is low, a
longer longer cycle time is maintained using fewer
workstations.
229
Assembly Line Balancing
The required cycle time and demand are related as
follows:


Example 2: Suppose that a single shift of 8 hours is
used and the demand is 32 units per day, then


Note that in such a case, every work element must
require less than 15 minutes and workload distributed to
every workstation must be less than 15 minutes.
day per Demand
day per time Production
time cycle Required =
= time cycle Required
230
Assembly Line Balancing
Once we know the total time required by all elements
and the required cycle time, we may be tempted to
compute the required number of workstations as


However, the above ratio does not always provide the
correct number of workstations. One reason is that the
above ratio may not be an integer. To eliminate this
problem we can round up the result (e.g., if the ratio is
2.1 convert it to 3). Still, it may not be correct.
time cycle Required
elements all by required time Total
231
Assembly Line Balancing
Example 3: Suppose that work elements 1, 2 and 3
require 12, 10 and 8 minutes respectively and the
required cycle time is 15 minutes.


But, there is no way to distribute the elements to 2
workstations such that the workload to each workstation
is less than 15 minutes. If a workstation is assigned
elements 1 and 2, the total time = 12+10 = 22>15.
elements 1 and 3, the total time = 12+8 = 20>15.
elements 2 and 3, the total time = 10+8 = 18>15.
=
time cycle Required
elements all by required time Total
232
Assembly Line Balancing
In Example 3, three elements must be assigned to three
separate workstations to keep the cycle time less than
15 minutes.
The ratio, however, is important because when its
rounded up, we get a minimum number of workstations.
The theoretical minimum number of workstations



The notation implies rounding up. For example,
(
(
(

=
time cycle Required
elements all by required time Total
(
(
3 1 . 2 =
233
Assembly Line Balancing
So, in Example 3, the theoretical minimum number of
workstations is 2. But, the actual required number of
workstations is 3.
The actual cycle time can be different from the required
cycle time.

The actual cycle time is the maximum workload assigned to
a workstation.

Example 4: Suppose that the workloads assigned to
three workstations are 12, 10 and 8 minutes.
The actual cycle time =
234
Assembly Line Balancing
Recall from Lesson 2 that one of the scheduling goals is
the efficient utilization of resources. An uneven
distribution of workloads causes idle time in some
workstations and results in an inefficient utilization of
resources. Efficiency of an assembly line




Example 5: Efficiency =

Note: in case of an even distribution, efficiency=100%
(no idle time)
100

=
time cycle Actual ons workstati of Number
elements all by required time Total
235
Assembly Line Balancing
The line balancing problem is difficult. Optimization
procedure is not available. The problem is solved by
heuristic procedures that do not guarantee optimality.
The line balancing steps:
Step 1: Split the job into work elements
Step 2: Establish precedence relationships
Step 3: Determine the required cycle time
Step 4: Using a heuristic procedure, assign work
elements to workstations so that
workload of no workstation is more than the
required cycle time and
all precedence relationships are maintained.
236
Assembly Line Balancing
Step 5: Compare the heuristic solution to the
theoretical minimum number of workstations and
compute efficiency.
If the heuristic procedure provides number of
workstations exactly equal to the theoretical
minimum number of workstations, then the
solution is optimal.
If the optimality of the solution cannot be so
determined, and the efficiency of the solution is
unsatisfactory, a different heuristic procedure
may be applied.
237
Example 6: Real Fruit Snack Strips are made from a
mixture of dried fruit, food coloring, preservatives, and
glucose. The mixture is pressed out into a thin sheet,
imprinted with various shapes, rolled, and packaged.
Draw a precedence diagram from the information given
below:
Work Time Immediate
Element Description (Sec) Predecessor(s)
A Press out sheet of fruit 6 -
B Cut into Strips 12 A
C Outline fun shapes 24 A
D Roll up and package 18 B,C
The Precedence Diagram
238
The Precedence Diagram
239
A
B
C
D 6
12
24
18
Work
station 1
Work
station 2
Work
station 3
Assignment of Work
Elements to Workstations
Find a feasible
line balancing
solution if the
required cycle
time is 24 sec
240
Assignment of Work Elements to
Workstations
If a solution violates a precedence constraint, the
solution is infeasible.
For example, if A and D are assigned to one station
and B and C to another, then precedence constraint
is violated. So, the following solution is infeasible:
Station 1: {A,D}, Station 2: {B,C}
The following solution is feasible:
Station 1: {A,C}, Station 2: {B,D}
Check: If the required cycle time is 30 sec, the
theoretical minimum number of workstations is 2 and
the solution {A,C}, {B,D} is optimum.
241
A Line Balancing Heuristic
Positional Weight Method
Step 1
For each work element, determine
the positional weight = the time required to perform
the work element and all its successors
Step 2
Rank the work elements in order of decreasing
positional weights
Step 3
Assign the work elements sequentially to
workstations in the order of the ranking
242
Example 7: Professional Image Briefcases is an
exclusive producer of handcrafted, stylish cases.
Priding itself on its earlier reputation, the company
assembles each case with care and attention to
detail. This laborious process requires the completion
of six primary work elements listed next.
A Line Balancing Heuristic
Positional Weight Method
243
If the demand is 60 cases per 40-hour week, compute the
required cycle time. How would you balance the the
assembly line?
Work Time Immediate
Element Description (min) Predecessor(s)
A Tan leather 30 -
B Dye leather 15 A
C Shape case 5 B
D Mold hinges and fixtures 15 -
E Install hinges and fixtures 10 C,D
F Assemble case 10 E
A Line Balancing Heuristic
Positional Weight Method
244
First, compute the required cycle time.








Next, apply the heuristic.
=
=
=
week per Demand
week per time Production
time cycle Required
A Line Balancing Heuristic
Positional Weight Method
245
Step 1: The positional weights are shown on the next slide.
Sample computation follow:
Positional weight of D
= Sum of times of D and its successors E and F
= 15+10+10 = 35
Positional weight of B
= Sum of times of B and its successors C, E, and F (not D)
= 15+5+10+10 = 40
Step 2: A has the highest weight. So. Its rank is 1. Next, B has
a rank of 2. D has more weight than C. So, rank of D is 3
and that of C is 4, etc.
A Line Balancing Heuristic
Positional Weight Method
246
A
B
C E
F D
30
15
5
15
10
10
Work
Element
Positional
Weight
Rank
A
B
C
D
E
F
A Line Balancing Heuristic
Positional Weight Method
247
Step 3 is to assign work elements to workstations. For
this step, both the ranks and precedence diagram shown
on the last slide are useful.
The assignment starts from the lowest rank. First A is
assigned to a workstation, then B, then D, then C, etc.
The first assignment is made to workstation 1. So, A is
assigned to workstation 1.
For each of the other work elements, first an attempt is
made to assign the element to workstation 1. If the total
workload exceeds the required cycle time, or a
precedence constraint is violated, next attempt is to
assign the element to workstation 2, and so on.
A Line Balancing Heuristic
Positional Weight Method
248
Rank 1: Work element A (30)




Rank 2: Work element B (15)
A Line Balancing Heuristic
Positional Weight Method
249
Rank 3: Work element D (15)




Rank 4: Work element C (5)
A Line Balancing Heuristic
Positional Weight Method
250
Rank 5: Work element E (10)




Rank 6: Work element F (10)

A Line Balancing Heuristic
Positional Weight Method
251
Final Solution:
Station 1:
Station 2:
Station 3:
Actual cycle time =
A Line Balancing Heuristic
Positional Weight Method
252
READING AND EXERCISES
Lesson 19

Reading:
Section 8.10 pp. 453-458 (4
th
Ed.), pp. 439-443 (5
th

Ed.)

Exercises:
8.27, 8.29 p. 458-460 (4
th
Ed.), pp. 443-446

You might also like