Está en la página 1de 252

LESSON 12: INTRODUCTION TO

OPERATIONS SCHEDULING

Outline

Hierarchy of Production Decisions


Operations Scheduling
Production Systems

1
Hierarchy of Production Decisions

After a production facility and processes are set up, a


series of production planning decisions are required. The
entire decision making process may be viewed as a
hierarchical process. A conceptual view of the hierarchical
process is given in Text Figure 8-1 (see the next slide).
First, one would like to know how much demand may be
expected and when the demand may be expected. This
question is addressed by forecasting.
An aggregate plan determines the aggregate production
levels and resource capacities over the planning horizon.
The production levels are often different from the
2
Figure 8-1: Hierarchy of Production Decisions

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, its logical to ask which worker or machine
will be used to produce which product and when the products
will be produced. This is answered by operations scheduling.
5
Operations Scheduling

An operations scheduling question is given in the previous


slide. In more general terms, operations scheduling is the
allocation of resources over time to perform a collection of
tasks.
Examples of resources:
Workers, Machines, Tools
Examples of tasks:
Operations that bring some physical changes to material in
order to eventually manufacture products
Setups such as walking to reach the workplace, obtaining
and returning tools, setting the required jigs and fixtures,
positioning and inspecting material, cleaning etc. 6
Operations Scheduling

Operations and Jobs


The above definition of scheduling uses the more general
term of task that includes both operations and setup.
We shall most often use the terms operation and job.
A collection of operations on a single product is a job.
The planning horizon
The planning horizon of a scheduling decision is very short
say days, weeks or months.
Schedule
A schedule is the final outcome of operations scheduling
and gives a detail chart of what activities will be done using
various resources over the planning horizon. 7
Operations Scheduling

Sequencing
Sequencing and scheduling are similar terms. But
sequencing does not refer to time. For example, if a bank
teller processes 5 customers, the bank teller may just
process the customers on a first come first served basis
without any planning about exact start and end times for
each customer. Thats sequencing. Scheduling, in contrast,
produces a detail plan of various activities over time.
A Gantt chart representation of a schedule
A Gantt chart representation of a schedule is shown on the
next slide. Suppose that there are two machines: one lathe
machine and one grinding machine. Two jobs Job A12 and
Job B23 are to be produced over the next 14 days. 8
Operations Scheduling

Lathe machine Job A12 Job B23

Grinding machine Job A12 Job B23

2 4 6 8 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, its feasible to make a
high capital investment
Less variation: so, there is less uncertainty
Standard products: so, there is a predictable pattern of
flow of jobs through the machines.
The above characteristics of products encourages the
use of a flow shop: the machines are arranged in the
order in which every job visits the machines. The
production system is not flexible; it cannot produce items
if design changes significantly. 15
Production Systems: Flow Shop

IN

OUT
The above picture is a conceptual view of a flow shop. The
boxes represent machines and the arrows show the job flow.
Every job visits the machines in the same order. 16
Production Systems: Job Shop

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


associated with
Low volume of production: so, its not feasible to make a
high capital investment
More variation: so, there is more uncertainty
Custom products: so, there is no predictable pattern of
flow of jobs through the machines.
The above characteristics of products encourages the
use of a job shop: the machines are arranged
functionally. So, the production system is flexible; it can
produce items of a wide variety of designs.
17
Production Systems: Job Shop
Milling
Lathe Department Department Drilling Department
L L M M D D D D

L L M M D D D D

L L G G G P

L L G G G P

Grinding Painting Department


L L Department

Receiving and
A A A
Shipping Assembly
18
A conceptual view of a job shop
Production Systems: Batch Production

In between flow shop and job shop, there is batch


production that gives best of both shops (flow shop and job
shop) to some extent.
A batch production system is flexible like a job shop, but
capable of producing a moderately high volume like a flow
shop.
Similar but different products are produced using the same
facility, machine or workforce. However, the system is
associated with setups. Whenever the facility, machine or
worker switches from producing one product to another, a
setup time or cost is needed.
19
Production Systems: Batch Production

Between two successive setups a batch of the same


product is produced.
Now, look at the problem:
If the batch size is too high, all the other products
requiring the facility, worker or machine will have to wait
for a very long time.
If the batch size is too small, most of the time will be
spent on setups and there will be nothing to sell.
So, the batch size must be neither too large, nor too small.
Similarly, the volume of production must be moderate.

20
Production Systems: Batch Production

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

21
Production Systems
Project and Continuous Production
Flow shop is not the extreme case with respect to the high
volume of production. The continuous production system is
used in process industry e.g., oil refinery is set up to
produce products with little or no variety 24 hours/day and 7
days/week.
Job shop is not the extreme case with respect to flexibility or
customization. Huge projects are managed to produce a
bridge, a sky-scraper, an aeroplane, a submarine, etc.

22
Production
High Systems
Project

Job
Customization

Shop
Batch
production

Flow
Shop

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

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

Job
Customization

Shop
Batch
production
Capital
Flow Intensive
Shop

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

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

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

26
LESSON 13: SCHEDULING OBJECTIVES

Outline

Job Characteristics
Comparison of Schedules
Scheduling Terms
Scheduling Objectives

27
Job Characteristics

Lesson 1 provides a brief discussion on production systems.


We have discussed some alternative ways of arranging
machines. In this lesson, we shall first discuss some job
characteristics and scheduling objectives.
Generally, every job is different (an exception is an assembly
line where the jobs are identical). For example, in case of a
make-to-order or an assemble-to-order production system,
every order
is placed at a different time,
requires a different amount of processing time and
is delivered at a different time.

28
Job Characteristics

Job characteristics are important inputs to job shop, batch


production and flow shop scheduling. Every job has a
ready time: the time when the job arrives at the shop floor
processing time: the time required to process the job
due date: the time when the job must be completed
Notation:
rj Ready time for job j
t j Processing time for job j
d j Due date for job j

29
Job Characteristics

Assumptions:
A machine can process one job at a time
A job can be processed by one machine at a time
We usually assume an equal importance and the same
arrival time for all jobs (Example 1 is an exception, where
jobs arrive at different times). Further, we assume that
preemption is not allowed. So, once a job is started on a
machine, the job must be completed before another job
can be processed by that machine.

30
Comparison of Schedules

First, we shall see an example where no schedule is best


in every criteria.
Example 1: Suppose that a production facility starts at
8:30 am. Two jobs will be processed. Job 1 can be started
right away, will require 2 hours to process and the
customer wants the job done by 12:30 pm. Job 2 can be
started not until 9:30 am, will require 1 hour to process
and the customer wants the job done by 10:30 am.
Its 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:
Ready Processing Due
Job
Time (hr) Time (hr) Date (hr)
j rj tj dj
1 0 2 4
2 1 1 2 32
Comparison of Schedules

There are two alternative schedules (sequences)


Schedule 1: process Job 1 first, then Job 2.
Schedule 2: process Job 2 first, then Job 1.
Schedule 1 (see the next slide):
Only 3 hours will be needed to complete the jobs.
However, Job 2 can be completed at time 3 which is
late by 1 hour.
Schedule 2 (see the next slide):
Both the jobs are completed right when they are
needed.
However, a total of 4 hours will be needed
33
Comparison of Schedules

Schedule 1 Schedule 1
requires the
facility to be Job 1 Job 2
open for fewer
hours (3 hours d2 d1
only in contrast 0 1 2 3 4
to 4 hours Time, t
required by Schedule 2
Schedule 2)
Schedule 2 Job 2 Job 1
meets the due
dates d2 d1
(Schedule 1 0 1 2 3 4
does not) Time, t 34
Comparison of Schedules

Next, we shall see a similar example with a different pair


of criteria.
Example 2: An auto repair shop has a space problem and
requires parking fees for all cars waiting for service. The
shop starts at 8:30 am and two cars are waiting to be
repaired. Car 1 will require 1 hour and the customer wants
the job done by 12:30 pm. Job 2 will require 3 hours and
the customer wants the job done by 11:30 am.
Ready Processing Due
Car
Time (hr) Time (hr) Date (hr)
j rj tj dj
1 0 1 4
2 0 3 3
35
Comparison of Schedules

Schedule 3 Schedule 3
requires less
parking fees (1
Car 1 Car 2
hour only in
contrast to 3 d2 d1
hours required 0 1 2 3 4
by Schedule 4) Time, t
Schedule 4 Schedule 4
meets the due
dates
Car 2 Car 1
(Schedule 3
does not) d2 d1
0 1 2 3 4
36
Time, t
Scheduling Terms

Static versus dynamic scheduling


In static scheduling, jobs are all available for
processing right at time t 0 when the processing
starts. An example is a grocery store that collects
orders online. When the manager comes to the store at
8:30 am, the manager finds orders collected
throughout the night and must be delivered on that day.
In dynamic scheduling, jobs are not available all at
time . An example is a bank where customers
0
arrivet throughout its service hours.

37
Scheduling Terms

Deterministic versus stochastic scheduling


In deterministic scheduling, the job characteristics such
as ready time, r j processing time, t j and due date, d j
are all known with certainty. Processing times required
by machines may be predicted precisely.
In stochastic scheduling, the job characteristics are
uncertain. Some parameters such as mean and
variance are assumed to be known from historical
observation. The service times required by workers are
often assumed to be uncertain.

38
Scheduling Terms

Feasible versus Infeasible schedule


A feasible schedule meets all the constraints and an
infeasible schedule does not. Precedence constraints
often associate with the scheduling process. A
precedence constraint puts restriction on the sequence
of operations. For example, a painting process may
have three stages: cleaning the product, surface
activation for paint adhesion, and select and
application of paint. These stages must be performed
in the stated sequence. A schedule is not feasible if the
jobs are not processed in that sequence.

39
Scheduling Terms

Parallel versus sequential


processing
Exit
In parallel processing, there
are multiple identical
machines and a job can be M1 M2 M3
processed by any machine. Machines
An example is a computer
with multiple processors. Jobs
Another example is a bank Enter
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
McDonalds drive through that has three stages: place
order, pay and pick-up. Below, see a conceptual view
with 3 sequential machines M1, M2 and M3.

Jobs
M1 M2 M3
Enter Exit
Machines

41
Scheduling Terms

Completion time versus flow time


Completion time of Job j , C j is the epoch when a job
is completed. The length of time is computed from the
start of operations.
Flow time is a similar term. However, the length of time
is computed from the arrival of the job. Flow time of
Job j , F j is the length of time between arrival and
completion of the job. So,
F j C j rj
Between arrival and completion, a job is either in
queue for a machine or processed by a machine.
So, F j W j t j where W j is the waiting time of Job j
42
Scheduling Terms

Completion time versus flow time


Example 3: Consider Example 1, Schedule 1 on slides
5-8. The facility starts at 8:30 am, Job 2 arrives at 9:30
am, waits for an hour before its processing starts at
10:30 am, and the job is completed at 11:30 am. The
completion time and flow time are shown below:
Set t 0 at 8:30 am and the unit of time = hour
Job 2 is completed at 11:30 am, 3 hours after the
start of operation, so completion time, 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 F2
C2
Job 1 Job 2
r2
0 1 2 3 4
Time, t
Important note: if all the jobs are ready for processing
at t 0, as they are in static scheduling, then
completion time is just the same as flow time.
Fj C j if rj 0 44
Scheduling Terms

Lateness versus tardiness


Lateness of job j , L j C j d j
So, lateness of a job may be
negative, if the job is early
zero, if the job is completed right when its due
positive, if the job is late
Often, earliness is not rewarded but lateness is
penalized. So, another term, tardiness is used which is
a non-negative quantity. Tardiness is zero or the same
as lateness. If the job is early or completed when its
due, tardiness is set to zero. Otherwise, the job is late,
and tardiness is set to its lateness.
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 its completed on or before its due date, L j 0
L j , if its 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, d2 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, its very important to set up a suitable scheduling
objective in order to get a suitable schedule.
There are many scheduling objectives and different
situation calls for a different objective.
The next slide provides a brief list of scheduling objectives
divided into four groups.
See Section 8.5, pp. 423-424 for a discussion on how
different situation requires a different schedule.

52
Scheduling Objectives

Conformance to prescribed deadlines


Meet customer due dates, minimize job lateness,
minimize maximum lateness, minimize number of tardy
jobs
Response time or lead time
Minimize mean completion time, minimize average
time in the system
Efficient utilization of resources
Maximize machine or labor utilization, minimize idle
time, maximize throughput, minimize the length of time
the shop is open, minimize utilities and wages
Costs
Minimize work-in-process inventory, minimize overtime53
READING AND EXERCISES
Lesson 13

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

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

Outline

Sequencing
Sequencing Rules
Sequencing Rule Example
Remarks
Sequencing

As it is discussed in Lesson 1, scheduling and


sequencing are similar terms. Scheduling provides a
detail plan over time. Sequencing does not refer to
time at all.
Sometimes, a unique schedule follows from a given
sequence. In such a case, its enough to solve the
sequencing problem and not worry about the detail
scheduling problem. For example, in Lesson 2,
Example 1, Schedule 1 follows from sequencing Job
1 before Job 2 and Schedule 2 follows from
sequencing Job 2 before Job 1.
Sequencing Rules

The first sequencing rule, that comes naturally to


everyones mind is the first-come first-served (FCFS)
rule. We observe this rule several times a day when
we visit a bank for a tellers service, wait in a grocery
store check-out, or cross the Ambassador bridge. The
rule is simple, but not always the best.
Its certainly not desirable that a customer who has to
pay for just one bag of bread must wait in a queue
behind another customer with a cart full of groceries.
So, the express lines are established. This is some
sort of implementation of the shortest processing time
(SPT) rule.
Sequencing Rules

You get the most value of money if you pay the bills
on the due dates. The simplest rule that comes to
mind in presence of due dates is the earliest due date
(EDD) rule which requires that the jobs be done in
the order in which the jobs are due.
Often in manufacturing, items are put in a stack. The
last item arriving is put on the top and processed first.
The last-come first-served (LCFS) rule is also
observed in elevators. The person arriving last must
step out first.
The critical ratio (CR) rule combines SPT and EDD
rule. The CR rule is explained on the next slide.
Sequencing Rules: Critical Ratio
CR = time remaining / work remaining

due date - todays date


=
remaining processing time

Each time a job is scheduled, CR is recalculated for


every unscheduled job.
CR selection criteria
Jobs with the smallest CR are run first.
Jobs with negative CR are scheduled first.
If there is more than one job with negative CR,
then those jobs are sequenced in SPT order.
Sequencing Rule Example

Processing Due
Suppose that 5 jobs will be
Job Time Date
processed on a single
A 5 10 machine. The jobs are ready
B 10 15 for processing at time t 0.
C 2 5 The other job characteristics
D 8 12 are as shown in the table on
left.
E 6 8
Sequencing Rule Example

First, see how many alternatives are there. If there is


one job, there is just 1 (=1!) alternative sequence.
If there are two jobs 1 and 2, there are 2 (=2!)
alternative sequences,
1, 2 and
2, 1
If there are three jobs 1, 2 and 3, there are 6 (=3!)
alternative sequences,
1,2,3 1,3,2
2,1,3 2,3,1
3,1,2 3,2,1 61
Sequencing Rule Example

In general, if there are n jobs, then there are n!


sequences.
So, for example, for 5 jobs, there are 5! = 120
sequences.
The sequencing rules such as FCFS, SPT, EDD,
LCFS and CR provide a specific sequence. Often,
these simple rules provide good and useful results.
The sequencing rules FCFS, SPT, EDD, LCFS and
CR will now be applied and various measures will be
computed.

62
First-Come First-Served

Start Processing Completion Due


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

Start Processing Completion Due


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

64
Earliest Due Date

Start Processing Completion Due


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

Start Processing Completion Due


Sequence Time Time Time Date Tardiness
E 0 6 6 8 0
D 6 8 14 12 2
C 14 2 16 5 11
B 16 10 26 15 11
A 26 5 31 10 21
Average 18.60 9
LCFS rule: The jobs are arranged in last-come first-served
order.
Critical Ratio

Unlike FCFS, SPT, EDD and LCFS, the CR


sequence is obtained by using an iterative procedure.
Then, various measures are computed using the CR
sequence.
The CR rule is applied in two phases
Phase I:
Find the CR sequence using an iterative
procedure. In each iteration, one job is
assigned to a position. First a job is assigned to
the first position, then to the second position,
and so on.
67
Critical Ratio

Initially, the current time is set to zero. In each


iteration the current time is augmented by the
processing time of the job assigned in the previous
iteration.
Then, CR is computed for every unassigned job.
See Slide 5 for the CR formula.
The CR rule is applied to select the job that will be
assigned. See Slide 5 the CR selection criteria.
Phase II:
Various performance measures are computed
using the CR sequence obtained in Phase I.
68
Phase I

Critical Ratio

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

Iteration 1 69
Phase I

Critical Ratio

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

Iteration 2 70
Phase I

Critical Ratio

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

Iteration 3 71
Phase I

Critical Ratio

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

Iteration 4 72
Phase II

Critical Ratio

Start Processing Completion Due


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

Average Average No. of Maximum


Rule Completion Time Tardiness Jobs Tardy Tardiness
FCFS 18.60 9.6 3* 23
SPT 14.80* 6.0 3* 16*
EDD 15.00 5.6* 3* 16*
LCFS 18.60 9.0 4 21
CR 15.80 6.2 4 16*

* Best values
Guaranteed best values are shown in bold
Remarks

Observe that the makespan is the same for every


schedule. This is expected for a single machine
problem if ready times are all zero (static scheduling).
For a multi-machine problem, makespan may be
different from one schedule to another.
Total completion time and mean completion time are
equivalent objectives. Since mean completion time is
obtained from the total completion time by dividing
the total completion time by the number of jobs,
if a schedule minimizes total completion time, it
also minimizes mean completion time.
Remarks

Similarly, total flow time and mean flow time are


equivalent objectives. If a schedule minimizes total
flow time, it also minimizes mean flow time.
In case of static scheduling, completion time of a job is
the same as its flow time. So, the following objectives
are equivalent (if a schedule minimizes one, it also
minimizes all other)
Total completion time
Mean completion time
Total flow time
Mean flow time
Remarks

The objective of minimizing inventory carrying costs


such as parking fees in Lesson 2, Example 2, is
equivalent to minimizing total completion time. At this
point, revisit this example on slides 9-10 of Lesson 2.
Check that the total completion time is 1+4=5 for
Schedule 3 and 3+4=7 for Schedule 4. Thus,
Schedule 3 minimizes not only parking fees, but also
total completion time. This holds in general.
Minimizing inventory carrying costs is equivalent to
minimizing total completion time, mean completion
time, total flow time and mean flow time.
Remarks

Lateness and tardiness are closely related terms. If a


schedule minimizes maximum lateness, the schedule
also minimizes maximum tardiness. However, the
converse is not true. If a schedule minimizes maximum
tardiness, the schedule does not necessarily minimize
maximum lateness. Thus, maximum lateness and
maximum tardiness are not equivalent. Plus, its more
interesting to minimize maximum lateness because if
maximum lateness is minimized, maximum tardiness is
also minimized.
The Earliest Due Date (EDD) rule minimizes maximum
lateness and maximum tardiness (for the single machine
static scheduling problem).
Remarks

Total tardiness and mean tardiness are equivalent objectives.


Total lateness and mean lateness are equivalent objectives.
However, total lateness and total tardiness are different.
Total lateness is total completion time minus the sum of the
due dates. Since sum of the due dates is a constant (same
for all schedules), minimizing total lateness is equivalent to
minimizing total completion time.
So, the equivalence list grows:
Remarks

The following objectives are equivalent:


Total completion time
Mean completion time
Total flow time (if ready times are all zero)
Mean flow time (if ready times are all zero)
Total lateness
Mean lateness
Inventory carrying costs
Shortest processing time (SPT) rule minimizes all of the
above objectives (for the single machine static scheduling
problem).
Remarks

Priority rules are not available for minimizing number


of tardy jobs. The next lesson will discuss a
procedure for minimizing number of tardy jobs.
Minimizing total tardiness is difficult and not covered.
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 workers 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?
Its a balanced approach. The production
department likes to minimize costs which are
related to minimizing makespan and total
completion time. However, the marketing
department likes to provide faster service and set
earlier due dates. Minimizing maximum lateness
provides a balance.
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 its due).
Schedule 1 is a non-EDD schedule and it has a
maximum lateness of 2 hours (Job 1 has a lateness
of 2 hours and Job 1 has a lateness of 1 hour I.e.,
Job 1 is early by 1 hour).
Thus, the EDD schedule, Schedule 2 minimizes
maximum lateness. 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 its completed
after its due date. For example, convocation
gowns, wedding dresses and birthday cakes must
be delivered before their due dates. Space
shuttles must leave on-time, else the mission will
not be successful.
94
Number of Tardy Jobs

Steps
1. Arrange the jobs in the Earliest Due Date (EDD)
order.
2. Repeat the following as long as there is any tardy job:
If the i th job is the first tardy job, consider the first i
jobs and remove the one with the largest processing
time.
3. Append all the tardy jobs, if any, in the end in any
order.

95
Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21

96
Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
Arrange the jobs in the EDD order and find if any is tardy

Step 1 97
Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.

Step 2-1 98
Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.

Step 2-2 99
Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.

Step 2-3 100


Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date
A 7 9
B 8 17
C 4 18
D 6 19
E 6 21
Eliminate the longest job before the first one tardy and
arrange the others in the EDD order.

Step 2-4 101


Number of Tardy Jobs: Example
Processing Completion Due
Job Time Time Date

Append the previously eliminated A, B in the end and stop.

Step 3 102
Number of Tardy Jobs: A Note

Note: The optimal schedule may change if all the


processing times increase by the same amount.
Preprocessing: if every job requires some
setup/delivery time, add the set setup/delivery time to
all jobs before applying the algorithm.
Such preprocessing is not necessary for scheduling
jobs if the objective is to minimizing makespan, mean
flow time, maximum lateness, etc.

103
Forward and Backward Scheduling

The procedure discussed for minimizing the number


of tardy jobs assigns jobs to position 1 first, then to
position 2, and so on. In a forward scheduling
procedure the assignment starts from position 1 and
continues in the forward direction
The procedure which will be discussed next,
schedules in the opposite direction starting from the
last position. In a backward scheduling procedure the
assignment starts from the last position and
continues in the backward direction.

104
Lawlers Algorithm for Precedence Constraints

The algorithm is applicable for single machine


problems with the objective of minimizing
Makespan
Maximum lateness
Maximum tardiness

105
Lawlers 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
Lawlers 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
Lawlers Algorithm for Precedence Constraints

Which job to assign?

1. Eliminate all the jobs which are previously assigned


(to later positions)
2. Identify the candidates - jobs that have no successor
or have successors all previously assigned (to later
positions)
3. Among all the candidates, schedule the one with the
minimum lateness.

108
C

A B D

Processing Due Lateness


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

A B D

Processing Due Lateness


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

Completion time if scheduled


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

Processing Due Lateness


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

D 6 19

Completion time if scheduled


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

Processing Due Lateness


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

Completion time if scheduled


= 7+8=15 D C E
112
A

Processing Due Lateness


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

Completion time if scheduled


=7 B D C E
113
Lawlers Algorithm for Precedence Constraints

The algorithm is described in the context of


minimizing maximum lateness. To get the algorithm
for minimizing
maximum tardiness, replace lateness by
tardiness

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


Milling machine Job A12 Activity
Ahead of schedule
Grinding machine Job B23
On schedule Scheduled
Turning machine Job C34 Activity

2 4 6 8 10 12 14
Today's date 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 three-
machine systems.

Enter Exit
M1 M2

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

Grinding machine Job A12 Job B23

2 4 6 8 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. Thats a permutation schedule.
If Job A12 were started at time 16 on Grinding
machine (instead of time 4), it would still be a flow
124
shop but not a permutation schedule.
Two Machine Flow Shop
Its better to keep track of starting, processing and
finishing times of every job on every machine.
Consider an example.
Example 1: Each of the two jobs A and B must be
processed on Machine 1 before Machine 2. The
processing times are shown below:

Machine Machine
Job Center 1 Center 2

A 16 5
B 9 17
125
Two Machine Flow Shop
Schedule1: Suppose that each machine processes
Job A before Job B. Then, the starting, processing,
and finishing times are as follows:
Machine 1 Machine 2
Job Start Process Finish Start Process Finish
A 16 5
B 9 17
Processing starts at time 0 (Job A on Machine 1).
Finishing time = Starting time + Processing time. So,
Job A finishes at time 0+16 = 16 on Machine 1.
Job A can start on Machine 2 only after time 16, when
its 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 Johnsons rule, which can minimize
makespan (repetitive application of the rule yields a
schedule with least makespan)
First, observe that a different sequence provides a
different makespan.

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
Johnsons rule explains why makespan is improved
by Schedule 2. Notice that the minimum processing
time = 5 is given by Job A on Machine 2.
The main idea of Johnsons rule: If the minimum
processing time is on Machine 1 (or Machine 2),
then schedule the job with the minimum time in the
beginning (or end). Apply the rule repeatedly until all
jobs are scheduled. Break ties arbitrarily.
Here, the minimum processing time = min (9, 17, 16,
5) = 5 is given by Job A on Machine 2. So, Job A is
scheduled in the end. The details of Johnsons rule
and an example will now follow.
130
Two-Machine Flow Shop
Johnsons 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
Johnsons Rule Example
Machine Machine
Job Center 1 Center 2

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

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


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

A 5 6
B 16 5

D 9 17
E 4 6
C

After removing job C, the minimum processing time, 4, is


given by Job E on Machine 1. So, Schedule Job E in the
133
beginning.
Two-Machine Flow Shop
Johnsons Rule Example
Machine Machine
Job Center 1 Center 2

A 5 6
B 16 5

D 9 17

E C

Job E is removed. Now, there is a tie. Minimum processing


time is given by Jobs A and B. Break ties arbitrarily.
134
Schedule one of Job A or Job B.
Two-Machine Flow Shop
Johnsons Rule Example
Machine Machine
Job Center 1 Center 2

B 16 5

D 9 17

E A C

Job A is chosen arbitrarily. Job A is scheduled in the


beginning, because its minimum time is given on Machine 1.
Beginning means position 2 because position 1 is taken.135
Two-Machine Flow Shop
Johnsons Rule Example
Machine Machine
Job Center 1 Center 2

D 9 17

E A B C

Next, Job B is scheduled. Its scheduled in the end, because


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

E A D B C

The sequencing is complete after assigning the remaining


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

E A D B C

Each triplet above shows the starting, processing, and finishing


times of an operation. Johnsons rule guarantees that the above
schedule gives the best value (44) of makespan. 138
Two-Machine Flow Shop
Johnsons 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 Johnsons rule 139
Extension of Johnsons Rule
To A Three Machine Flow Shop

An extension of Johnsons rule minimizes makespan


in some three machine flow shops (repetitive
application of the rule yields a schedule with least
makespan)
First, recall that in a three machine flow shop, every
job is processed first on Machine 1, then on Machine
2 and then on Machine 3.
Enter Exit
M1 M2 M3

A Conceptual View of
A Three-Machine Flow Shop
Extension of Johnsons Rule
To A Three Machine Flow Shop

The extension of Johnsons rule does not guarantee an


optimal makespan for all three-machine flow shop cases.
However, the extension guarantees an optimal makespan
if the largest processing time on the second machine is
not larger than the smallest processing times on
1. Machine 1 or
2. Machine 3 or
3. Both
In Case 1 Machine 1 dominates Machine 2,
In Case 2 Machine 3 dominates Machine 2 and
In Case 3 both Machines 1 and 3 dominate Machine 141 2
Extension of Johnsons 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 Johnsons
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 Johnsons
rule applies. 142
Extension of Johnsons Rule
To A Three Machine Flow Shop

Machine Machine Machine


Job 1 2 3 Job 1 2 3 Job 1 2 3
1 6 5 7 1 6 6 7 1 9 5 6
2 9 3 3 2 9 3 8 2 5 3 5
3 5 4 8 3 4 2 6 3 7 4 8
4 8 2 4 4 5 4 9 4 6 2 7
5 7 3 5 5 3 5 8 5 7 3 5
(a) (b) (c)

Johnsons rule applies in each of the above cases 143


Extension of Johnsons Rule
To A Three Machine Flow Shop

Example (c): The extension of Johnsons rule applies


because both Machine 1 and 3 dominate Machine 2
(check).
Whenever the rule applies, the following is done:
Step 1: Create a fictitious two-machine flow shop problem
with two fictitious machines M1 and M2. Every job is
assigned processing times on these two fictitious
machines in the following way:
M1: Processing time of a job on fictitious machine M1
is the sum of the processing times of that job on the
original machines M1 and M2.
144
Extension of Johnsons 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 Johnsons rule on the fictitious two-machine
problem with machines M1 and M2.
Step 3: Sequence the jobs on the original three machines
using the optimal sequence obtained from Step 2.

145
Extension of Johnsons Rule
To A Three Machine Flow Shop

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

An optimal (not unique) sequence is


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

Each triplet above shows the starting, processing, and finishing


times of an operation. Johnsons rule guarantees that the above
schedule gives the best value (41) of makespan. 147
Extension of Johnsons 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 Johnsons 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. Its not assumed that each job
must visit the machines in the same order. So, the
procedure is applicable to job shop. However, the
procedure is same for the flow shop when each job
must visit the machines in the same order.
154
Two-Job Job Shop and Flow shop Problem

The procedure is best described by an Example:


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

Peter and Patricia estimate the following processing


times

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

156
Two-Job Job Shop and Flow shop Problem

We shall solve this problem using a graphical


procedure, that has the following steps:
Step 1: Set up a cartesian coordiante system with
Peters time on one axis and Patricias on the other.
Each process A, B, C and D will be shown on the
graph by a rectangle.
Step 2: Find Peters and Patricias start and end
times for each activity
Step 3: Identify coordinates of corners of rectangles
A, B, C and D. Each rectangle represents an activity.
Step 4: Draw rectangles A, B, C and D
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 Peters and Patricias
Start and End Times

The start and end times are computed below separately for
Peter and Patricia. Each starts at time zero. Notice that the
times are not clock times, but Peters and Patricias
cumulative times. The clock times will be computed later.
Peters Time Patricias Time
Activity Start Process End Activity Start Process End
A B
B A
C C
D D
Note a = 50, b = 35 according to the notations on slide 6. 160
Step 3: Identify Coordinates of Corners of
Rectangles Representing Activities

For each activity, a rectangle will be drawn on the graph


shown in Step 1. For each rectangle, the lower, left corner
represents start of the activity and the upper right corner
end of the activity. So, one corner is obtained from Peter
and Patricias start time of that activity and another corner is
obtained from Peter and Patricias end times of that activity.
For example, lower left corner of rectangle C is (15,10)
because Peter starts activity C at time 15 and Patricia starts
activity C at time 10. Upper left corner of rectangle C is
(40,30) because Peter ends C at time 40 and Patricia ends
C at time 30.
161
Step 3: Identify Coordinates of Corners of
Rectangles Representing Activities

Using the same reasoning, we find the following coordinates


of the corners of A, B, C and D.

Rectangle Lower Left Corner Upper Right Corner


A
B
C
D

162
Step 4: Draw Rectangles

30
Patricia's Time

20

10

10 20 30 40 50
Peter's Time 163
Step 5: Using only Three Special Types of
Line Segments and Not Crossing the
Rectangles Find A Path From (0,0) To (a,b)
Use only the following three types of line segments
Horizontal line: representing a time interval when only
Peter is busy, Patricia is idle
Vertical line: representing a time interval when only
Patricia is busy, Peter is idle
45-degree line (same rise as run): representing a time
interval when both Peter and Patricia are busy

Horizontal Vertical 45-Degree


164
Line Line Line
Step 5: Using only Three Special Types of
Line Segments and Not Crossing the
Rectangles Find A Path From (0,0) To (a,b)
a = total time on the x-axis = Peters total time = 50
b = total time on the y-axis = Patricias total time = 35
Find a path from (0,0) to (a,b) = (50,35)
Using horizontal, vertical and 45-degree lines and
Not crossing the rectangles

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

20 C

10
A
B
(0,0)
10 20 30 40 50
Peter's Time 167
Step 6: Compute
Clock Times Along the Path

The length of the path is the clock time at (a,b)=(50,35).


The clock time is set to 0 at (0,0).
Clock times are computed at other break points as follows:
For a 45-degree line, advance clock time by the lines
projection on the x-axis (or, equivalently, the projection on
the y-axis).
For example, there is a 45-degree line between (0,0) and
(5,5). Its projection on the horizontal axis is 5 units and the
same is its projection on the vertical axis.

168
Step 6: Compute
Clock Times Along the Path

The line represents that both Peter and Patricia are busy
for 5 units of time. So, it moves 5 units horizontally and 5
units vertically. So, clock time advances by 5 units.
Thus, the clock time at (5,5)
= clock time at (0,0)+5
=0+5
=5

169
Step 6: Compute
Clock Times Along the Path

For each horizontal or vertical line, advance clock time


by the length of the line segment. For example, there is
a horizontal line between (5,5) and (10,5). The length
of the line is 5. So, the clock time at (10,5)
= clock time at (5,5)+5
=5+5
= 10
The next few slides shows clock times at all break
points till (a,b) = (50, 35). The length of the path is the
clock time at (a,b).
170
Step 6: Compute
Clock Times Along the Path

(a,b)
D
30
Patricia's Time

20 C

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

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

35

20 C

10
A 15
5 10 B
(0,0)
20 30 10
40 50
Peter's Time 172
Check the clock times and length of the path.
Step 8: Interpretation

The shortest path is the one shown on Slide 25 as its


length is 65, less than 70 which is the length of the other
path shown on Slide 26.
The interpretation of a line segment is done as follows:
Horizontal line segment: Only Peter is busy and
Patricia idle. Peters activity is the one on the above or
below the line segment.
Vertical line segment: Only Patricia is busy and Peter
idle. Patricias activity is the one on the left or right of
the line segment.

173
Step 8: Interpretation

45-degree line segment: Both are busy.


Peters activity is one on the above or below the
line segment.
Patricias activity is the one on the left or right of
the line segment.
Using the above guidelines, the shortest path shown
on Slide 25 is interpreted on the next slide. Observe
that every line segment is interpreted separately.

174
Step 8: Interpretation

Start End Line Segment Peters Patricias


Clock Time Clock Time Type Activity Activity
0 5
5 10
10 15
15 40
40 50
50 60
60 65

175
Step 9: The Gantt Chart

A
B
C
D

10 20 30 40 50 60
Gantt Chart

176
READING AND EXERCISES
Lesson 17

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

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

177
LESSON 18: STOCHASTIC SCHEDULING

Outline

A Review on Probability Distributions


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

Probability Distribution

0.75

0.5
Probability

0.25

0
2H 1H1T 2T

Event
A Review on Probability Distributions

The probability distribution in case of a coin tossing


example is discrete. The number of events is finite. Some
random numbers such as the ones for processing times,
arrival times, etc. assume an infinite number of values.
The probability distributions of such random numbers are
continuous.
A continuous probability distribution is similar to a discrete
probability distribution. In the following, some differences
are discussed. Coin tossing will be used as an example of
a discrete distribution and processing time of a
continuous distribution.
A Review on Probability Distributions

While the number of heads in the coin tossing example


may assume a finite number of values, a processing time
may assume an infinite number of values. So, its not
possible to list all the values that the processing time may
assume.
While the number of heads in the coin tossing example
may assume a particular value, the probability that a
processing time will assume a particular value is zero. For
example, there is almost zero probability that a job will be
done in exactly 3 minutes, not a fraction of a second more
or less than 3 minutes. However, probability that a
processing time will lie in a given range may be non-zero.
A Review on Probability Distributions

A graphical description of a probability distribution of


processing time gives the probability values in terms of
the area under the curve.

Area = probability

For example, The probability that the processing time will


lie between 2 and 8 minutes is the area under the curve
from processing time = 2 to processing time = 8 (see the
next slide).
The total area under the curve = 1.00
A Review on Probability Distributions

Probability(2t8)
f(t)

= 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
Harveys to serve a customer. A customer visits Harveys
during lunch hours. On each visit, he measures the length
of the time between order placement and delivery. He
observes that the time is more or less 3 minutes.
Sometimes, its more than 3 minutes. Almost the same
number of times its less than 3 minutes. Sometimes, its
more than 4 minutes. Almost the same number of times
its less than 2 minutes, and so on.
A Review on Probability Distributions

0.4

0.3
Normal
Distribution
f(z)

0.2

0.1

0
-4 -2 0 2 4
188
z
A Review on Probability Distributions

Exponential Distribution: Consider the time required to


get a taxi cab. A hotel manager calls a taxi cab for the
guests. She measures the length of time between phone
call and arrival of the taxi cab. She is impressed with the
service. Most of the times its very quick, within a minute
or two, because the cab is parked near the hotel. Often,
its between two to four minutes, because the cab arrives
from a distance. Occasionally, however, it takes 10, 20 or
30 minutes because of a high demand, traffic congestion,
etc. The manager computes the average, which turns out
to be 3 minutes.
A Review on Probability Distributions
0.4

0.3
f(t)

0.2
Exponential distribution
with mean = 3
0.1

0
0 5 10 15 20
Time, t
Stochastic Scheduling

Up to Lesson 6, we have assumed that all arrival


times, processing times and due dates are known
with certainty. However, often processing times may
be unknown or uncertain.
In this lesson, we shall assume that the processing
times follow some probability distributions which are
known. The probability distributions may be obtained
from historical data. We shall assume that the jobs
are different from one another. So, the processing
times are independent of one another.
Stochastic Scheduling

The arrival times may also be uncertain. We discuss


two cases with two different assumptions regarding
arrival times:
Static Analysis: All jobs are available from the
beginning. An example is the delivery problem for
which orders are taken 24 hours on-line and
delivered once in the morning. So, the orders are
available before the delivery process starts.
Dynamic Analysis: Jobs arrive randomly over time,
and sequencing decisions are made as the jobs
arrive. An example is the customers arriving to a
bank.
Static Analysis: Single Machine

Assume that there is a single machine that must


process some n jobs. The exact processing times of
jobs are not known. Each job processing time is a
random variable with a known distribution function.
Two objectives are easy to minimize with rules
extended from deterministic scheduling
To minimize the expected mean flow time, apply the
shortest expected processing time rule (As
discussed in Lesson 4, Slides 4-7, the total
completion time or mean flow time is minimized by
the shortest processing time rule)
193
Static Analysis: Single Machine

To minimize the maximum probability that a job is


late, apply the earliest expected due date rule (As
discussed in Lesson 4, Slides 8-11, the maximum
lateness is minimized by the earliest due date
rule)

194
Static Analysis: Parallel Machines

Consider two identical


parallel machines. The jobs 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
sequenced. Jobs
Assume that the processing Enter
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 its not always possible
to find a grouping that provides the same work-load
to every machine. So, often the best solution will
have some non-zero idle time on the first stopped
machine.
199
Static Analysis: Parallel Machines
Back To Deterministic Scheduling

Example 2: Consider two identical machines and four


jobs with the deterministic processing times: 4, 8, 4, 6
minutes for Jobs 1, 2, 3 and 4 respectively. Group the
jobs on two machines in order to minimize
makespan. What is makepsan? What is the idle time
of the machine that is stopped first?

200
Static Analysis: Parallel Machines

Minimizing expected makespan on two parallel


machines is equivalent to (see last 4 slides)
minimizing expected idle time of the first stopped
machine which is equivalent to
minimizing the expected processing time of the
last job completed
The above arguments provide an intuitive reasoning
why the expected makespan is minimized by the
Longest Expected Processing Time (LEPT) rule,
which assigns the longest expected jobs in the
beginning and the shortest expected jobs in the end.
201
Static Analysis: Parallel Machines

Example 3: A computer center has two identical


computers for batch processing. Job times are
exponentially distributed with the following
expected values (expressed in minutes):
Job 1 2 3 4 5 6 7 8
Expected time 4 8 1 50 1 30 20 6
a. In what sequence should the jobs be processed in
order to minimize the expected makespan?

202
Static Analysis: Parallel Machines

b. Assume that computer A is occupied with a job that


has exactly two minutes of processing time remaining
and computer B is idle. If job times are deterministic,
show the start and end times of each job on each
computer using the sequence derived in Part a.

The answer is shown next. At time 0, B is available.


So, the longest job, Job 4 is assigned to B. At time 2, A
is available. So, the next longest job, Job 6 is assigned
to A. At time 32, A is available again. So, Job 7 is
assigned to A. At time 50, B is available. So, Job 2 is
203
Static Analysis: Parallel Machines

assigned to B. At time 52, A is available. So, Job 8 is


assigned to A. At time 58, there is a tie, both A and B
are available. Computer A is chosen arbitrarily. Job 1
is assigned to A and Job 3 to B. Notice that Job 5
could be assigned before Job 3. All ties are broken
arbitrarily. Job 5 is assigned to B at time 59.

The makespan is 62 minutes. Computer B is idle in the


last two minutes.

204
Static Analysis: Parallel Machines

Job Computer A Job Computer B


Start End Start End

The rows are arranged in the ascending order of start times. 205
Static Analysis: Parallel Machines

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

206
Static Analysis: Two Machine Flow Shop

We are back to two-machine flow shop. However, this


time we shall discuss the stochastic version. Recall from
Lesson 5, Slides 18-26, that Johnsons rule minimizes
makespan for the deterministic two-machine flow shop
problem. The stochastic version is solved by a different
procedure which will be discussed in this lesson.

Enter Exit
M1 M2

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 Johnsons rule!


211
The processing times are exponentially distributed!!
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)
E FCFS (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), its usually cost effective to rearrange
resources in the order in which the resources are
used. Such a layout is called a product layout.
Two types of product layouts are fabrication lines and
assembly lines
The fabrication line builds components such as
automobile tires, metal parts, etc. (make-to-stock
production system).
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 its
rounded up, we get a minimum number of workstations.
The theoretical minimum number of workstations
Total time required by all elements

Required cycle time

The notation implies rounding up. For example,


2.1 3 232
Assembly Line Balancing

So, in Example 3, the theoretical minimum number of


workstations is 2. But, the actual required number of
workstations is 3.
The actual cycle time can be different from the required
cycle time.

The actual cycle time is the maximum workload assigned to


a workstation.

Example 4: Suppose that the workloads assigned to


three workstations are 12, 10 and 8 minutes.
The actual cycle time =
233
Assembly Line Balancing

Recall from Lesson 2 that one of the scheduling goals is


the efficient utilization of resources. An uneven
distribution of workloads causes idle time in some
workstations and results in an inefficient utilization of
resources. Efficiency of an assembly line
Total time required by all elements
100
Number of 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 Time Immediate


Element Description (Sec) Predecessor(s)
A Press out sheet of fruit 6 -
B Cut into Strips 12 A
C Outline fun shapes 24 A
D Roll up and package 18 B,C
237
The Precedence Diagram

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

Work Work Work


station 1 station 2 station 3

239
Assignment of Work Elements to
Workstations

If a solution violates a precedence constraint, the


solution is infeasible.
For example, if A and D are assigned to one station
and B and C to another, then precedence constraint
is violated. So, the following solution is infeasible:
Station 1: {A,D}, Station 2: {B,C}
The following solution is feasible:
Station 1: {A,C}, Station 2: {B,D}
Check: If the required cycle time is 30 sec, the
theoretical minimum number of workstations is 2 and
the solution {A,C}, {B,D} is optimum. 240
A Line Balancing Heuristic
Positional Weight Method
Step 1
For each work element, determine
the positional weight = the time required to perform
the work element and all its successors
Step 2
Rank the work elements in order of decreasing
positional weights
Step 3
Assign the work elements sequentially to
workstations in the order of the ranking

241
A Line Balancing Heuristic
Positional Weight Method

Example 7: Professional Image Briefcases is an


exclusive producer of handcrafted, stylish cases.
Priding itself on its earlier reputation, the company
assembles each case with care and attention to
detail. This laborious process requires the completion
of six primary work elements listed next.

242
A Line Balancing Heuristic
Positional Weight Method
Work Time Immediate
Element Description (min) Predecessor(s)
A Tan leather 30 -
B Dye leather 15 A
C Shape case 5 B
D Mold hinges and fixtures 15 -
E Install hinges and fixtures 10 C,D
F Assemble case 10 E
If the demand is 60 cases per 40-hour week, compute the
required cycle time. How would you balance the the
assembly line?
243
A Line Balancing Heuristic
Positional Weight Method
First, compute the required cycle time.
Required cycle time
Production time per week

Demand per week

Next, apply the heuristic.


244
A Line Balancing Heuristic
Positional Weight Method
Step 1: The positional weights are shown on the next slide.
Sample computation follow:
Positional weight of D
= Sum of times of D and its successors E and F
= 15+10+10 = 35
Positional weight of B
= Sum of times of B and its successors C, E, and F (not D)
= 15+5+10+10 = 40
Step 2: A has the highest weight. So. Its rank is 1. Next, B has
a rank of 2. D has more weight than C. So, rank of D is 3
and that of C is 4, etc. 245
A Line Balancing Heuristic
Positional Weight Method

B 15 Work Positional
Element Weight Rank

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

246
A Line Balancing Heuristic
Positional Weight Method
Step 3 is to assign work elements to workstations. For
this step, both the ranks and precedence diagram shown
on the last slide are useful.
The assignment starts from the lowest rank. First A is
assigned to a workstation, then B, then D, then C, etc.
The first assignment is made to workstation 1. So, A is
assigned to workstation 1.
For each of the other work elements, first an attempt is
made to assign the element to workstation 1. If the total
workload exceeds the required cycle time, or a
precedence constraint is violated, next attempt is to
assign the element to workstation 2, and so on. 247
A Line Balancing Heuristic
Positional Weight Method
Rank 1: Work element A (30)

Rank 2: Work element B (15)

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

Rank 4: Work element C (5)

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

Rank 6: Work element F (10)

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

251
READING AND EXERCISES
Lesson 19

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

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

252

También podría gustarte