Download OPERATIONS MANAGEMENT II

Document related concepts

Artificial intelligence wikipedia , lookup

Algorithm characterizations wikipedia , lookup

Self-replicating machine wikipedia , lookup

Transcript
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
Forecast of demand
Aggregate Plan
Master Production Schedule
Material Requirements Planning System
Detailed Job Shop Schedule
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
7
various resources over the planning horizon.
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
8
Job B23 are to be produced over the next 14 days.
Operations Scheduling
Lathe machine
Job A12
Job B23
Job A12
Grinding machine
2
4
6
8
Job B23
10
12
14
Days
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
12
Mary and 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
15
if design changes significantly.
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.
16
Every job visits the machines in the same order.
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
Lathe Department
Milling
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
L
L
Grinding
Department
Receiving and
Shipping
Painting Department
A
A
A
Assembly
A conceptual view of a job shop
18
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
Systems
High
Project
Customization
Job
Shop
Batch
production
Flow
Shop
Continuous
Production
Low
Low
Volume
High
23
Aircraft
Project
Job
Shop
Customization
High
Production
Systems
Custom-made
Machine and Parts
Batch
production
Flow
Shop
Books
Automobile
Oil
refinery
Continuous
Production
Low
Low
Volume
High
24
High
Project
Labor
Intensive
Production
Systems
Customization
Job
Shop
Batch
production
Flow
Shop
Capital
Intensive
Continuous
Production
Low
Low
Volume
High
25
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:
Job
j
1
2
Ready Processing
Time (hr) Time (hr)
rj
tj
0
1
2
1
Due
Date (hr)
dj
4
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
requires the
facility to be
open for fewer
hours (3 hours
only in contrast
to 4 hours
required by
Schedule 2)
Schedule 2
meets the due
dates
(Schedule 1
does not)
Schedule 1
Job 1
Job 2
d2
1
0
2
Time, t
d1
3
4
Schedule 2
Job 2
Job 1
d2
0
1
2
Time, t
d1
3
4
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.
Car
j
1
2
Ready Processing
Due
Time (hr) Time (hr) Date (hr)
rj
tj
dj
0
0
1
3
4
3
35
Comparison of Schedules
•
•
Schedule 3
requires less
parking fees (1
hour only in
contrast to 3
hours required
by Schedule 4)
Schedule 4
meets the due
dates
(Schedule 3
does not)
Schedule 3
Car 1
Car 2
d2
0
1
2
Time, t
d1
3
4
Schedule 4
Car 2
Car 1
d2
0
1
2
Time, t
d1
3
4
36
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
. An example is a bank where customers
arrivet throughout
its service hours.
0
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
Exit
– In parallel processing, there
are multiple identical
M1
M2
M3
machines and a job can be
processed by any machine. Machines
An example is a computer
Jobs
with multiple processors.
Enter
Another example is a bank
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
Enter
M1
M2
Machines
M3
Exit
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
42
j
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, C2 = 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
Schedule 1
C2
Job 1
F2
Job 2
r2
0
1
2
Time, t
3
4
– 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
Cj
C
j
 C1  C2  C3   Cn

– In Example 2, Slides 9-10, Schedule 3 minimizes not
only parking fees but also total completion time. In
general, if a schedule frees up space fast, the
schedule minimizes total completion time. Schedule 4
minimizes maximum lateness.
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
53
– Minimize work-in-process inventory, minimize overtime
READING AND EXERCISES
Lesson 13
Reading:
– Sections 8.2-8.3, pp. 416-419 (4th Ed.), pp. 406409 (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
Job
Time
Date
A
5
10
B
10
15
C
2
5
D
8
12
E
6
8
Suppose that 5 jobs will be
processed on a single
machine. The jobs are ready
for processing at time t  0.
The other job characteristics
are as shown in the table on
left.
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
61
3,1,2
3,2,1
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
SequenceTime
Time
A
B
C
D
E
Average
5
10
2
8
6
Completion
Time
Due
Date
10
15
5
12
8
Tardiness
Shortest Processing Time
Start Processing
SequenceTime
Time
C
A
E
D
B
Average
2
5
6
8
10
Completion
Time
Due
Date
Tardiness
5
10
8
12
15
64
Earliest Due Date
Start Processing
SequenceTime
Time
C
E
A
D
B
Average
2
6
5
8
10
Completion
Time
Due
Date
5
8
10
12
15
Tardiness
Last-Come First-Served
Start Processing
Sequence Time
Time
E
D
C
B
A
Average
0
6
14
16
26
6
8
2
10
5
Completion
Time
Due
Date
6
14
16
26
31
18.60
8
12
5
15
10
Tardiness
0
2
11
11
21
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?
Date Ratio
Time
10
5
A
15
10
B
5
2
C
12
8
D
8
6
E
Iteration 1
69
Phase I
Critical Ratio
Current
Time
Job Processing Due Critical Assign?
Date Ratio
Time
10
5
A
15
10
B
5
2
C
12
8
D
8
6
E
Iteration 2
70
Phase I
Critical Ratio
Current
Time
Job Processing Due Critical Assign?
Date Ratio
Time
10
5
A
15
10
B
5
2
C
12
8
D
8
6
E
Iteration 3
71
Phase I
Critical Ratio
Current
Time
Job Processing Due Critical Assign?
Date Ratio
Time
10
5
A
15
10
B
5
2
C
12
8
D
8
6
E
Iteration 4
72
Phase II
Critical Ratio
Start Processing
SequenceTime
Time
Completion
Time
Due
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
Rule
FCFS
SPT
EDD
LCFS
CR
Average
Completion Time
18.60
14.80*
15.00
18.60
15.80
Average
No. of
Maximum
Tardiness Jobs Tardy Tardiness
9.6
6.0
5.6*
9.0
6.2
* Best values
Guaranteed best values are shown in bold
3*
3*
3*
4
4
23
16*
16*
21
16*
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
Job
A
B
C
D
E
Processing Completion
Time
Time
7
8
4
6
6
Due
Date
9
17
18
19
21
96
Number of Tardy Jobs: Example
Job
A
B
C
D
E
Processing Completion
Time
Time
7
8
4
6
6
Due
Date
9
17
18
19
21
Arrange the jobs in the EDD order and find if any is tardy
Step 1
97
Number of Tardy Jobs: Example
Job
A
B
C
D
E
Processing Completion
Time
Time
7
8
4
6
6
Due
Date
9
17
18
19
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
Job
A
B
C
D
E
Processing Completion
Time
Time
7
8
4
6
6
Due
Date
9
17
18
19
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
Job
A
B
C
D
E
Processing Completion
Time
Time
7
8
4
6
6
Due
Date
9
17
18
19
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
Job
A
B
C
D
E
Processing Completion
Time
Time
7
8
4
6
6
Due
Date
9
17
18
19
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
Job
Processing Completion
Time
Time
Due
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
B
A
D
E
Processing Due
Job
Time
Date
A
B
C
D
E
7
8
4
6
6
Candidate?
Lateness
If scheduled
9
17
18
19
21
Completion time if scheduled
= 7+8+4+6+6=31
109
C
A
B
Processing Due
Job
Time
Date
A
B
C
D
7
8
4
6
D
Candidate?
Lateness
If scheduled
9
17
18
19
Completion time if scheduled
= 7+8+4+6=25
E
110
A
B
Processing Due
Job
Time
Date
A
B
7
8
9
17
D
6
19
Completion time if scheduled
= 7+8+6=21
D
Candidate?
Lateness
If scheduled
C
E
111
A
B
Processing Due
Job
Time
Date
A
B
7
8
Candidate?
Lateness
If scheduled
9
17
Completion time if scheduled
= 7+8=15
D
C
E
112
A
Processing Due
Job
Time
Date
A
7
9
Completion time if scheduled
=7
Candidate?
Yes
Lateness
If scheduled
7-9=-2
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
Behind schedule
Completed
Activity
Milling machine
Job A12
Grinding machine
Ahead of schedule
Job B23
Scheduled
Activity
On schedule
Job C34
Turning machine
2
4
6
Today's date
8
10
12
14
Days
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 threemachine systems.
Enter
M1
M2
Exit
A Conceptual View of
A Two-Machine Flow Shop
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
Lathe machine
Job A12
Job B23
Job A12
Grinding machine
2
4
6
8
Job B23
10
12
14
16
Days
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:
Job
Machine
Center 1
A
B
16
9
Machine
Center 2
5
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
16
5
A
17
9
B
• 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
Job
Machine
Center 1
A
B
C
D
E
5
16
8
9
4
Machine
Center 2
6
5
2
17
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
Job
Machine
Center 1
Machine
Center 2
A
B
5
16
6
5
D
E
9
4
17
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
133
beginning.
Two-Machine Flow Shop
Johnson’s Rule Example
Job
Machine
Center 1
A
B
5
16
6
5
D
9
17
E
Machine
Center 2
C
Job E is removed. Now, there is a tie. Minimum processing
time is given by Jobs A and B. Break ties arbitrarily.
134
Schedule one of Job A or Job B.
Two-Machine Flow Shop
Johnson’s Rule Example
Job
Machine
Center 1
B
16
5
D
9
17
E
A
Machine
Center 2
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
Job
Machine
Center 1
D
9
E
A
Machine
Center 2
17
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
Center 1
Job
E
A
D
Machine
Center 2
B
C
The sequencing is complete after assigning the remaining
Job D to the remaining position. Next, the makespan is
137
computed.
Two-Machine Flow Shop
Johnson’s Rule Example
Machine
Center 1
Job
Machine
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
138
schedule gives the best value (44) of makespan.
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.
Enter
M1
M2
M3
A Conceptual View of
A Three-Machine Flow Shop
Exit
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
141 2
• In Case 3 both Machines 1 and 3 dominate Machine
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
142
rule applies.
Extension of Johnson’s Rule
To A Three Machine Flow Shop
Machine
Job 1 2 3
1 6 5 7
2 9 3 3
3 5 4 8
4 8 2 4
5 7 3 5
(a)
Machine
Job 1 2 3
1 6 6 7
2 9 3 8
3 4 2 6
4 5 4 9
5 3 5 8
(b)
Machine
Job 1 2 3
1 9 5 6
2 5 3 5
3 7 4 8
4 6 2 7
5 7 3 5
(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
Job
1
2
3
1
6
5
7
2
9
3
3
3
5
4
8
4
8
2
4
5
7
3
5
Three-Machine Problem
Machine
Job
1
2
1
2
3
4
5
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
Job
Machine
Center 1
Machine
Center 2
Machine
Center 3
Each triplet above shows the starting, processing, and finishing
times of an operation. Johnson’s rule guarantees that the above
147
schedule gives the best value (41) of makespan.
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
Activity
A
B
C
D
Time
10
5
25
10
Patricia
Activity
Time
B
5
A
5
C
20
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
160
Note a = 50, b = 35 according to the notations on slide 6.
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
A
B
C
D
Lower Left Corner Upper Right Corner
162
Step 4: Draw Rectangles
Patricia's Time
30
20
10
10
20
30
40
Peter's Time
50
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
Horizontal
Line
Vertical
Line
45-Degree
Line
164
Step 5: Using only Three Special Types of
Line Segments and Not Crossing the
Rectangles Find A Path From (0,0) To (a,b)
• 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)
D
Patricia's Time
30
C
20
10
(a,b)
A
B
(0,0)
10
20
30
40
Peter's Time
50
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
D
Patricia's Time
30
C
20
10
(a,b)
A
B
(0,0)
10
20
30
40
50
Peter's Time
Length of the vertical line = 5, clock time = 60 + 5 = 65
171
Step 7: Another Path
40
Patricia's Time
30
35
C
20
10
15
A
5
(0,0)
70
(a,b)
D
10 B
10
20
30
40
Peter's Time
Check the clock times and length of the path.
50
172
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
Clock Time
0
5
10
15
40
50
60
End
Clock Time
5
10
15
40
50
60
65
Line Segment
Type
Peter’s Patricia’s
Activity
Activity
175
Step 9: The Gantt Chart
A
B
C
D
10
20
30
40
Gantt Chart
50
60
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
Probability
0.75
0.5
0.25
0
2H
1H1T
Event
2T
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
f(t)
Probability(2t8)
= Shaded area
0
2
4
6
8
10
Processing Time, 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
f(z)
Normal
Distribution
0.2
0.1
0
-4
-2
0
z
2
4
188
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
f(t)
0.3
0.2
Exponential distribution
with mean = 3
0.1
0
0
5
10
Time, t
15
20
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
Exit
are assigned to the first
available machine. As soon
M1
M2
as a machine is free, a job
is assigned to that machine. Machines
The jobs must be
Jobs
sequenced.
Enter
• Assume that the processing
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
Start
End
Job
Computer B
Start End
The rows are arranged in the ascending order of start times.
205
Static Analysis: Parallel Machines
A
B
6
12
18
24
30
36
42
48
54
60
Time
206
66
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.
Enter
M1
M2
Exit
A Conceptual View of
A Two-Machine Flow Shop
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)
1
4.0
2.0
2
2.5
1.0
3
3.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)
j
aj
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
2.1  3
  implies rounding up. For example,
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 workstati ons  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
Element
A
B
C
D
Time Immediate
Description
(Sec) Predecessor(s)
Press out sheet of fruit 6
Cut into Strips
12
A
Outline fun shapes
24
A
Roll up and package
18
B,C
237
The Precedence Diagram
238
Assignment of Work
Elements to Workstations
Find a feasible
line balancing
solution if the
required cycle
time is 24 sec
12
B
D 18
6 A
C
24
Work
station 1
Work
station 2
Work
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
Element
A
B
C
D
E
F
Time Immediate
Description
(min) Predecessor(s)
Tan leather
30
Dye leather
15
A
Shape case
5
B
Mold hinges and fixtures 15
Install hinges and fixtures 10
C,D
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
Work
Element
B 15
10
A
5 C
E
15 D
10 F
30
Positional
Weight
Rank
A
B
C
D
E
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