Professional Documents
Culture Documents
REF:
1
Operations Scheduling
Types of scheduling problems:
• Job shop scheduling (shop floor control) is the set of activities in the
shop that transform inputs (a set of requirements) to outputs (products
to meet those requirements).
Remember job shop from Week1: High product variety, products are
made in small lots, Products are made to order, Flexible equipment and
labor, Small setups. Example; Metal parts or PCBs production
• Personnel scheduling: Scheduling health professionals in hospitals,
determining whether to meet peak demand with overtime shifts, night
shifts, or subcontracting
• Facilities scheduling: operating rooms at hospitals, university
classroom scheduling
• Vehicle scheduling: Dial-a-ride, pick up-delivery scheduling
2
Operations Scheduling
Types of scheduling problems(cont.):
3
Job Shop Scheduling - Characteristics
Job Shop Scheduling Characteristics
• The job arrival pattern: We often view the job shop
problem as a static problem - take a “snapshot” of the
system at a point in time and proceed to solve the
problem based on the value of the current state
• Number and variety of machines in the shop: The
throughput rate of a particular machine could depend
upon a variety of factors-condition of the machine or the
skill of the operator. Depending on the layout of the shop
and the nature of the jobs, constraints might exist.
• Number of workers in the shop: Both the number of
workers in the shop and the number and variety of
machines in the shop determine the shop’s capacity
4
Job Shop Scheduling - Characteristics
Job Shop Scheduling Characteristics (cont.)
• Particular flow patterns: each sequence of jobs through
machines results in a pattern of flow of materials through
the system. Because materials-handling issues often are
treated separately from scheduling issues, infeasible flow
patterns may result.
• Evaluation of alternative rules: choice of objective will
determine the suitability and effectiveness of a
sequencing rule. It is common for more than one objective
to be important, so it may be impossible to determine a
unique optimal rule.
5
Job Shop Scheduling - Objectives
Objectives:
1. Meet due dates.
2. Minimize work-in-process (WIP) inventory.
3. Minimize the average flow time through the system.
4. Minimize machine/worker idle time.
5. Provide for accurate job status information.
6. Reduce setup times.
7. Minimize production and worker costs.
• Impossible to optimize all seven objectives simultaneously.
• Objectives (1) and (3) aim for providing a high level of customer
service,
• Objectives (2), (4), (6), and (7) aim at providing a high level of plant
efficiency
6
Job Shop Scheduling - Objectives
7
Job Shop Scheduling - Terminology
Terminology:
1. Flow shop. In a flow shop each of the n jobs must be
processed through the m machines in the same order, and
each job is processed exactly once on each machine. This
is what we typically think of as an assembly line.
2. Job shop. Not all jobs are assumed to require exactly m
operations, and some jobs may require multiple operations
on a single machine. Each job may have a different
required sequencing of operations.
8
Job Shop Scheduling - Terminology
Terminology (cont.):
3. Parallel processing versus sequential processing.
Sequential processing→ the m machines are
distinguishable, and different operations are performed by
different machines.
Parallel processing → the machines are identical, and any
job can be processed on any machine.
4. Flow time. The flow time of job i is the time that elapses
from the initiation of the first job on the first machine to the
completion of job i (amount of time that job i spends in the
system).
Mean flow time→ the arithmetic average of the flow times
for all n jobs.
9
Job Shop Scheduling - Terminology
Terminology (cont.):
5. Makespan: The flow time of the job that is completed last (the time
required to complete all n jobs). Minimizing the makespan is a common
objective in multiple-machine sequencing problems.
Makespan = Time of completion of last job - Starting time of the first job
10
Sequencing Rules
• A collection of jobs must be processed on a single
machine and each job has a processing time and a due
date.
• Sequencing problem: Decide the processing order that
best suits a particular objective(s).
Example Sequencing Rules:
1. First Come First Served (FCFS)
2. Shortest Processing Time (SPT)
3. Earliest Due Date (EDD)
4. Critical Ratio (CR)
11
Sequencing Rules
Examples to Sequencing Rules:
1. First-come, first-served (FCFS). Jobs are processed in the
sequence in which they entered the shop.
2. Shortest processing time (SPT). Jobs are sequenced in increasing
order of their processing times. The job with the shortest processing
time is first, the job with the next shortest processing time is second,
and so on.
3. Earliest due date (EDD). Jobs are sequenced in increasing order of
their due dates. The job with the earliest due date is first, the job with
the next earliest due date is second, and so on.
4. Critical ratio (CR). Dividing the time remaining until a job's due date
by the total shop time remaining for the job (including the operation
being scheduled.). Schedule the job with minimum CR.
CR= (Due date – Current time) / Processing time
12
Sequencing Rules
Other examples to Sequencing Rules:
1. Last-come, first-served (LCFS)
2. Longest processing time (LPT):
Minimizes total makespan - in Parallel machines-stochastic processing
times case
3. Slack time remaining (STR):
STR= time remaining before due date - remaining processing time
STR= (Duedate-Currentdate) - remaining processing time
The shortest STR goes first.
4. Slack per remaining operations (S/RO):
Dividing the slack time remaining by the number of operations that remain,
including the one being scheduled. Smallest S/RO goes first.
S/RO = STR/ Number of operations remaining
13
Sequencing Rules - Example
Example: A machining center in a job shop for a local
fabrication company has five unprocessed jobs remaining
at a particular point in time. The jobs are labelled 1, 2, 3, 4,
and 5 in the order that they entered the shop.
14
Sequencing Rules - Example
Example (cont):
1.First Come First Served (FCFS)
Process the jobs in the order they entered (according to job number)
Completion Time – Due Date
only if positive -> late
11+29
40+31
71-31
=3+11
74-31
16
Sequencing Rules - Example
Example (cont):
3.Earliest Due Date (EDD)
Sort the jobs according to due date. Start with earliest job.
Jobs sorted according to due date
CR – negative → job is late. Late jobs are scheduled next. If more than
one late job, SPT can be used between late jobs.
18
Sequencing Rules - Example
Example (cont):
3.Critical Ratio (CR) CR= (Duedate – Current time)/Processing time
Step 1. Compute CRs of all jobs.
Time =0
19
Sequencing Rules - Example
Example (cont):
3.Critical Ratio (CR) CR= (Duedate – Current time)/Processing time
Job 2 has the smallest CR.
Schedule job2,
Update current time
currentTime=31+29(job2 proc.time)=60
Compute CR for remaining jobs for time=60
Resulting Schedule
• Sum of flow times 289
• Mean flow time 289/5 = 57.8.
• Average tardiness 87/5 = 17.4.
• Number of tardy jobs 4. 20
Sequencing Rules - Example
Example: An air traffic controller is faced with the problem of scheduling
the landing of five aircraft. Only one plane can land at a time. Estimated
landing times (processing times) are:
Objective??
1. Minimize makespan – Makespan is not sequence dependent. For
all sequences makespan=26+11+19+16+23=95
2. Minimize mean flow time – SPT minimizes mean flow time
3. Land as many people as quickly as possible? Take the
#passengers in each plane. Minimize the weighted sum of
completion times (weights corresponds to #passengers)
4. How about the due dates? Minimize average tardiness or Minimize
maximum tardiness
5. What if plane 4 has critically low fuel level? Priority ordering.
21
Sequencing Theory
Assume n jobs are processed through one machine. For each job i
define:
• ti = Processing time for job i (constant – given)
• di = Due date for job i, (constant – given)
• Wi = Waiting time for job i (the time job has to wait before processing
starts)
• Fi = Flow time for job i (completion time of job. Fi=Wi+ti)
• Li = Lateness of job i, (Li=Fi-di) (can be positive or negative)
• Ti = Tardiness of job i, (positive part of lateness Ti=max[Li,0])
• Ei = Earliness of job i, (negative part of lateness Ti=max[-Li,0])
Others:
• Maximum tardiness Tmax=max{T1, T2, .. , Tn}
• Mean flow time F’
22
Sequencing Theory - SPT
Shortest Processing Time
• SPT MINIMIZES mean flow time F’
Proof:
• The flow time of the job that is scheduled in position k: (sum of ti s of
the jobs before it)
• Then F’ equals
• F’ minimized if
23
Sequencing Theory
Shortest Processing Time
MINIMIZES:
• Mean Flow time
• Mean waiting time (Remember F=W+t & t’s are constant)
• Mean lateness (Remember Li=Fi-di)
24
Sequencing Rules – MOORE’s Algorithm
For some problems, the penalty for a late (tardy) job remains the same no
matter how late it is.
Ex: any delay in the completion of all tasks required for preparation of a space
launch would cause the launch to be aborted, independent of the length of the
delay.
MOORE’s algorithm
Objective: MINIMIZE the number of tardy jobs
Step 1. Sequence the jobs according to the earliest due date to obtain the initial
solution. That is d[1] <= d[2] <=….<= d[n].
Step 2. Find the first tardy job in the current sequence job [i]. If none exists, go
to step 4.
Step 3. Consider jobs [1], [2], . . . , [i]. Reject the job with the largest processing
time. Return to step 2.
Step 4. Form an optimal sequence by taking the current sequence and
appending to it the rejected jobs. The jobs appended to the current sequence
may be scheduled in any order (or use SPT) because they are the tardy jobs.
25
Sequencing Rules – MOORE’s Algorithm
Example: Processing times and due dates of 6 jobs are given below.
Find the sequence which will result in the minimum number of tardy jobs.
Check the PT of jobs from beginning to-including first tardy job (J1).
J1 is the job with Longest PT so reject it.
Step 2. Find the first tardy job in the current sequence →Jobs 1,5,4 & 6 are tardy. First
tardy job is 1.
Step 3. Consider jobs [1], [2], . . . , [i] (Jobs 2, 3, and 1 in this case). Reject the job with
the largest processing time (Job 1 in this case). The new schedule is
changed
26
Sequencing Rules – MOORE’s Algorithm
Example:
Step 2. Find the first tardy job in the current sequence →Jobs 4 & 6 are tardy. First tardy
job is 4.
Check the PT of jobs from beginning to-including
first tardy job (J4).
J5 has the Longest PT so reject it.
Step 3. Consider jobs [1], [2], . . . , [i] (Jobs 2, 3, 5 and 4 in this case). Reject the job with
the largest processing time (Job 5 in this case). The new schedule is
No tardy jobs at this stage. Optimal sequence is 2,3,4,6 & 5,1 OR 2,3,4,6 & 1,5.
LAWLER’s algorithm
Objectives: under precedence constraints
MINIMIZE the maximum tardiness OR Minimize maximum lateness
Lawler’s first determines the job to be completed last, then the job to be
completed next to last and so on.
Step 1. Determine the set of jobs not required to precede any other.
Step 2. From this set choose the job with minimum tardiness according to the
current schedule. Schedule this job as last job.
Step 3. Go back to Step 1, excluding the job scheduled in Step 2.
28
Sequencing Rules – LAWLER’s Algorithm
Example: Schedule the following jobs given the below precedence order rule
Step 1. Determine the set of jobs not required to precede any other. Set= {3,5,6}
Step 2. From this set choose the job with minimum tardiness according to the current schedule.
Makespan=2+3+4+3+2+1=15 (the last job will finish at time=15)
Tardiness of job 3→ 15-9 (job 3’s due date) =6 , ?What will be J3’s tardiness if it is scheduled last? = Makespan-J3Duedate=15-9=6
Tardiness of job 5→ 15-11 (job 5’s due date) =4,
Tardiness of job 6→ 15-7 (job 6’s due date) =8
Job 5 has minimum tardiness. Schedule this job as last job. Current schedule (….,5)
Go Back to step 1 with a job set of 1,2,3,4,6.
Step 1. Determine the set of jobs not required to precede any other. Set= {3, 6}
Step 2. All jobs before job 5 will finish at 15-2=13.
Tardiness of job 3→ 13-9=4 , Tardiness of job 6→ 13-7 =6 , Schedule 3 as next to last.
Current schedule (…., 3,5). Go back to step 1.
29
Sequencing Rules – LAWLER’s Algorithm
Example: Schedule the following jobs given the below precedence order rule
30
Sequencing Multiple Machines
• Sometimes several jobs must be processed on more than one
machine.
• Assume that n jobs are to be processed through m machines.
• If the jobs may be processed on the machines in any order, there are
a total of (n!)m possible schedules
Example: Both jobs must be processed on first Machine 1 then Machine 2.
Some schedules shown on Gannt chart:
31
Sequencing Multiple Machines
Scheduling n jobs on Two Machines
The optimal solution for scheduling n jobs on two machines is always a
permutation schedule.
JOHNSON’s algorithm – finds the optimal schedule
Objective: Minimize makespan
Denote the machines by A and B.
Assume jobs must be processed first on machine A and then on B.
Jobs are labelled i, for 1<= i <= n, and define
Ai = Processing time of job i on machine A.
Bi = Processing time of job i on machine B.
Rule: Job i precedes job i + 1 if min(Ai, Bi+1) < min(Ai+1, Bi)
Step 1. List the values of Ai and Bi in two columns
Step 2. Find the smallest remaining processing time in the two columns.
If it is in column A, schedule that job next. If it is in column B, schedule that job last.
Step 3. Cross off the jobs as they are scheduled. Stop when all jobs have been
scheduled. 32
Sequencing Multiple Machines
Scheduling n jobs on Two Machines
Example: Five jobs will be scheduled on two machines
Solution:
Smallest processing time is in A (Job2).
Schedule 2 first. Cross it out.
Current schedule (2-…)
33
Sequencing Multiple Machines
Scheduling n jobs on Two Machines
Example (cont.): Five jobs will be scheduled on two machines
Solution (cont.):
Smallest processing time is in A (Job4).
Schedule 4 next to first. Cross it out.
Current schedule (2-4-…-1)
34
Sequencing Multiple Machines
Scheduling n jobs on Three Machines
• More complex than the Two machine case.
• Permutation schedule is still optimal for total flow time objective
• Label the machines as A, B & C.
• Three-machine problem can be reduced to a two-machine problem if :
Min Ai >= Max Bi OR Min Ci >= Max Bi
• If this condition is satisfied, define:
Ai’ = Ai+ Bi and Bi’ = Bi+ Ci
• Treat the problem as a two machine problem with processing times
of Ai’ & Bi’
• Resulting permutation schedule will be optimal
• If the condition is not satisfied, method will usually give a reasonable but
suboptimal schedule.
• Permutation schedules are optimal for Minimizing makespan on two or
three machines (not necessarily optimal for average flow time)
35
Sequencing Multiple Machines
Scheduling n jobs on Three Machines
Example: Assume the jobs are processed in the sequence A-B-C
Solution:
Check the condition “Min Ai >= Max Bi OR Min Ci >= Max Bi”
Min Ai =4; Max Bi =6; Min Ci = 6 → Min Ci >= Max Bi satisfied. So form the
two machine equivalent with Ai’ = Ai+ Bi and Bi’ = Bi+ Ci
36
Sequencing Multiple Machines
Scheduling n jobs on Three Machines
Example (cont.): Solve this two machine problem
Smallest processing time is in B’ (Job3).
Schedule 3 last. Cross it out.
Current schedule (…-3)
39
Two Job Flow Shop
Example (cont.):
Steps:
1. Draw cartesian graph. Job1-horizontal, Job2-vertical axes.
2. Block out areas corresponding to each machine at the intersections.
40
Two Job Flow Shop
Example (cont.):
Steps:
3. A feasible schedule connects Origin to point C without crossing the
blocks. Move vertical – horizontal-45degree diagonal.
Vertical move=Only Job2 is processed. Horizontal=Only Job1. Diagonal=Both Jobs
processed
Total horizontal axis time +vertical move= Total time
Minimizing flow time means maximizing the time both jobs are processed.
Two feasible schedules
Schedule with TotTime=15 is
optimal
->t=0..3 – Job 1 on A (horz.)
t=3..5 – Job1 on B, Job2 on A
t=5..7 – Job1 on B (horizontal)
t=7..12 – Job 1 C, Job2 B
t=12..15-Job2 C (vertical)
41
Two Job Flow Shop
Example: Reggie and Bob are sharing the same newspaper. Schedule the
sections they read so that they finish reading in minimum time. Notice that
the required sequence is different for Reggie and Bob.
42
Two Job Flow Shop
Example (cont.):
43
Two Job Flow Shop
Example (cont.):
44
N Job Flow Shop
Scheduling n jobs on m Machines – sequences need not be the same
Heuristic approach; two dispaching rules :
Processing time on
machines
Job Sequence M1 M2 M3 DueDate
A 3-1-2 1 3 2 14
K 2-3-1 3 1 3 12
P 3-2-1 2 3 4 10
46
N Job Flow Shop
Example (cont.): The Bundy Company
Horizontal loading: Finish loading a job with EDD, then the next
Processing time on
machines
Job Sequence M1 M2 M3 DueDate
A 3-1-2 1 3 2 14
K 2-3-1 3 1 3 12
P 3-2-1 2 3 4 10
47
N Job Flow Shop
Processing time on
machines
Job Sequence M1 M2 M3 DueDate
A 3-1-2 1 3 2 14
K 2-3-1 3 1 3 12
Example (cont.): The Bundy Company P 3-2-1 2 3 4 10
Vertical loading: Load SPT process first
Load A to M3
Load A to M1
Load A to M1 Load A to M2
Load A to M1 Load K to M3
to M2
48
N Job Flow Shop
Processing time on
machines
Job Sequence M1 M2 M3 DueDate
A 3-1-2 1 3 2 14
K 2-3-1 3 1 3 12
Example (cont.): The Bundy Company P 3-2-1 2 3 4 10
Vertical loading: Load SPT process first
Load K to M1
Machine
A-2 K-3 P-3
Center 1
Machine
K-1 A-3 P-2
Center 2
Machine
A–1 K-2 P-1
Center 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
49
Parallel Machines
• Parallel processing: Jobs need to be processed on one machine and
any job can be processed on any machine
N Jobs Processors 1 to
m
50
Parallel Machines
• To minimize total makespan, schedule longest jobs first (LPT)
• As total processing time is independent of the sequence, minimizing
total makespan requires minimizing the idle time I.
• Minimize I (idle time): the idle time of the machine that does not process
the job completed last.
Tn-1 = Tn - IdleTime
Mach1 finish time
Sum of all proc. times
So minimize I at the end of Machine1
to minimize the Makespan.
Minimizining I requires LPT.
51
Parallel Machines
Two example Heuristic Algorithms:
1. Minimizing Mean Flow:
• Step 1: Sequence Jobs by SPT
• Step 2: Take Jobs from list and assign to the processor with least amount of
assigned time
• Step 3: Continue thru all jobs
52
Parallel Machines
Example: Compare the Heuristic Algorithms for 3 parallel machines and
Jobs with the following processing times
Given Order
Job # Pr. Time
1 5
2 6
3 3
4 8
5 7
6 2
7 3
8 5
9 4
10 2
53
Parallel Machines
Example: SPT
• Optimal sequence: Job i precedes job i+1 if (equivalent to SPT if ui’s are
equal)
58
Stochastic Scheduling
Multiple Machines
• Random job times on multiple machines
• When there are multiple machines, results ARE NOT true for the
deterministic case
• Assumption: Distribution of job times is exponential (bec. of the
memoryless property of expo. dist)
• Memoryless: the probability that a job is completed in the next instant of
time is independent of the length of time already elapsed in processing
the job (not true for most processes).
• In parallel machines case LEPT (longest expected processing time) I
optimal for minimizing the expected value of makespan
• Dynamic case: When both job arrival rates & processing times are
random use QUEUEING THEORY
• If the selection discipline does not depend on the processing time (ie.
works for FCFS, LSFS, random) mean flow times, mean WIP and queue
length are the same. But variance of flow times depend on selection
rule. 59