Document

advertisement
Chapter 8
Operations Scheduling
Scheduling Problems in Operations
•
•
•
•
•
•
Job Shop Scheduling
Personnel Scheduling
Facilities Scheduling
Vehicle Scheduling and Routing
Project Management
Dynamic versus Static Scheduling
The Hierarchy of Production Decisions
Characteristics of the
Job Shop Scheduling Problem
•
•
•
•
•
Job Arrival Pattern
Number and Variety of Machines
Number and Skill Level of Workers
Flow Patterns
Evaluation of Alternative Rules
Objectives in Job Shop Scheduling
•
•
•
•
•
•
Meet due dates
Minimize work-in-process (WIP) inventory
Minimize average flow time
Maximize machine/worker utilization
Reduce set-up times for changeovers
Minimize direct production and labor costs
(note: that these objectives can be conflicting)
Terminology
• Flow shop: shop design in which machines are arranged in series
Input parts
Machine 1
Machine 2
Machine 3
A Pure Flow Shop
Machine 4
Finished Products
• In general flow shop a job may skip a particular machine
Input parts
Machine 1
Input parts
Machine 2
Input parts
Machine 3
Input parts
Machine 4
Finished Products
Terminology
• Job shop: the sequencing of jobs through machines
– A job shop does not have the same restriction on workflow as a
flow shop. In a job shop, jobs can be processed on machines in
any order
– Usual job shop contains m machines and n jobs to be processed
– Each job requires m operations (one on each machine) in a
specific order, but the order can be different for each job
– Real job shops might not require to use all m machines and yet
may have to visit some machines more than once
– Workflow is not unidirectional in a job shop
Input parts
Jobs arriving from WIP
Machine i
One Machine in a Job Shop
Finished Products
Jobs leaving as WIP
Terminology
• Parallel processing vs. sequential processing:
parallel processing means that the machines are
identical
– In practice, there are often multiple copies of the same machine
– A job arriving at a work center can be scheduled on any one of a
number machines  more flexibility, complicating the scheduling
problem further
– A factory might have multiple “identical machines”, purchased from
the same manufacturer, that produce parts with higher quality on
one machine than on any other
• Schedule: provides the order in which jobs are to be
executed, and projects start time for each job at each work
center
• Sequence: lists the order in which jobs are to be done
Terminology: Performance Measures
• Average WIP level: ….(is exactly what it sounds like)
• Flowtime: The amount of time a job spends from the
moment it is ready for processing until its completion, and
includes any waiting time prior to processing
– Average WIP level is directly related to the time jobs spend in the
shop (flowtime)
• Makespan: The total time for all jobs to finish processing
– For a single machine problem, the makespan is the same
regardless of the schedule, assuming we do not allow any idle time
between jobs
Terminology: Performance Measures
Performances that have to do with each job’s due date
• Lateness: The amount of time a job is past its due date
– Lateness is a negative number if a job is early
• Earliness: The amount of time a job a early
• Tardiness: Equals to zero if job is on time or early, and
equals to lateness if the job is late
Measures of the cost of production:
Machine utilization and labor utilization are primary
measures of shop utilization
Deterministic Scheduling of a Single
Machine: Priority Sequencing Rules
• Random: Choose the next job at random. Do not use it!
• FCFS: First Come First Served. Jobs processed in the
order they arrive to the shop. Viewed as a “fair” rule.
• SPT: Shortest Processing Time. Jobs with the shortest
processing time are scheduled first. Popular method to
determine the next homework assignment by many
students.
Deterministic Scheduling of a Single
Machine: Priority Sequencing Rules
• SWPT: Shortest Weighted Processing Time. A weight is
assigned to each job based on the job’s value (holding cost)
or on its cost of delay
• EDD: Earliest Due Date. Jobs are sequenced according to
their due dates.
• CR: Critical Ratio. Compute the ratio of processing time of
the job and remaining time until the due date. Schedule the
job with the largest CR value next, however, if the job is late,
the ration will be negative, or the denominator will be zero,
and this job should be given highest priority
(Processing time remaining until completion) / (Due Date – Current Time)
FCFS Example
Flowtime: The amount of time a
job spends from the moment it is
ready for processing until its
completion, and includes any
waiting time prior to processing
Earliness: The amount of time a
job a early
Processing
Due date
Job
Processing Time,
pj, in Days
Due Date, dj,
(day)
1
7
8
2
1
12
3
5
6
4
2
4
5
6
18
Completion Flowtime
Lateness
Earliness
Tardiness
Job j
pj
Dj
Cj
Fj
Lj
Ej
Tj
1
7
8
7
7
-1
1
0
2
1
12
8
8
-4
4
0
3
5
6
13
13
7
0
7
4
2
4
15
15
11
0
11
5
6
18
21
21
3
0
3
Average
12.8
3.2
1
4.2
Max
21
11
4
11
Job
Processing Time,
pj, in Days
Due Date, dj,
(day)
Shortest Processing Time
is optimal for minimizing
1
7
8
2
1
12
 Average
3
5
6
4
2
4
5
6
18
SPT Example
and Total flowtime
 Average waiting time
 Average and Total lateness
Processing
Due date
Completion Flowtime
Lateness
Earliness
Tardiness
Job j
pj
Dj
Cj
Fj
Lj
Ej
Tj
2
1
12
1
1
-11
11
0
4
2
4
3
3
-1
1
0
3
5
6
8
8
2
0
2
5
6
18
14
14
-4
4
0
1
7
8
21
21
13
0
13
Average
9.4
-0.2
3.2
3
Max
21
13
11
13
Job
Processing Time,
pj, in Days
Due Date, dj,
(day)
1
7
8
2
1
12
n
3
5
6
j 1
4
2
4
5
6
18
SWPT Example
Shortest Weighted Processing Time
-total weighted down time
Fw   w j F j
-sequencing
p1
w1

p2
w2

pn 
wn 
Processing Due date Weights
Completion
Flowtime
Lateness Earliness Tardiness
Job j
Pj
Dj
wj
pj//wj
Cj
Fj
wjFj
Lj
Ej
Tj
4
2
4
5
0.4
2
2
10
-2
2
0
2
1
12
2
0.5
3
3
6
-9
9
0
5
6
18
4
1.5
9
9
36
-9
9
0
3
5
6
3
1.67
14
14
42
8
0
8
1
7
8
2
3.5
21
21
42
13
0
13
Ave
9.8
27.2
0.2
4
4.2
Max
21
42
13
9
13
EDD Example
Earliest Due Date
Processing
Due date
Job
Processing Time,
pj, in Days
Due Date, dj,
(day)
1
7
8
2
1
12
3
5
6
4
2
4
5
6
18
Completion Flowtime
Lateness
Earliness
Tardiness
Job j
pj
Dj
Cj
Fj
Lj
Ej
Tj
4
2
4
2
2
-2
2
0
3
5
6
7
7
1
0
1
1
7
8
14
14
6
0
6
2
1
12
15
15
3
0
3
5
6
18
21
21
3
0
3
Average
11.8
2.2
0.4
2.6
Max
21
6
2
6
CR Example
Job
Processing Time,
pj, in Days
Due Date, dj,
(day)
1
7
8
2
1
12
3
5
6
4
2
4
5
6
18
Critical Ratio:
Processing time remaining until completion
Due Date - Current Time
Subtract Current Time
Job j
pj
Dj
CRj
Job j
pj
Dj
Dj-CT
CRj
1
7
8
0.875
2
1
12
5
0.200
2
1
12
0.083
3
5
6
-1
-5.000
3
5
6
0.833
4
2
4
-3
-0.667
4
2
4
0.500
5
6
18
11
0.545
5
6
18
0.333
Schedule jobs 1 4  3  2  5
CR Example
(cont)
Critical Ratio:
Processing time remaining until completion
Due Date - Current Time
Processing
Due date
Job
Processing Time,
pj, in Days
Due Date, dj,
(day)
1
7
8
2
1
12
3
5
6
4
2
4
5
6
18
Completion Flowtime
Lateness
Earliness
Tardiness
Job j
pj
Dj
Cj
Fj
Lj
Ej
Tj
1
7
8
7
7
-1
1
0
4
2
4
9
9
5
0
5
3
5
6
14
14
8
0
8
2
1
12
15
15
3
0
3
5
6
18
21
21
3
0
3
Average
13.2
3.6
0.2
3.8
Max
21
8
1
8
Comparing Methods
Method
FCFS
SPT
SWPT
EDD
CR
Fj
Lj
Ej
Tj
Ave
12.8
3.2
1
4.2
Max
21
11
4
11
Ave
9.4
-0.2
3.2
3
Max
21
13
11
13
Ave
9.8
0.2
4
4.2
Max
21
13
9
13
Ave
11.8
2.2
0.4
2.6
Max
21
6
2
6
Ave
13.2
3.6
0.2
3.8
Max
21
8
1
8
Results for Single Machine Sequencing
• The rule that minimizes the mean flow time of all jobs is
SPT.
• The following criteria are equivalent:
– Mean flow time
– Mean waiting time.
– Mean lateness
• Moore’s algorithm minimizes number of tardy jobs
• Lawler’s algorithm minimizes the maximum flow time
subject to precedence constraints.
EDD Example
Earliest Due Date
Processing
Due date
Job
Processing Time,
pj, in Days
Due Date, dj,
(day)
1
7
8
2
1
12
3
5
6
4
2
4
5
6
18
Completion Flowtime
Lateness
Earliness
Tardiness
Job j
pj
Dj
Cj
Fj
Lj
Ej
Tj
4
2
4
2
2
-2
2
0
3
5
6
7
7
1
0
1
1
7
8
14
14
6
0
6
2
1
12
15
15
3
0
3
5
6
18
21
21
3
0
3
Average
11.8
2.2
0.4
2.6
Max
21
6
2
6
Minimizing the Number of Tardy Jobs
Morre Algorithm - minimizes number of tardy jobs
Step 1: Sequence the jobs according to EDD rule and initially
put all jobs in set V
Step 2: Find the first tardy job in set V {say it is job [k] in the
sequence}. If there are no tardy jobs in the set V, stop;
the sequence is optimal
Step 3: Select the job with largest processing time among
first k jobs. Place this job in set U. Go to step 2
Comments:
1. Placing a job in set U means that it will be tardy and will
occupy a position in sequence after all non-tardy jobs
2. Tardy jobs may be schedules in any order because the
performance measure is the number of tardy jobs
Example Moore Algorithm Alt. solution: 1— 4 — 2 — 5 — 3
Iteration 1
Iteration 2
Iteration 3
Job j
pj
Dj
Cj
Fj
Lj
Ej
Tj
4
2
4
2
2
-2
2
0
3
5
6
7
7
1
0
1
1
7
8
14
14
6
0
6
2
1
12
15
15
3
0
3
5
6
18
21
21
3
0
3
Average
11.8
2.2
0.4
2.6
Max
21
6
2
6
4
2
4
2
2
-2
2
0
1
7
8
9
9
1
0
1
2
1
12
10
10
-2
2
0
5
6
18
16
16
-2
2
0
3
5
6
21
21
15
0
15
4
2
4
2
2
-2
2
0
2
1
12
3
3
-9
9
0
5
6
18
9
9
-9
9
0
3
5
6
14
14
8
0
8
1
7
8
21
21
13
0
13
Average
9.8
0.2
4
4.2
Max
21
13
9
13
Lawler’s Algorithm
minimizes the maximum flow time subject to precedence constraints.
Goal: Scheduling a set of simultaneously arriving tasks on one
machine with precedence constraints to minimize
maximum lateness (tardiness).
Precedence constraints occur when certain jobs must be
completed before other jobs can begin.
Algorithm:
Tasks are scheduled in reverse order: job to be
completed last is scheduled first.
At each step selection is made from the jobs that are not
required to precede any other unscheduled job.
Select a job that achieves
min Fi  d i 
iV
Lawler’s Example:
Processing for all jobs is 1 day
1)
2)
3)
4)
5)
6)
One machine  Ffinal = 1+1+1+1+1+1 = 6
Select from jobs {4,5,6} such that gives
1 D1=2
min{6-3, 6-5, 6-6}=0  job 6 is a last job
D2=5 2
Recalculate F: F = 6-1= 5
3 D3=4
Select from jobs {3,4,5} such that gives
min{5-4, 5-3, 5-5}=0  order x-x-x-x-5-6
4
5
6
Recalculate F: F = 5-1= 4
D4=3 D5=5
D6=6
Select from jobs {3,4} such that gives
min{4-4, 4-3}=0  order x-x-x-3-5-6
Recalculate F: F = 4-1= 3
Select from jobs set {4}  order x-x-4-3-5-6
Recalculate F: F = 3-1= 2
Select from jobs set {2}  order x-2-4-3-5-6
Recalculate F: F = 2-1= 1
Select from jobs set {1}  order 1-2-4-3-5-6
Lawler’s Example:
D2=5
Production is done in next order:
1–2–4–3–5–6
Lawler’s algorithm minimizes the maximum
flow time subject to precedence constraints
Processing
Due date
1
Completion Flowtime
4
D1=2
2
3
5
D3=4
6
D4=3
D5=5
D6=6
Processing for all jobs is 1 day
Lateness
Earliness
Tardiness
Job j
pj
Dj
Cj
Fj
Lj
Ej
Tj
1
1
2
1
1
-1
1
0
2
1
5
2
2
-3
3
0
4
1
3
3
3
0
0
0
3
1
4
4
4
0
0
0
5
1
5
5
5
0
0
0
6
1
6
6
6
0
0
0
Average
3.5
-0.67
0.67
0
Max
6
0
3
0
Gantt Charts
Pictorial representation of a schedule is called Gantt Chart
The purpose of the chart is to graphically display the state
of each machine at all times
Horizontal axis – time
Vertical axis – machines 1, 2, …, m
Processing
Machine 1
3
5
Machine 2
2
1
Processing
Machine 1
Machine 2
2
1
1 2
3
5 6
11
Time (days)
Question: Is it an optimal schedule?
Are there any precedence constrains?
Job 1 Job 2
Job 1 Job 2
Machine 1
3/1
5/2
Machine 2
2/2
1/1
Gantt Charts
Machine 1
Machine 2
2
1
1 2
3
Processing
5 6
2
Machine 1 1
Machine 2 2
11
1
Time (days)
3
5 6
11
Time (days)
8
11
Time (days)
8
11
Time (days)
Job 1 Job 2
Machine 1
3
5
Machine 2
2
1
Machine 1
Machine 2
2
1
1
2
3
Processing
8
5 6
Job 1 Job 2
Machine 1
3/1
5/2
Machine 2
2/2
1/1
2
Machine 1 1
Machine 2 2
1
3
5 6
Question: How to determine THE optimal solution?
What makes scheduling problem more difficult?
Example
Processing time / machine
number
Completed by
14
11
13 (late)
10 (late)
Job
Operation
1
Operation
2
Operation
3
Releas
e date
Due
date
1
4/1
3/2
2/3
0
16
2
1/2
4/1
4/3
0
14
3
3/3
2/2
3/1
0
10
4
3/2
3/3
1/1
0
8
Find a solution!
M1
2
M2
2
4
3
M3
1
4
3
1
3
4
2
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Deterministic Scheduling
with Multiple Machines
• For the case of m machines and n jobs, there are n! distinct
sequenced on each machine (permutations), so (n!)m is the total
number of possible schedules
• For m = 3 and n = 4, total number of possible schedules is
243=13,824
• Assume that each job must be processed in the order
– First on machine 1, then machine 2….
• The optimal solution for scheduling n jobs on two machines to
minimize the total flow time is always a permutation schedule
– Assume flow shop: in each job operations have to be done
on both machines
– Permutation schedule is when jobs are done in the same
order on both machines
– This is the basis for Johnson’s algorithm
Example
MetalFrame makes 4 different types of metal door frames.
Preparing the hinge upright is a two-step operation.
Jobs
Natural schedule:
Is it optimal?
Machine
s
1
2
3
4
Total time
1
5
4
3
2
14
2
2
5
2
6
15
1
2
1
3
4
2
7
3
14
4
16
If idle time for machine 2 is equal to zero,
then we have found an optimal solution
22
Deterministic Scheduling with Multiple
Machines: Johnson’s Rule
• Name Machine 1 = A, Machine 2 = B,
then ai = processing time for job i on A
and bi = processing time for job i on B
• Johnson’s Rule says that job i precedes job j in the optimal
sequence if
min ai , b j   min a j , bi 
Algorithm:
• Step 1: Record the values of ai and bj in two columns
• Step 2: Find the smallest remaining value in two columns. If
this value in column a, schedule this job in the first open
position in the sequence; if this value in column b, schedule
this job in the last open position in the sequence; Cross off
each job as it is scheduled
Example (cont)
Jobs
Machines
1
2
3
4
Total time
1
5
4
3
2
14
2
2
5
2
6
15
Johnson’s schedule:
4–x–x–x
4–x–x–3
4–x–1–3
4–2–1–3
Natural schedule:
job
A
B
1
5
2
2
4
5
3
3
2
4
2
6
1
3
2
1
4
2
3
7
Johnson’s schedule:
Is it optimal?
4
1
2
4
14
16
1
3
22
3
2
7
4
14
17
22
Results for Multiple Machines
• For three machines, a permutation schedule is still optimal
if we restrict attention to total flow time only (not necessarily
the case for average flow time).
• Under some circumstances, the two machine algorithm can
be used to solve the three machine case:
– Label the machines A, B and C
– min  Ai   max Bi , for i or min Ci   max Bi , for i
– Redefine Ai’= Ai + Bi and Bi’= Bi + Ci
• When scheduling two jobs on m machines, the problem can
be solved by graphical means.
Sequencing Theory: The Two-Job Flow Shop Problem
Assume that two jobs are to be processed through m
machines. Each job must be processed by the machines in
a particular order, but the sequences for the two jobs need
not be the same
Graphical procedure developed by Akers (1956):
–
Draw a Cartesian coordinate system with the processing times
corresponding to the first job on the horizontal axis and the
processing times corresponding to the second job on the vertical
axis (keeping order)
–
Block out areas corresponding to each machine at the intersection
of the intervals marked for that machine on the two axes
–
Determine a path from the origin to the end of the final block that
does not intersect any of the blocks and that minimizes the vertical
movement. Movement is allowed only in three directions: horizontal,
vertical, and 45-degree diagonal. The path with minimum vertical
distance corresponds to the optimal solution
Example 8.7 (in the book)
A regional manufacturing firm produces a variety of household products.
One is a wooden desk lamp. Prior to packing, the lamps must be sanded,
lacquered, and polished. Each operation requires a different machine.
There are currently shipments of two models awaiting processing. The
times required for the three operations for each of the two shipments are
Job 1
Operation
Job2
Time
Operation
Time
(A)
3
A
2
Lacquering (B)
4
B
5
Polishing
5
C
3
Sanding
(C)
The order of operations is the same for both jobs: A  B  C 
Minimizing the flow time is equivalent to finding the path from the
origin to the upper right point F (for this problem it is art the end
of block C) that maximizes the diagonal movement and therefore
minimizes either the horizontal or the vertical movement.
Job 1
A
Tim
e
3
A
2
B
4
B
5
C
5
C
3
10 + (6)=16
12 +(3)=15
Job2
Time
15
14+2+2=18
14
C
13
C
12
Example
F
11
10
B
14+4=18
B
9
Job 1
8
7
6
D
5
D
4
3
2
A
A
1
0
0
1
2
B
J1 B
J2 A
3
4
D5
6
7
C8
D
10 11 12 13 14 15 16 17
A
D
A
C
D
B
7
J1 B
J2 A
9
11
D
B
C
15
A
C
C
18
Job2
Order &
Operation
B
Time
Time
3
Order &
Operation
A
D
4
D
5
C
2
B
4
A
5
C
3
2
Schematic of a Typical Assembly Line
The problem of balancing an assembly line is a classic engineering
problem
• A set of n distinct tasks that must be completed on each item
• The time required to complete task i is a known constant ti
• The goal is to organize the tasks into groups, with each group of tasks being
performed at a single workstation
• The amount of time allotted to each workstation is determined in advance
(C = cycle time), based on the desired rate of production of the assembly line
Assembly Line Balancing
• Assembly line balancing is traditionally thought of
as a facilities design and layout problem
• There are a variety of factors that contribute to the
difficulty of the problem
– Precedence constrains: some tasks may have to be
completed in a particular sequence
– Zoning restriction: Some tasks cannot be performed at
the same workstation
• Let t1, t2, …, tn be the time required to complete the
respective tasks
Assembly Line Balancing
• The total work content (time) associated with the production
of an item, say T, is given by
T 
n
t
i 1
i
• For a cycle time of C, the minimum number of workstations
possible is [T/C], where the brackets indicate that the value
of T/C is to be rounded to the next larger integer
• Ranked positional weight technique: the method places a
weight on each task based on the total time required by all
of the succeeding tasks. Tasks are assigned sequentially to
stations based on these weights
Assembly Line Balancing
Example 8.11
The Final assembly of Noname personal computers, a generic mailorder PC clone, requires a total of 12 tasks. The assembly is done at
the Lubbock, Texas, plant using various components imported from the
Far East. The network representation of this particular problem is given
in the following figure.
Assembly Line Balancing
Precondition
The job times and precedence relationships for
this problem are summarized in the table
below.
Task
Immediate Predecessors
Time
1
2
3
4
5
6
7
8
9
10
11
12
_
1
2
2
2
2
3, 4
7
5
9, 6
8, 10
11
12
6
6
2
2
12
7
5
1
4
6
7
Assembly Line Balancing:
Helgeson and Birnie Heuristic (1961)
Ranked positional weight technique
The solution precedence requires determining the positional weight of each task.
The positional weight of task i is defined as the time required
to perform task i plus the times required to perform
all tasks having task i as a predecessor.
Task
Time
Positional
Weight
1
2
3
4
5
6
7
8
9
10
11
12
12
6
6
2
2
12
7
5
1
4
6
7
70
58
31
27
20
29
25
18
18
17
13
7
t3 + t7 + t8 + t11 + t12 = 31
The ranking: 1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 12
 ti = 70, and the production rate is a unit per 15 minutes;
The minimum number of workstations = [70 / 15] = 5
Assembly Line Balancing:
Helgeson and Birnie Heuristic (1961)
Station
1
2
3
4
5
6
Tasks
1
2, 3, 4
5, 6, 9
7, 8
10, 11
12
Processing time
12
14
15
12
10
7
Idle time
3
1
0
3
5
8
Task
Time
1
Immediate
Predecessors
_
2
3
4
5
6
7
8
9
10
11
12
1
2
2
2
2
3, 4
7
5
9, 6
8, 10
11
6
6
2
2
12
7
5
1
4
6
7
12
C=15
The ranking: 1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 12
Helgeson and Birnie Heuristic (1961)
C=15
Station
1
2
3
4
5
6
Tasks
1
2,3,4
5,6,9
7,8
10,11
12
Processing time
12
14
15
12
10
7
Idle time
3
1
0
3
5
8
15
Cycle Time=15
T1=12
T2=6
T5=2
T7=7
T10=4
T12=7
T3=6
T6=12
T8=5
T11=6
T2=6
T4=2
T5=2
T9=1
T10=4
T12=7
Evaluate the
balancing results by
the efficiency ti/NC
The efficiencies for
C=15 is 77.7%,
C=16 is 87.5%, and
C=13 is 89.7% is
the best one
Helgeson and Birnie Heuristic (1961)
C=15
Station
1
2
3
4
5
6
Tasks
1
2,3,4
5,6,9
7,8
10,11
12
Processing time
12
14
15
12
10
7
Idle time
3
1
0
3
5
8
C=16
Station
1
2
3
4
5
Tasks
1
2,3,4,
5
6,9
7,8,10
11,12
Idle time
4
0
3
0
3
C=13
Station
1
2
3
4
5
6
Tasks
1
2,3
6
4,5,7,9
8,10
11,12
Idle time
1
1
1
1
4
0
Increasing the cycle
time from 15 to 16,
the total idle time
has been cut down
from 20 min/units to
10  improvement in
balancing rate.
The production rate
has to be reduced from
one unit/15 minutes to
one unit/16minute;
Helgeson and Birnie Heuristic (1961)
C=15
Station
1
2
3
4
5
6
Tasks
1
2,3,4
5,6,9
7,8
10,11
12
Processing time
12
14
15
12
10
7
Idle time
3
1
0
3
5
8
C=16
Station
1
2
3
4
5
Tasks
1
2,3,4,
5
6,9
7,8,10
11,12
Idle time
4
0
3
0
3
C=13
Station
1
2
3
4
5
6
Tasks
1
2,3
6
4,5,7,9
8,10
11,12
Idle time
1
1
1
1
4
0
13 minutes appear
to be the minimum
cycle time with six
station balance.
Increasing the
number of stations
from 5 to 6 results
in a great
improvement in
production rate;
Stochastic Scheduling: Static Case
• Single machine case: Suppose that processing times are random
variables. If the objective is to minimize average weighted flow
time, jobs are sequenced according to expected weighted SPT.
That is, if job times are t1, t2, . . ., and the respective weights are
u1, u2, . . . then job i precedes job i+1 if
E(ti)/ui < E(ti+1)/ui+1
• Multiple Machines: Requires the assumption that the distribution
of job times is exponential, (memoryless property). Assume
parallel processing of n jobs on two machines. Then the optimal
sequence is to to schedule the jobs according to LEPT (longest
expected processing time first).
• Johnsons algorithm for scheduling n jobs on two machines in the
deterministic case has a natural extension to the stochastic case
as long as the job times are exponentially distributed.
Stochastic Scheduling: Queueing Theory
A typical queueing process
Served customers leaving
Customers arriving
Service Facility
Discouraged customers leaving
• “The basic phenomenon of queueing arises whenever a shared facility
needs to be accessed for service by a large number of jobs or
customers.” (Bose)
• “The study of the waiting times, lengths, and other properties of queues.”
(Mathworld)
Applications:
Telecommunications
Health services
Traffic control
Predicting computer performance
Airport traffic, airline ticket sales
Layout of manufacturing systems
Determining the sequence of computer operations
Examples of Queueing Theory
http://www.bsbpa.umkc.edu/classes/ashley/Chaptr14/sld006.htm
Stochastic Scheduling: Dynamic Analysis
• View network as collections of queues
– FIFO data-structures
• Queuing theory provides probabilistic analysis of these
queues
• Typical operating characteristics of interest include:
– Lq = Average number of units in line waiting for service
– L = Average number of units in the system (in line waiting for
service and being serviced)
– Wq = Average time a unit spends in line waiting for service
– W = Average time a unit spends in the system
– Pw = Probability that an arriving unit has to wait for service
– Pn = Probability of having exactly n units in the system
– P0 = Probability of having no units in the system (idle time)
– U = Utilization factor, % of time that all servers are busy
Characteristics of Queueing Processes
• Arrival pattern of customers
• Service pattern of servers
• Queue discipline
• System capacity
• Number of service channels
• Number of service stages
Characteristics of Queueing Processes
• Arrival pattern of customers
– Probability distribution describing the times between
successive customer arrivals
• Time independent Stationary arrival patterns
• Time dependent  Non-stationary
– Batch or Bulk customer arrivals
• Probability distribution describing the size of the batch
– Customers behavior while waiting
• Wait no matter how long the queue becomes
• If the queue is too long, customer may choose not to enter into the
system
• Enter, wait, and choose to leave without being serviced
• If there is more than one waiting line, customer may switch “jockey”
Characteristics of Queueing Processes
• Arrival pattern of customers
• Service pattern of servers
– Single or Batch
– May depend on the number of customers waiting  state dependent
– Stationary or Non-stationary
• Queue discipline
–
–
–
–
–
Manner in with customers are selected to service
First Come First Served (FCFS)
Last Come First Served (LCLS)
Random Selection for Service (RSS)
Priority Schemes
• Preemptive case
• Non-preemptive case
Characteristics of Queueing Processes
•
•
•
•
Arrival pattern of customers
Service pattern of servers
Queue discipline
System capacity
– Finite queueing situations = Limiting amount of waiting room
• Number of service channels
– Single-channel system
– Multi-channel system, generally assumed that parallel channels
operate independently of each other
• Number of service stages
Notation Used in Queueing Processes
Full notation: A / B / X / Y / Z
Shorthand:
A/B/X
A – indicates the interarrival-time distribution
B – the probability distribution for service time
X – number of parallel service channels
Y – the restriction on system capacity
Z – the queue discipline (FCFS)
Assumes: Y is infinity,
Z = FCFS
Symbol = Explanation
A
B
M = Exponential, D = Deterministic, Ek = Erlang type
Hk = Mixture of k exponentials, PH = Phase type, G =
General
X
Y
1, 2, ... , infinity
1, 2, ... , infinity
Z
FCFS, LCLS, RSS, PR = priority, GD = general discipline
Queueing Processes: Little’s Formulas
One of the most powerful relationships in queueing theory was
developed by John D.C. Little in the early 1960s.
Formulas:
L  W
and
Lq  Wq,
where λ is an average rate of customers entering the system, and
W is an expected time customer will spend in the system
Number of
customers
in system
3
2
1
Time, t
t1
t2
t3 t4
t5 t6
t7
T
Poisson Process & Exponential Distribution
• M: stands for "Markovian", implying exponential distribution
for service times or inter-arrival times, that carries the
memoryless property
– past state of the system does not help to predict next arrival /
departure


n-1
m

n
m

n+1
m
m
Calculating Expected
System Measures for M/M/1

0
<m

1
m

2
m
CHARACTERISTIC
Utilization
Exp. No. in System
Exp. No. in Queue
Exp. Waiting Time
Exp. Time in Queue
Prob. System is Empty
m
SYMBOL
ρ
L
Lq
W=L/ λ
Wq=Lq/ λ
P0
The utilization rate: ρ = λ / μ
P0 = 1 – ρ
Pi = ρi(1 – ρ), for i = 1, 2, 3,…
these formulas hold only if
FORMULA
λ/μ
λ / (μ – λ) = ρ / (1-ρ)
λ2/ μ(μ – λ) = ρ2 / (1-ρ)
1 / (μ – λ) = ρ / λ(1-ρ)
λ / μ(μ – λ) = ρ2 / λ(1-ρ)
1 – (λ / μ) = 1 - ρ
Calculating Expected
System Measures for M/M/m
http://www.ece.msstate.edu/~hu/courses/spring03/notes/note4.ppt
Calculating Expected
System Measures for M/M/m
Assumption
- m servers
- all servers have the same service rate μ
- single queue for access to the servers
- arrival rate λn = λ
nm , n  0, 1, 2,, m  1
- departure rate m n  
mm , n  m, m  1,
λ
0
λ
1
μ
λ
2
2μ
…
3μ
λ
λ
(m-1)μ
m
m-1
mμ
λ
λ
m+1
mμ
mμ
Calculating Expected
System Measures for M/M/m
 m  m 
1 
1    
P0  

m!
 n0 n!

m 1
n
m
W  Wq  1 m
λ
0
μ
λ
3μ
L  Lq  m
λ
λ
…
2
2μ
m m  m1
Lq 
P
2 0
m!1   
Wq  Lq 
λ
1
1
m
m-1
(m-1)μ
mμ
λ
λ
m+1
mμ
mμ
Example
• Unisex hair salon runs on a first-come, first-served basis.
Customers seem to arrive according to a Poisson process
with mean arrival rate of 5/hr. Because of Ms. H.R. Cutt’s
excellent reputation, customers are always willing to wait.
Average service time of 10 min is exponentially distributed.
• Calculate the average number of customers in the shop
and the average number of customers waiting for a
haircut.
• Calculate the percentage of time an arrival can walk right
in without having to wait at all.
• The waiting room has only 4 seats. What is the probability
that a customer upon arrival rill have to stand?
• Calculate average system waiting time, and the line delay.
Other Systems
M/M/1/K - system with a capacity K
λeff = effective arrival rate
M/D/1;
M/G/1;
M/G/∞
Assignment: download the QTS add-in for Excel software to check
the homework problems answers
http://www.geocities.com/qtsplus/DownloadInstructions.htm#DO
WNLOAD_INSTRUCTIONS
Homework Assignment
•
•
•
•
Read Ch. 8 (8.1 – 8.10)
Read Supplement Two (S2.1 - S2.13)
8.4, 8.5, 8.7, 8.12, 8.15,
8.18, 8.23, 8.25, 8. 27, 8.28
References
• Presentation by McGraw-Hill/Irwin
• Presentation by Professor JIANG Zhibin, Department of Industrial
Engineering & Management, Shanghai Jiao Tong University
• “Production & Operations Analysis” by S.Nahmias
• “Production: Planning, Control, and Integration” by Sipper and
Bulfin Jr.
• “Inventory Management and Production Planning and Scheduling”
by Silver, Pyke and Peterson
• “Fundamentals of Queueing Theory” by Cross and Harris
• http://www.geocities.com/qtsplus/DownloadInstructions.htm#DOW
NLOAD_INSTRUCTIONS QTS analysis for Excel
Download