Chapter 17
Scheduling
IES 371 Engineering Management
Lecture Outline
Objectives in Scheduling
Loading
Sequencing
What is Scheduling?
Last stage of planning before production occurs
Specifies when labor, equipment, and facilities are
needed to produce a product or provide a service
Objectives in Scheduling
Meet customer due dates
Minimize job lateness
Minimize response time
Minimize completion time
Minimize time in the system
Minimize overtime
Maximize machine or labor
utilization
Minimize idle time
Minimize work-in-process
inventory
Shop Floor Control (SFC)
Schedule and monitor day-to-day job shop
production
Loading check the availability of material, machines,
and labor, assign work to limited resources
Sequencing release work orders to shop and issue
dispatch lists for individual machines
Monitoring maintain progress reports on each job
until it is completed
The Assignment Method of Loading
A linear programming procedure for deciding
which worker to assign to a task, or which job
to assign to a machine.
Only one job may be assigned to each worker
or machine.
The Assignment Method of Loading
1. Perform row reductions
4. If number of lines equals number
of rows in matrix, then optimum
subtract minimum value in each
solution has been found. Make
row from all other row values
assignments where zeros appear
2. Perform column reductions
subtract minimum value in each
column from all other column
values
3. Cross out all zeros in matrix
use minimum number of
horizontal and vertical lines
Else modify matrix:
subtract minimum uncrossed
value from all uncrossed values
add it to all cells where two lines
intersect
other values in matrix remain
unchanged
5. Repeat steps 3 and 4 until
optimum solution is reached
Assignment Method
Initial
Matrix
Bryan
Kari
Noah
Chris
1
10
6
7
9
Row reduction
5
4
2
5
0
0
1
1
1
2
0
0
5
4
1
6
PROJECT
3
4
6
10
4
6
5
6
4
10
2
5
2
6
5
Column reduction
Cover all zeros
3
2
0
3
3
2
0
3
0
0
1
1
1
2
0
0
4
3
0
5
Number lines number of rows so modify matrix
0
0
1
1
1
2
0
0
4
3
0
5
Assignment Method
Modify matrix
1
0
0
1
0
0
3
1
1
2
2
0
Cover all zeros
2
1
0
3
1
0
0
1
0
0
3
1
1
2
2
0
2
1
0
3
Number of lines = number of rows so at optimal solution
Bryan
Kari
Noah
Chris
1
1
0
0
1
PROJECT
2
3
0
1
0
2
3
2
1
0
4
2
1
0
3
Bryan
Kari
Noah
Chris
1
10
6
7
9
PROJECT
2
3
4
5
6 10
2
4
6
6
5
6
5
4 10
Project Cost = (5 + 6 + 4 + 6) X $100 = $2,100
Solution goes here
Only 1 leader can
be assigned to
each project
Assignment Method - Setup
Click Solve for
solution
Sum of all rows and
columns = 1
Assignments indicated by 1
Cost of solution
Sequencing
When more than one job is assigned to a machine,
the process of prioritizing jobs is call sequencing.
Sequencing Rules
FCFS - first-come, first-served
(default)
LCFS - last come, first served
DDATE - earliest due date
CUSTPR - highest customer
priority
SETUP - similar required setups
SLACK - smallest slack
CR - smallest critical ratio
SPT - shortest processing time
LPT - longest processing time
SLACK = (due date todays date) (processing time)
CR = (due date - today's date) / remaining process time
SLACK and CR
SLACK considers both work and time remaining
SLACK = (due date todays date) (processing time)
CR recalculates sequence as processing continues and
arranges information in ratio form
CR =
time remaining
work remaining
due date - todays date
remaining processing time
If CR > 1, job ahead of schedule
If CR < 1, job behind schedule
If CR = 1, job on schedule
Sequencing Jobs Through One
Process
Flow time (completion time)
Time for a job to flow through system
Makespan
Time for a group of jobs to be completed
Tardiness
Difference between a late jobs due date
and its completion time
Simple Sequencing Rules
JOB
PROCESSING
TIME
DUE
DATE
A
B
C
D
E
5
10
2
8
6
10
15
5
12
8
Simple Sequencing Rules: FCFS
FCFS
SEQUENCE
START
TIME
A
B
C
D
E
0
5
15
17
25
PROCESSING COMPLETION DUE
TIME
TIME
DATE
5
10
2
8
6
Total
Average
5
15
17
25
31
93
93/5 = 18.60
10
15
5
12
8
TARDINESS
0
0
12
13
23
48
48/5 = 9.6
Simple Sequencing Rules: DDATE
DDATE
SEQUENCE
START
TIME
C
E
A
D
B
0
2
8
13
21
PROCESSING COMPLETION DUE
TIME
TIME
DATE
2
6
5
8
10
Total
Average
2
8
13
21
31
75
75/5 = 15.00
5
8
10
12
15
TARDINESS
0
0
3
9
16
28
28/5 = 5.6
Simple Sequencing
Rules: SLACK
SLACK
SEQUENCE
START
TIME
E
C
D
A
B
0
6
8
16
21
A(10-0) 5 = 5
B(15-0) 10 = 5
C(5-0) 2 = 3
D(12-0) 8 = 4
E(8-0) 6 = 2
PROCESSING COMPLETION DUE
TIME
TIME
DATE
6
6
2
8
8
16
5
21
10
31
Total
82
Average82/5 = 16.40
TARDINESS
8
5
12
10
15
34/5 = 6.8
0
3
4
11
16
34
Simple Sequencing Rules: SPT
SPT
SEQUENCE
START
TIME
C
A
E
D
B
0
2
7
13
21
PROCESSING COMPLETION DUE
TIME
TIME
DATE
2
5
6
8
10
Total
Average
2
7
13
21
31
74
74/5 = 14.80
5
10
8
12
15
TARDINESS
0
0
5
9
16
30
30/5 = 6
Simple Sequencing Rules: Summary
RULE
FCFS
DDATE
SLACK
SPT
AVERAGE
COMPLETION TIME
18.60
15.00
16.40
14.80
Best values
AVERAGE
TARDINESS
9.6
5.6
6.8
6.0
NO. OF
JOBS TARDY
3
3
4
3
MAXIMUM
TARDINESS
23
16
16
16
Sequencing Jobs Through Two
Serial Process
Johnsons Rule
1. List time required to process each job at each process. Set up
a one-dimensional matrix to represent desired sequence with
# of slots equal to # of jobs.
2. Select smallest processing time at either process. If that time
is on process 1, put the job as near to beginning of sequence
as possible.
3. If smallest time occurs on process 2, put the job as near to the
end of the sequence as possible.
4. Remove job from list.
5. Repeat steps 2-4 until all slots in matrix are filled and all jobs
are sequenced.
Johnsons Rule
JOB
PROCESS 1
PROCESS 2
A
B
C
D
E
6
11
7
9
5
8
6
3
7
10
Johnsons Rule
E
11
Process 1
(sanding)
20
31
38
Idle time
E
5
A
15
D
23
Completion time = 41
Idle time = 5+1+1+3=10
B
30
Process 2
(painting)
C
37
41
Excel for Johnsons Rule
User inputs processing
times and sequence
Excel calculates
completion times
and makespan
When the set of
jobs is completed
Guidelines for Selecting a
Sequencing Rule
SPT most useful when shop is highly congested
Use SLACK for periods of normal activity
Use DDATE when only small tardiness values can be
tolerated
Use LPT if subcontracting is anticipated
Use FCFS when operating at low-capacity levels
Do not use SPT to sequence jobs that have to be
assembled with other jobs at a later date