You are on page 1of 59

Operations Scheduling

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.):

• Vendor scheduling: JIT scheduling deliveries


• Project scheduling: A project may be broken down into a
set of interrelated tasks. Although some tasks can be
done concurrently, many tasks cannot be started until
others are completed. Complex projects may involve
thousands of individual tasks that must be coordinated for
the project to be completed on time and within budget.
• Dynamic versus static scheduling: Numerous jobs arrive
simultaneously to be processed on a set of machines.

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

If WIP=0 (no buffer between 1 & 2) when Machine1 fails, production


stops and Machine2 becomes idle.
Conflicting objectives: Minimize WIP and Minimize idle time
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.

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

6. Tardiness and lateness:


Tardiness is the positive difference between the completion time (flow
time) and the due date of a job. A tardy job is one that is completed
after its due date.
Lateness is the difference between the job completion time and its due
date, and differs from tardiness in that lateness can be either positive or
negative.
Minimizing the average tardiness and the maximum tardiness is also a
common scheduling objective.

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

• Sum of flow times = 268


• Mean flow time 268/5 =53.6.
• Average tardiness 121/5 =24.2.
• Number of tardy jobs = 3.
• Makespan= 74 (same for all sequences –the time that last job
finished- sum of all processing time)
15
Sequencing Rules - Example
Example (cont):
2.Shortest Processing Time (SPT)
Sort the jobs according to processing time. Start with shortest job.
Jobs sorted by processing time from shortest to longest

=3+11
74-31

• Sum of flow times = 135


• Mean flow time 135/5 =27.0.
• Average tardiness 43/5 =8.6.
• Number of tardy jobs =1.

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

• Sum of flow times =235


• Mean flow time 235/5 =47.0.
• Average tardiness 33/5 =6.6.
• Number of tardy jobs 4.
17
Sequencing Rules - Example
Example (cont):
3.Critical Ratio (CR)
CR= (Duedate – Current time)/Processing time
Main motivation: Provides a balance between EDD and SPT

CR – negative → job is late. Late jobs are scheduled next. If more than
one late job, SPT can be used between late jobs.

Step 1. Compute CRs of all jobs


Step 2. Schedule the next job with smallest CR.
Update Current time to completion time of last scheduled job.
Go back to Step 1 if there are unscheduled jobs remaining.

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

Step 2. Schedule the next job with smallest CR → Job3


Job3 will end at time = 0+31=31 →update current time = 31
Go back to Step 1, Jobs 1,2,4,5 are still unscheduled.

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

Job 4 and 5 has negative CR → Use SPT


Schedule Job4 and then Job5(because of SPT)
Update current time
CurrentTime=60+1(job4 proc.time)+2(job5 pt)=63
Only Job 1 remaining

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’

• Number of different schedules (permutations) = n!

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)

• The mean flow time:

• Open form of mean flow time:

• 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)

Earliest Due Date


MINIMIZES:
• Maximum Lateness

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.

Step 1. Sequence according to EDD. Compute the completion times

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

Append the rejected jobs J1 & J5 to the end.


May use SPT or another rule.

No tardy jobs at this stage. Optimal sequence is 2,3,4,6 & 5,1 OR 2,3,4,6 & 1,5.

Number of tardy jobs=2


27
Sequencing Rules – LAWLER’s Algorithm
For some problems, precedence constraints exist. Precedence constraints
occur when certain jobs must be completed before other jobs can begin.

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

Current schedule (…., 3,5)


Step 1. Determine the set of jobs not required to precede any other.
Set {2,6} → when job 3 is removed, job 2 enters the set
Step 2. All jobs before job 3 will finish at 15-2-4=9.
Tardiness of job 2→ 9-6=3 , Tardiness of job 6→ 9-7 =2 , Schedule 6 as next to last.
Current schedule (….,6,3,5). Go back to step 1.
Step 1. Determine the set of jobs not required to precede any other.
Set {2,4} → when job 6 is removed, job 4 enters the set
Step 2. All jobs before job 6 will finish at 15-2-4-1=8.
Tardiness of job 2→ 8-6=5 , Tardiness of job 4→ 8-7 =1 , Schedule 4 as next to last.
Current schedule (…., 4,6,3,5). Go back to step 1.
Step 1. Determine the set of jobs not required to precede any other. Set={2}
SCHEDULE= (1,2,4,6,3,5) Maximum Tardiness=4

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:

First 2 schedules are known as


Permutation schedules : Jobs
processed in same sequence on both
machines.
For this example their performance is
better for both:
Makespan and Average flow time.

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-…)

Smallest processing time is in B (Job1).


Schedule 1 last. Cross it out.
Current schedule (2-…-1)

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)

Smallest processing time is in B (Job5).


Schedule 5 next to last. Cross it out.
Current schedule (2-4-…5-1)
Only remaining job is 3. Insert it to the schedule. Last schedule=(2-4-3-5-1)
The Gannt chart is below. Notice that there is no idle time between jobs on
Machine A. This is a feature of all optimal schedules.

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)

Smallest processing time is in A’ (Jobs-1,4,5 – a tie).


Schedule 1 first. Cross it out.
Current schedule (1-…-3)

Smallest processing time is in A’ (Jobs-4,5 – a tie).


Schedule 4 & 5 next to first. Cross them out.
Current schedule (1-4-5-…-3). Insert Job2.
Last schedule=(1-4-5-2-3)
Because of the ties, optimal solution is not unique. 37
Two Job Flow Shop
Scheduling two jobs on m Machines – sequences need not be the same
• Two jobs are to be processed through m machines.
• Each job must be processed in a particular order
• Sequences for the two jobs need not be the same.
• Graphical procedure
Objective: Minimize Makespan
Steps:
1. Draw a Cartesian coordinate system with the processing times corresponding
to the first job on the horizontal axis and the second job on the vertical axis. mark
off the operation times in the order for that job.
2. Block out areas corresponding to each machine at the intersection of the
intervals marked for that machine on the two axes.
3. 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 & horizontal distance is the optimal solution.
38
Two Job Flow Shop
Scheduling two jobs on m Machines – sequences need not be the same
Example: A regional manufacturing firm produces 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. Find the optimal schedule.

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 :

• Horizontal loading : Loading each job on all work centers


it will require, then the next job on all work centers,
according to some priority.
ie. Load the machines using procedure with earliest-due-date priority
sequencing rule; Assign operations of the job with earliest due date
first. Assign operations to the first available place in time. Break ties
using SPT.

• Vertical loading : Loading jobs at a work center, job by


job, usually according to some priority criterion.
ie. Load the machines using the shortest-operation-next priority
sequencing rule. Among assignable operations assign the operation with
the shortest processing time first. Assign operations to the first available
place in time. Break ties using EDD.
45
N Job Flow Shop
Example: The Bundy Company produces for three products (A, K, and P).
• Each order goes through the same three machine centers, but not
necessarily in the same sequence.
• Each order must be finished at a machine center before another can
be started. Orders cannot be split.
• The shop works a single eight-hour shift five days per week.
• Assume that the time to move between machines is negligible.
• All three machines are currently available for scheduling, and no
further orders will arrive.

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

So Load in EDD order: P, K, A


Notice K-M2 can fit into time-0-1

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 K to M2 (note the sequence)

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

Load P to M3 & M2 & M1

Sequence: M1:A-K-P, M2:K-A-P, M3:A-K-P

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

• To minimize total makespan, schedule longest jobs first.

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.

Mach2 finish time

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

2. Minimizing Makespan while controlling Mean Flow:


• Step 1: Sequence Jobs in Longest Processing time (LPT) order
• Step 2: Take Jobs from list and assign to the processor with least amount of
assigned time
• Step 3: Reverse scheduled tasks on each processor to set the processing
order

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

Given Order SPT Order LPT Order


Job # Pr. Time Job # Pr. Time Job # Pr. Time
1 5 6 2 4 8
2 6 10 2 5 7
3 3 3 3 2 6
4 8 7 3 1 5
5 7 9 4 8 5
6 2 1 5 9 4
7 3 8 5 3 3
8 5 2 6 7 3
9 4 5 7 6 2
10 2 4 8 10 2
54
Parallel Machines
Example: SPT - Makespan=18,
MeanFlow=((2+5+10+18)+(2+6+12)+(3+8+15))/10=8,1 days
SPT Order Machines
Job # Pr. Time Mach-1 Mach-2 Mach-3
Job6-
6 2 Finish@2
10 2 J10-F2
3 3 J3-F3
7 3 J7-F5 (5=3+2)
9 4 J9-F6
1 5 J1-F8
8 5 J8-F10
2 6 J2-F12
5 7 J5-F15
4 8 J4-F18
55
Parallel Machines
Example: LPT - Makespan=16,
MeanFlow=((8+12+15)+(7+12+14+16)+(6+11+14))/10=11,5 days
LPT Order Machines
Job # Pr. Time Mach-1 Mach-2 Mach-3
4 8 J4-F8
5 7 J5-F7
2 6 J2-F6
1 5 J1-F11
8 5 J8-F12
9 4 J9-F12
3 3 J3-F14
7 3 J5-F15
6 2 J6-F14
10 2 J10-F16
56
Parallel Machines
Example: LPT - REVERSE order for SPT - Makespan=16-same,
MeanFlow=((3+7+15)+(2+4+9+16)+(3+8+14))/10=8,1 days
LPT Order Machines
Job # Pr. Time Mach-1 Mach-2 Mach-3
4 8 J4-F15
5 7 J5-F16
2 6 J2-F14
1 5 J1-F8
8 5 J8-F9
9 4 J9-F7
3 3 J3-F3
7 3 J5-F3
6 2 J6-F4
10 2 J10-F2
57
Stochastic Scheduling
Single Machine
• Uncertainty in the processing times
• Goal: Minimize Expected Average Flow Time (ui→ weights, Fi→ flow
times)

• Optimal sequence: Job i precedes job i+1 if (equivalent to SPT if ui’s are
equal)

• EDD similar to deterministic case

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

You might also like