You are on page 1of 252

LESSON 12: INTRODUCTION TO

OPERATIONS SCHEDULING

Outline

• Hierarchy of Production Decisions


• Operations Scheduling
• Production Systems

1
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
2
Figure 8-1: Hierarchy of Production Decisions

F o re c a s t o f d e m a n d

A g g r e g a te P la n

M a s t e r P r o d u c tio n S c h e d u le

M a t e r ia l R e q u ir e m e n t s P la n n in g S y s t e m

D e t a ile d J o b S h o p S c h e d u le
3
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.

4
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, it’s 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.
5
Operations Scheduling

• 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. 6
Operations Scheduling

• 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. 7
Operations Scheduling

• 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. That’s 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. 8
Operations Scheduling

L a t h e m a c h in e Job A 12 Job B 23

G r in d in g m a c h in e Job A 12 Job B 23

2 4 6 8 10 12 14
D ays

9
Operations Scheduling

– 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. 10
Operations Scheduling

– 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.
11
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
12
Marcia.
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.
13
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

14
Production Systems: Flow Shop

• A make-to-stock/assemble-to-stock production system is


associated with
– High volume of production: so, it’s 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. 15
Production Systems: Flow Shop

IN

OUT
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. 16
Production Systems: Job Shop

• A make-to-order/assemble-to-order production system is


associated with
– Low volume of production: so, it’s 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.
17
Production Systems: Job Shop
Milling
Lathe Department Department Drilling Department
L L M M D D D D

L L M M D D D D

L L G G G P

L L G G G P

Grinding Painting Department


L L Department

Receiving and
A A A
Shipping Assembly
18
A conceptual view of a job shop
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.
19
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.

20
Production Systems: Batch Production

• Examples:
– Books
– Pastry
– Painting
– Automobile gears (the
picture shows a
Computer Numerical
Control (CNC) machine
used to produce gears)

21
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.

22
Production
High Systems
Project

Job
Customization

Shop
Batch
production

Flow
Shop

Continuous
Production
Low
Low High 23
Volume
Production
High Aircraft
Systems
Project
Custom-made
Job
Machine and Parts
Customization

Shop
Batch Books
production
Automobile
Flow
Shop Oil
refinery
Continuous
Production
Low
Low High 24
Volume
Labor Production
High Systems
Intensive
Project

Job
Customization

Shop
Batch
production
Capital
Flow Intensive
Shop

Continuous
Production
Low
Low High 25
Volume
READING AND EXERCISES
Lesson 12

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

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

26
LESSON 13: SCHEDULING OBJECTIVES

Outline

• Job Characteristics
• Comparison of Schedules
• Scheduling Terms
• Scheduling Objectives

27
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.

28
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:
rj  Ready time for job j
t j  Processing time for job j
d j  Due date for job j

29
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.

30
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.
• It’s customary to set start time, t  0 and express all
other times with a suitable unit.
• So, set t  0 at 8:30 am and express all other times in
hours.
31
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:
R e a d y P r o c e s s in g D ue
Job
T im e ( h r ) T im e ( h r ) D a te (h r )
j rj tj dj
1 0 2 4
2 1 1 2 32
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
33
Comparison of Schedules

• Schedule 1 S c h e d u le 1
requires the
facility to be Job 1 Job 2
open for fewer
hours (3 hours d2 d1
only in contrast 0 1 2 3 4
to 4 hours T im e , t
required by S c h e d u le 2
Schedule 2)
• Schedule 2 Job 2 Job 1
meets the due
dates d2 d1
(Schedule 1 0 1 2 3 4
does not) T im e , t 34
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.
R e a d y P r o c e s s in g D ue
C ar
T im e ( h r ) T im e ( h r ) D a te (h r)
j rj tj dj
1 0 1 4
2 0 3 3
35
Comparison of Schedules

• Schedule 3 S c h e d u le 3
requires less
parking fees (1
C ar 1 C ar 2
hour only in
contrast to 3 d2 d1
hours required 0 1 2 3 4
by Schedule 4) T im e , t
• Schedule 4 S c h e d u le 4
meets the due
dates
C ar 2 C ar 1
(Schedule 3
does not) d2 d1
0 1 2 3 4
36
T im e , t
Scheduling Terms

• Static versus dynamic scheduling


– In static scheduling, jobs are all available for
processing right at time t  0 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
 0example is a bank where customers arrive
t. An
throughout its service hours.

37
Scheduling Terms

• Deterministic versus stochastic scheduling


– In deterministic scheduling, the job characteristics such
as ready time, r j processing time, t j and due date, d j
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.

38
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.

39
Scheduling Terms

• Parallel versus sequential


processing
E x it
– In parallel processing, there
are multiple identical
M 1 M 2 M 3
machines and a job can be
processed by any machine. M a c h i n e s
An example is a computer
with multiple processors. Jobs
Another example is a bank E n te r
with multiple tellers. On the
right, see a conceptual view
with 3 parallel machines, M1,
M2 and M3.
40
Scheduling Terms

• Parallel versus sequential processing


– In a sequential processing, jobs are sequentially
processed through the machines. An example is
McDonald’s 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.

Jobs
M 1 M 2 M 3
E n te r E x it
M a c h in e s

41
Scheduling Terms

• Completion time versus flow time


– Completion time of Job j , C j 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 j , F j is the length of time between arrival and
completion of the job. So,
F j  C j  rj
– Between arrival and completion, a job is either in
queue for a machine or processed by a machine.
So, F j  W j  t j where W j is the waiting time of Job j
42
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 t  0 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, C 2 = 3 hours.
• Job 2 arrives at 9:30 am, 1 hour after the start of
operation, so r2  1 hour and
F2  C2  r2  3  1  2 hours
43
Scheduling Terms

• Completion time versus flow time

S c h e d u le 1 F2
C2
Job 1 Job 2
r2
0 1 2 3 4
T im e , t

– Important note: if all the jobs are ready for processing


at t  0 , as they are in static scheduling, then
completion time is just the same as flow time.
Fj  C j if rj  0 44
Scheduling Terms

• Lateness versus tardiness


– Lateness of job j , L j  C j  d j
– So, lateness of a job may be
• negative, if the job is early
• zero, if the job is completed right when it’s 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 it’s
due, tardiness is set to zero. Otherwise, the job is late,
and tardiness is set to its lateness.
45
Scheduling Terms

• Lateness versus tardiness



– Tardiness of job j , T j  max 0, L j 
– In other words, tardiness of job j , T j 
• 0, if it’s completed on or before its due date, L j  0
• L j , if it’s completed after its due date, L j  0
Example 4: Consider Example 1, Schedule 1 on slides
5-8. C1  2, C2  3, d1  4, d 2  2 . The lateness and
tardiness of Jobs 1 and 2 are computed on the next
slide.

46
Scheduling Terms

• Lateness versus tardiness


L1  C1  d1  2  4  2
L2  C2  d 2  3  2  1
T1  max 0, L1   max 0,2   0
T2  max 0, L2   max 0,1  1
– 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.
T1  0
T2  L2 47
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 , Cmax
Cmax  max C1 , C2 , C3 ,  , Cn 
48
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.
Cmax  max C1 , C2   max 2,3  3  C2
– In Example 1, Schedule 2, Slide 8, Job 1 is the last
processed job. So, makespan is the completion time of
Job 1.
Cmax  max C1 , C2   max 4,2  4  C1
– Observe that makespan is completion time of Job 1 or
Job 2 depending on which job is processed last.

49
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 Lmax
Lmax  max L1 , L2 , L3 ,  , Ln 
– In Example 1, Schedule 1, Slide 7,
L1  C1  d1  2  4  2, L2  C2  d 2  3  2  1
Lmax  max L1 , L2   max  2,1  1
50
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

minimizes total completion time. Schedule 4 minimizes maximum lateness. C


total completion time. In general, if a schedule frees up space fast, the schedule
j

C j  C1  C2  C3    Cn

51
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, it’s 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.

52
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 overtime53
READING AND EXERCISES
Lesson 13

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

Exercises:
– 8.1, 8.2, 8.3 (parts c, d, e) pp. 424-425 (4th Ed.), p.
413 (5th 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, it’s 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


everyone’s mind is the first-come first-served (FCFS)
rule. We observe this rule several times a day when
we visit a bank for a teller’s service, wait in a grocery
store check-out, or cross the Ambassador bridge.
The rule is simple, but not always the best.
• It’s 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

due date - today’s date


=
remaining processing time

• 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.
Sequencing Rule Example

Processing Due
Suppose that 5 jobs will be
Job Time Date
processed on a single
A 510 machine. The jobs are ready
B 1015 for processing at time t  0.
C 25 The other job characteristics
D 812 are as shown in the table on
left.
E 68
Sequencing Rule Example

• 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 61
Sequencing Rule Example

• 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.

62
First-Come First-Served

Start Processing Completion Due


SequenceTime Time Time Date Tardiness
A 5 10
B 10 15
C 2 5
D 8 12
E 6 8
Average
Shortest Processing Time

Start Processing Completion Due


SequenceTime Time Time Date Tardiness
C 2 5
A 5 10
E 6 8
D 8 12
B 10 15
Average

64
Earliest Due Date

Start Processing Completion Due


SequenceTime Time Time Date Tardiness
C 2 5
E 6 8
A 5 10
D 8 12
B 10 15
Average
Last-Come First-Served

Start Processing Completion Due


Sequence Time Time Time Date Tardiness
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
LCFS rule: The jobs are arranged in last-come first-served
order.
Critical Ratio

• 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.

67
Critical Ratio

• 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.

68
Phase I

Critical Ratio

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

Iteration 1 69
Phase I

Critical Ratio

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

Iteration 2 70
Phase I

Critical Ratio

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

Iteration 3 71
Phase I

Critical Ratio

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

Iteration 4 72
Phase II

Critical Ratio

Start Processing Completion Due


SequenceTime Time Time Date Tardiness
E 6 8
C 2 5
A 5 10
D 8 12
B 10 15
Average
CR rule: The jobs are arranged in order obtained by the
iterative procedure shown on Slides 27-32.
Summary

Average Average No. of Maximum


Rule Completion Time Tardiness Jobs Tardy Tardiness
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
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, it’s 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.
READING AND EXERCISES
Lesson 14

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

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

82
LESSON 15: SINGLE MACHINE
SCHEDULING

Outline

• Total Completion time


• Maximum Lateness
• Number of Tardy Jobs
• Forward and Backward Scheduling
• Precedence Constraints

83
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.

84
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 worker’s wages, utilities, overheads etc.
• The last topic of the lesson is a procedure which is
applied when there are some precedence
constraints.

85
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.

86
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.

87
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.
88
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.

89
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?
– It’s 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.
90
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.
91
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.

92
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 it’s 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. 93
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 it’s 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.
94
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 i  th job is the first tardy job, consider the first i
jobs and remove the one with the largest processing
time.
3. Append all the tardy jobs, if any, in the end in any
order.

95
Number of Tardy Jobs: Example
Processing Completion Due

A 7 9
Job
B Time
8 Time Date
17
C 4 18
D 6 19
E 6 21

96
Number of Tardy Jobs: Example
Processing Completion Due

A 7 9
Job
B Time
8 Time Date
17
C 4 18
D 6 19
E 6 21
Arrange the jobs in the EDD order and find if any is tardy

Step 1 97
Number of Tardy Jobs: Example
Processing Completion Due

A 7 9
Job
B Time
8 Time Date
17
C 4 18
D 6 19
E 6 21
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.

Step 2-1 98
Number of Tardy Jobs: Example
Processing Completion Due

A 7 9
Job
B Time
8 Time Date
17
C 4 18
D 6 19
E 6 21
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.

Step 2-2 99
Number of Tardy Jobs: Example
Processing Completion Due

A 7 9
Job
B Time
8 Time Date
17
C 4 18
D 6 19
E 6 21
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.

Step 2-3 100


Number of Tardy Jobs: Example
Processing Completion Due

A 7 9
Job
B Time
8 Time Date
17
C 4 18
D 6 19
E 6 21
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.

Step 2-4 101


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 102
Number of Tardy Jobs: A Note

• 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.

103
Forward and Backward Scheduling

• 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.

104
Lawler’s Algorithm for Precedence Constraints

• The algorithm is applicable for single machine


problems with the objective of minimizing
– Makespan
– Maximum lateness
– Maximum tardiness

105
Lawler’s Algorithm for Precedence Constraints

• Consider a single machine problem with precedence


constraints and minimizing maximum lateness
objective (other objectives previously stated may be
minimized similarly)

106
Lawler’s Algorithm for Precedence Constraints

• 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.

107
Lawler’s Algorithm for Precedence Constraints

• 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.

108
C

A B D

Processing Due Lateness

A 7 9
Job
B Time
8 Date
17 Candidate? If scheduled
C 4 18
D 6 19
E 6 21
Completion time if scheduled
= 7+8+4+6+6=31 109
C

A B D

Processing Due Lateness

A 7 9
Job
B Time
8 Date
17 Candidate? If scheduled
C 4 18
D 6 19

Completion time if scheduled


= 7+8+4+6=25 E
110
A B D

Processing Due Lateness

A 7 9
Job
B Time
8 Date
17 Candidate? If scheduled

D 6 19

Completion time if scheduled


= 7+8+6=21 C E
111
A B

Processing Due Lateness

A 7 9
Job
B Time
8 Date
17 Candidate? If scheduled

Completion time if scheduled


= 7+8=15 D C E
112
A

Processing Due Lateness

A 7 9 Yes 7-9=-2
Job Time Date Candidate? If scheduled

Completion time if scheduled


=7 B D C E
113
Lawler’s 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”

114
READING AND EXERCISES
Lesson 15

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

Exercises:
– 8.6, 8.7, p. 431 (4th Ed.), pp. 419-420 (5th Ed.)

115
LESSON 16:
MULTIPLE MACHINE SCHEDULING

Outline

• Planning and Monitoring with Gantt Chart


• Two-Machine Flow Shop
• Extension To A Three-Machine Flow Shop
Planning and Monitoring with Gantt Chart

• 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.
117
Planning and Monitoring with Gantt Chart

B e h in d s c h e d u le C o m p le t e d
M illin g m a c h in e Job A 12 A c t iv it y
A h e a d o f s c h e d u le
G r in d in g m a c h in e Job B 23
O n s c h e d u le S c h e d u le d
T u r n in g m a c h in e Job C 34 A c t iv it y

2 4 6 8 10 12 14
T o d a y 's d a t e D ays

Gantt Chart shows both scheduled and completed activities


against a time scale
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.

E n te r E x it
M 1 M 2

A C o n c e p t u a l V ie w o f
A T w o - M a c h in e F lo w S h o p 119
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)
120
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) 121
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
122
B23).
Two Machine Flow Shop

L a th e m a c h in e Job A 12 Job B 23

G r in d in g m a c h in e Job A 12 Job B 23

2 4 6 8 10 12 14 16
D ays

123
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. That’s a permutation schedule.
– If Job A12 were started at time 16 on Grinding
machine (instead of time 4), it would still be a flow
124
shop but not a permutation schedule.
Two Machine Flow Shop
• It’s 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:

Machine Machine
Job Center 1 Center 2

A 16 5
B 9 17
125
Two Machine Flow Shop
• Schedule1: Suppose that each machine processes
Job A before Job B. Then, the starting, processing,
and finishing times are as follows:
Machine 1 Machine 2
Job Start Process Finish Start Process Finish
A 16 5
B 9 17
• 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 it’s completed on Machine 1. 126
Two Machine Flow Shop
• 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.
127
Two Machine Flow Shop
• 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 Johnson’s 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.

128
Two Machine Flow Shop
• Schedule 2: Suppose that each machine processes
Job B before Job A.
Machine 1 Machine 2
Job Start Process Finish Start Process Finish
B 9 17
A 16 5
• 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!!!)
129
Two Machine Flow Shop
• Johnson’s 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 Johnson’s 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 Johnson’s rule
and an example will now follow.
130
Two-Machine Flow Shop
Johnson’s Rule

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.
131
Two-Machine Flow Shop
Johnson’s Rule Example
Machine Machine
Job Center 1 Center 2

A 5 6
B 16 5
C 8 2
D 9 17
E 4 6

The minimum processing time, 2, is given by Job C on


Machine 2. So, Schedule Job C in the end.
Two-Machine Flow Shop
Johnson’s Rule Example
Machine Machine
Job Center 1 Center 2

A 5 6
B 16 5

D 9 17
E 4 6
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. 133
Two-Machine Flow Shop
Johnson’s Rule Example
Machine Machine
Job Center 1 Center 2

A 5 6
B 16 5

D 9 17

E C

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. 134
Two-Machine Flow Shop
Johnson’s Rule Example
Machine Machine
Job Center 1 Center 2

B 16 5

D 9 17

E A C

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.135
Two-Machine Flow Shop
Johnson’s Rule Example
Machine Machine
Job Center 1 Center 2

D 9 17

E A B C

Next, Job B is scheduled. It’s scheduled in the end, because


its minimum processing time is given on Machine 2.
136
Two-Machine Flow Shop
Johnson’s Rule Example
Machine Machine
Job Center 1 Center 2

E A D B C

The sequencing is complete after assigning the remaining


Job D to the remaining position. Next, the makespan is
computed. 137
Two-Machine Flow Shop
Johnson’s Rule Example
Machine Machine
Job Center 1 Center 2
E
A
D
B
C

E A D B C

Each triplet above shows the starting, processing, and finishing


times of an operation. Johnson’s rule guarantees that the above
schedule gives the best value (44) of makespan. 138
Two-Machine Flow Shop
Johnson’s Rule Example

M1

M2

6 12 18 24 30 36 42 48
Time

The Gantt chart corresponding to the optimal sequence,


E-A-D-B-C obtained using the Johnson’s rule 139
Extension of Johnson’s Rule
To A Three Machine Flow Shop

• An extension of Johnson’s 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.
E n te r E x it
M 1 M 2 M 3

A C o n c e p t u a l V ie w o f
A T h r e e - M a c h in e F lo w S h o p
Extension of Johnson’s Rule
To A Three Machine Flow Shop

• The extension of Johnson’s 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 141 2
Extension of Johnson’s Rule
To A Three Machine Flow Shop

• 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  5 = min (6, 9, 5, 8, 7) =
smallest processing time on Machine 1. So, Machine 1
dominates Machine 2 and the extension of Johnson’s
rule applies.
• Example (b): The largest processing time on Machine 2
= max (6, 3, 2, 4, 5) = 6  6 = min (7, 8, 6, 9, 8) =
smallest processing time on Machine 3. So, Machine 3
dominates Machine 2 and the extension of Johnson’s
rule applies. 142
Extension of Johnson’s Rule
To A Three Machine Flow Shop

Machine Machine Machine


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
(a) (b) (c)

Johnson’s rule applies in each of the above cases 143


Extension of Johnson’s Rule
To A Three Machine Flow Shop

• Example (c): The extension of Johnson’s 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.
144
Extension of Johnson’s Rule
To A Three Machine Flow Shop

• 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 Johnson’s 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.

145
Extension of Johnson’s Rule
To A Three Machine Flow Shop

Machine Machine
Job 1 2 3 Job 1 2
1 6 5 7 1
2 9 3 3 2
3 5 4 8 3
4 8 2 4 4
5 7 3 5 5
Three-Machine Problem Fictitious Two-Machine Problem

An optimal (not unique) sequence is


Next, compute makespan using the original 3 machines. 146
Extension of Johnson’s Rule
To A Three Machine Flow Shop
Machine Machine Machine
Job Center 1 Center 2 Center 3

Each triplet above shows the starting, processing, and finishing


times of an operation. Johnson’s rule guarantees that the above
schedule gives the best value (41) of makespan. 147
Extension of Johnson’s Rule
To A Three Machine Flow Shop
• 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.
148
Gantt Chart

• 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.

149
Gantt Chart

M1

M2

M3

6 12 18 24 30 36 42
Time
The Gantt chart corresponding to the optimal sequence,
obtained using the extension of Johnson’s rule. 150
Gantt Chart

• 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.

151
READING AND EXERCISES
Lesson 16

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

Exercise:
– 8.13, 8.14, p. 441 (4th Ed.), p. 428 (5th Ed.)

152
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

153
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. It’s 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.
154
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.
155
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

156
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
Peter’s time on one axis and Patricia’s on the other.
Each process A, B, C and D will be shown on the
graph by a rectangle.
• Step 2: Find Peter’s and Patricia’s 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
157
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.
158
Step 1: Set Up A
Cartesian Coordinate System

30

20

10

10 20 30 40 50
159
Step 2: Find Peter’s and Patricia’s
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 Peter’s and Patricia’s
cumulative times. The clock times will be computed later.
Peter’s Time Patricia’s 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. 160
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 Patricia’s start time of that activity and another corner is
obtained from Peter and Patricia’s 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.
161
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

162
Step 4: Draw Rectangles

30
Patricia's Time

20

10

10 20 30 40 50
Peter's Time 163
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

H o r iz o n t a l V e r t ic a l 4 5 -D e g re e
164
L in e L in e L in e
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 = Peter’s total time = 50
• b = total time on the y-axis = Patricia’s 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

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)
• 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)
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)
(a,b)
D
30
Patricia's Time

20 C

10
A
B
(0,0)
10 20 30 40 50
Peter's Time 167
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 line’s
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.

168
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

169
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).
170
Step 6: Compute
Clock Times Along the Path

(a,b)
D
30
Patricia's Time

20 C

10
A
B
(0,0)
20 1030 40 50
Peter's Time 171
Length of the vertical line = 5, clock time = 60 + 5 = 65
Step 7: Another Path

70
(a,b)
40 D
30
Patricia's Time

35

20 C

10
A 15
5 10 B
(0,0)
20 30 10 40 50
Peter's Time 172
Check the clock times and length of the path.
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. Peter’s activity is the one on the above or
below the line segment.
• Vertical line segment: Only Patricia is busy and Peter
idle. Patricia’s activity is the one on the left or right of
the line segment.

173
Step 8: Interpretation

• 45-degree line segment: Both are busy.


• Peter’s activity is one on the above or below the
line segment.
• Patricia’s 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.

174
Step 8: Interpretation

Start End Line Segment Peter’s Patricia’s


Clock Time Clock Time Type Activity Activity
0 5
5 10
10 15
15 40
40 50
50 60
60 65
175
Step 9: The Gantt Chart

A
B
C
D

10 20 30 40 50 60
Gantt Chart

176
READING AND EXERCISES
Lesson 17

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

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

177
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. It’s 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.75

0.5
Probability

0.25

0
2H 1H1T 2T

Event
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, it’s 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
A Review on Probability Distributions

P r o b a b ilit y ( 2  t  8 )
= S h a d e d a re a
f(t)

0 2 4 6 8 10
P r o c e s s in g T im e , t
186
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
Harvey’s to serve a customer. A customer visits Harvey’s
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, it’s more than 3 minutes. Almost the same
number of times it’s less than 3 minutes. Sometimes, it’s
more than 4 minutes. Almost the same number of times
it’s less than 2 minutes, and so on.
A Review on Probability Distributions

0.4

0.3
Normal
Distribution
f(z)

0.2

0.1

0
-4 -2 0 2 4
188
z
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 it’s very quick, within a minute
or two, because the cab is parked near the hotel. Often,
it’s 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.4

0.3
f(t)

0.2
Exponential distribution
with mean = 3
0.1

0
0 5 10 15 20
Time, t
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.
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)
193
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)

194
Static Analysis: Parallel Machines

• Consider two identical


parallel machines. The jobs E x it
are assigned to the first
available machine. As soon
M 1 M 2
as a machine is free, a job
is assigned to that machine. M a c h i n e s
The jobs must be
sequenced. Jobs
• Assume that the processing E n te r
times are exponentially
distributed.

195
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.
196
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?

197
Static Analysis: Parallel Machines
Back To Deterministic Scheduling

• If a different grouping is chosen

• Check that
Sum of processing times  idle time
Makespan 
2

198
Static Analysis: Parallel Machines
Back To Deterministic Scheduling

• 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 it’s 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.

199
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?

200
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.
201
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?

202
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
203
Static Analysis: Parallel Machines

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.

204
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. 205
Static Analysis: Parallel Machines

6 12 18 24 30 36 42 48 54 60 66
Time

206
Static Analysis: Two Machine Flow Shop

• 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 Johnson’s 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.

E n te r E x it
M 1 M 2

A C o n c e p t u a l V ie w o f
A T w o - M a c h in e F lo w S h o p
207
Static Analysis: Two Machine Flow Shop

• Suppose that the processing times are exponentially


distributed.
• Let
– aj = the processing rate of job j on machine 1
– bj = 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 a j  b j

208
Static Analysis: Two Machine Flow Shop

• Notice that the rule is described in terms of rates which


must be computed first from the given processing times.
a j  1 / Aj
bj  1/ B j

• Where,
– Aj = the processing time of job j on machine 1
– Bj = the processing time of job j on machine 2

209
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)
14.0 2.0
22.5 1.0
33.5 1.5
210
Static Analysis: Two Machine Flow Shop
First, computes the rates and their differences:
Car Customizing Rate Painting Rate Differences
(Number/Hour) (Number/Hour)
jaj bj aj-bj
1
2
3

Sequence the jobs in the descending (high to low) order of


the differences aj-bj i.e., to
minimize the expected makespan.

Be careful not to use Johnson’s rule!


The processing times are exponentially distributed!! 211
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).
212
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,
 Arrival rate
r 
 Service rate
on the horizontal axis
213
Dynamic Analysis: Selection of Disciplines

• The next figure (Text, 8-13, p. 451):


– Shows the relative flow time
ESPT (Flow Time)
EFCFS (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.
214
Dynamic Analysis: Selection of Disciplines

215
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.

216
Dynamic Analysis: The c Rule

Suppose that
• Jobs arrive randomly with exponential service rates.
• Job j has a service rate  j . The service rate  j  1 / t j
where, t j = processing time of job j.
• A job-dependent return c j is available if job j is
completed by some pre-specified due date t 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
cj j
217
Dynamic Analysis: The c Rule

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?

218
Dynamic Analysis: The c Rule

• 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.

219
READING AND EXERCISES
Lesson 18

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

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

Outline

• Assembly Line
• Assembly Line Balancing
• The Precedence Diagram
• Assignment of Work Elements to Workstations
• A Line Balancing Heuristic

221
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

222
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), it’s 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).
223
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.
224
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.
225
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
226
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. 227
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. 228
Assembly Line Balancing

• The required cycle time and demand are related as


follows:
Production time per day
Required cycle time 
Demand per day
• Example 2: Suppose that a single shift of 8 hours is
used and the demand is 32 units per day, then

Required cycle time 

• 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. 229
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
Total time required by all elements
Required cycle time
• 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.

230
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.
Total time required by all elements

Required cycle time
• 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. 231
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 it’s
rounded up, we get a minimum number of workstations.
The theoretical minimum number of workstations
 Total time required by all elements 
 
 Required cycle time 

• The notation   implies rounding up. For example,


 2.1  3 232
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 =
233
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
Total time required by all elements
 100
Number of workstations  Actual cycle time

• Example 5: Efficiency =

• Note: in case of an even distribution, efficiency=100%


234
(no idle time)
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.235
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.
236
The Precedence Diagram

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
237
The Precedence Diagram

238
Assignment of Work
Elements to Workstations 12
Find a feasible B
line balancing
solution if the 6 A D 18
required cycle
time is 24 sec
C
24

Work Work Work


station 1 station 2 station 3

239
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. 240
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

241
A Line Balancing Heuristic
Positional Weight Method

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.

242
A Line Balancing Heuristic
Positional Weight Method
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
If the demand is 60 cases per 40-hour week, compute the
required cycle time. How would you balance the the
assembly line?
243
A Line Balancing Heuristic
Positional Weight Method
First, compute the required cycle time.
Required cycle time
Production time per week

Demand per week

Next, apply the heuristic.


244
A Line Balancing Heuristic
Positional Weight Method
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. 245
A Line Balancing Heuristic
Positional Weight Method

B 15 Work Positional
Element Weight Rank

10 A
B
A 5 C E C
30 D
E
15 D 10 F F

246
A Line Balancing Heuristic
Positional Weight Method
• 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. 247
A Line Balancing Heuristic
Positional Weight Method
Rank 1: Work element A (30)

Rank 2: Work element B (15)

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

Rank 4: Work element C (5)

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

Rank 6: Work element F (10)

250
A Line Balancing Heuristic
Positional Weight Method
Final Solution:
• Station 1:
• Station 2:
• Station 3:
• Actual cycle time =

251
READING AND EXERCISES
Lesson 19

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

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

252

You might also like