Chapter 8 Operations Scheduling

67
Chapter 8 Operations Scheduling

description

Chapter 8 Operations Scheduling. MRP Example 1. - PowerPoint PPT Presentation

Transcript of Chapter 8 Operations Scheduling

Page 1: Chapter 8 Operations Scheduling

Chapter 8

Operations Scheduling

Page 2: Chapter 8 Operations Scheduling

MRP Example 1The production manager at Aldershot Manufacturing wishes to The production manager at Aldershot Manufacturing wishes to develop a materials requirements plan for producing chairs over an develop a materials requirements plan for producing chairs over an 8 week period. She estimates that the lead time between releasing 8 week period. She estimates that the lead time between releasing an order to the shop floor and producing a finished chair is 3 weeks. an order to the shop floor and producing a finished chair is 3 weeks. The company currently has 260 chairs in stock and no safety stock. The company currently has 260 chairs in stock and no safety stock. The forecast customer demand is for 150 chairs in week 1, 70 in The forecast customer demand is for 150 chairs in week 1, 70 in week 3, 175 in week 5, 90 in week 7 and 60 in week 8. week 3, 175 in week 5, 90 in week 7 and 60 in week 8.

To produce/order a chair it takes 3 weeks of a leading timeTo produce/order a chair it takes 3 weeks of a leading time

Inventory/Week 1 2 3 4 5 6 7 8

Demand 150 0 70 0 175 0 90 60

On-hand 260 110 110 40 40 -135 -135 -225 -285

Produce/Order 135 90 60

Assumption: no limit on the capacity

Page 3: Chapter 8 Operations Scheduling

MRP Example 1

135

90

60

W1 W2 W3 W4 W5135

W6 W790

W860

1. What is the maximum capacity required for this plan?2. What to do if the maximum available capacity is equal to 160? 3. Is it possible to meet the forecasted demand if the maximum

available capacity is equal to 100?

Page 4: Chapter 8 Operations Scheduling

MRP Example 1 (to be addressed in Ch.8)

What is the minimum required capacity that will allow to meet the forecasted demand?

Round down [8/3] = 2 production cyclesRound up [285/2] = 143 units 143 in one cycle & 142 in the other

With C = 143 and leading time = 3 weeksit is possible to meet the demand on time, if production is started immediately.Inventory:143 units for 1 week143-135 = 8 units for 3weeks142+8-90=60 units for 1 week

8

W1 W2 W3 W4 W5135

W6 W790

W860

60

13582

Page 5: Chapter 8 Operations Scheduling

MRP Example 1 (to be addressed in Ch.8)

Same capacity as on the previous slide: 143 units

With C = 143 and leading time = 3 weeksit is possible to meet the demand on time, if production is started immediately.Inventory:82 units for 1 week7 units for 2 weeksComparing to143 units for 1 week8 units for 3 weeks60 units for 1 week

82

W1 W2 W3 W4 W5135

W6 W790

W860

83

607

143

53

Difference in the inventory costs:[(143-82) x1+(8x3-7x2)+60x1] x cost/unit/week = 131 x cost/unit/week

Page 6: Chapter 8 Operations Scheduling

Scheduling Problems in Operations

Job Shop SchedulingJob Shop Scheduling Personnel SchedulingPersonnel Scheduling Facilities SchedulingFacilities Scheduling Vehicle Scheduling and RoutingVehicle Scheduling and Routing Project ManagementProject Management Dynamic versus Static SchedulingDynamic versus Static Scheduling

Page 7: Chapter 8 Operations Scheduling

The Hierarchy of Production Decisions

Page 8: Chapter 8 Operations Scheduling

Characteristics of the Job Shop Scheduling Problem

Job Arrival PatternJob Arrival Pattern Number and Variety of MachinesNumber and Variety of Machines Number and Skill Level of WorkersNumber and Skill Level of Workers Flow PatternsFlow Patterns Evaluation of Alternative RulesEvaluation of Alternative Rules

Page 9: Chapter 8 Operations Scheduling

Objectives in Job Shop Scheduling

Meet due datesMeet due dates Minimize work-in-process (WIP) inventoryMinimize work-in-process (WIP) inventory Minimize average flow timeMinimize average flow time Maximize machine/worker utilizationMaximize machine/worker utilization Reduce set-up times for changeoversReduce set-up times for changeovers Minimize direct production and labor costsMinimize direct production and labor costs

(note: that these objectives can be conflicting)(note: that these objectives can be conflicting)

Page 10: Chapter 8 Operations Scheduling

Terminology Flow shopFlow shop: shop design in which machines are arranged in series: shop design in which machines are arranged in series

A Pure Flow ShopA Pure Flow Shop

InIn general flow shop general flow shop a job may skip a particular machinea job may skip a particular machine

Machine 1 Machine 2 Machine 3 Machine 4

Input parts

Finished Products

Machine 1 Machine 2 Machine 3 Machine 4

Input parts

Finished Products

Input parts Input parts Input parts

Page 11: Chapter 8 Operations Scheduling

Terminology Job shopJob shop: the sequencing of jobs through machines: 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 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 orderprocessed on machines in any order

Usual job shop contains Usual job shop contains mm machines and machines and nn jobs to be processed jobs to be processed

Each job requires Each job requires mm operations (one on each machine) in a specific order, but the order can be different operations (one on each machine) in a specific order, but the order can be different for each jobfor each job

Real job shops might not require to use all Real job shops might not require to use all mm machines and yet may have to visit some machines more machines and yet may have to visit some machines more than oncethan once

Workflow is not unidirectional in a job shopWorkflow is not unidirectional in a job shop

One Machine in a Job ShopOne Machine in a Job Shop

Machine i

Finished Products

Jobs arriving from WIP

Input parts

Jobs leaving as WIP

Page 12: Chapter 8 Operations Scheduling

Terminology Parallel processing vs. sequential processingParallel processing vs. sequential processing: parallel : parallel

processing means that the machines are identicalprocessing means that the machines are identical

In practice, there are often multiple copies of the same machineIn 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 A job arriving at a work center can be scheduled on any one of a number machines machines more flexibility, complicating the scheduling problem more flexibility, complicating the scheduling problem furtherfurther

A factory might have multiple “identical machines”, purchased from the A factory might have multiple “identical machines”, purchased from the same manufacturer, that produce parts with higher quality on one same manufacturer, that produce parts with higher quality on one machine than on any othermachine than on any other

ScheduleSchedule: provides the order in which jobs are to be executed, : provides the order in which jobs are to be executed, and projects start time for each job at each work centerand projects start time for each job at each work center

SequenceSequence: lists the order in which jobs are to be done: lists the order in which jobs are to be done

Page 13: Chapter 8 Operations Scheduling

Terminology: Performance Measures Average WIP level:Average WIP level: ……….(is exactly what it sounds like)\ ……….(is exactly what it sounds like)\

FlowtimeFlowtime: The amount of time a job spends from the moment it is ready for : 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 until its completion, and includes any waiting time prior to processingprocessing Average WIP level is directly related to the time jobs spend in the shop Average WIP level is directly related to the time jobs spend in the shop

(flowtime)(flowtime)

MakespanMakespan: The total time for all jobs to finish processing: The total time for all jobs to finish processing For a single machine problem, the makespan is the same regardless of the For a single machine problem, the makespan is the same regardless of the

schedule, assuming we do not allow any idle time between jobsschedule, assuming we do not allow any idle time between jobs

Performances that have to do with each job’s due datePerformances that have to do with each job’s due date

Lateness:Lateness: The amount of time a job is past its due date The amount of time a job is past its due date Lateness is a negative number if a job is earlyLateness is a negative number if a job is early

EarlinessEarliness: The amount of time a job a early: The amount of time a job a early

Tardiness:Tardiness: Equals to zero if job is on time or early, and equals to lateness if Equals to zero if job is on time or early, and equals to lateness if the job is latethe job is late

Measures of the cost of production:Measures of the cost of production:Machine utilizationMachine utilization and and labor utilizationlabor utilization are primary measures of shop are primary measures of shop

utilizationutilization

Page 14: Chapter 8 Operations Scheduling

Deterministic Scheduling of a Single Machine: Priority Sequencing Rules Random: Random: Choose the next job at random. Do not use it!Choose the next job at random. Do not use it!

FCFS:FCFS: First Come First Served. Jobs processed in the order they arrive to First Come First Served. Jobs processed in the order they arrive to the shop. Viewed as a “fair” rule.the shop. Viewed as a “fair” rule.

SPT:SPT: Shortest Processing Time. Jobs with the shortest processing time Shortest Processing Time. Jobs with the shortest processing time are scheduled first. Popular method to determine the next homework are scheduled first. Popular method to determine the next homework assignment by many students.assignment by many students.

SWPT:SWPT: Shortest Weighted Processing Time. A weight is assigned to each Shortest Weighted Processing Time. A weight is assigned to each job based on the job’s value (holding cost) or on its cost of delayjob based on the job’s value (holding cost) or on its cost of delay

EDD:EDD: Earliest Due Date. Jobs are sequenced according to their due dates. Earliest Due Date. Jobs are sequenced according to their due dates.

CR:CR: Critical Ratio. Compute the ratio of processing time of the job and 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 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 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 prioritydenominator will be zero, and this job should be given highest priority

(Processing time remaining until completion) / (Due Date – Current Time)(Processing time remaining until completion) / (Due Date – Current Time)

Page 15: Chapter 8 Operations Scheduling

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

JobFCFS Example

Job jJob j pj Dj Cj Fj Lj Ej Tj

11 77 88 77 77 -1-1 11 00

22 11 1212 88 88 -4-4 44 00

33 55 66 1313 1313 77 00 77

44 22 44 1515 1515 1111 00 1111

55 66 1818 2121 2121 33 00 33

AverageAverage 12.812.8 3.23.2 11 4.24.2

MaxMax 2121 1111 44 1111

Processing Due date Completion Flowtime Lateness Earliness Tardiness

FlowtimeFlowtime: The amount of time a : The amount of time a job spends from the moment it is job spends from the moment it is ready for processing until its ready for processing until its completion, and includes any completion, and includes any waiting time prior to processingwaiting time prior to processingEarlinessEarliness: The amount of time a : The amount of time a job a earlyjob a early

Page 16: Chapter 8 Operations Scheduling

SPT Example

Job jJob j pj Dj Cj Fj Lj Ej Tj

22 11 1212 11 11 -11-11 1111 00

44 22 44 33 33 -1-1 11 00

33 55 66 88 88 22 00 22

55 66 1818 1414 1414 -4-4 44 00

11 77 88 2121 2121 1313 00 1313

AverageAverage 9.49.4 -0.2-0.2 3.23.2 33

MaxMax 2121 1313 1111 1313

Processing Due date Completion Flowtime Lateness Earliness Tardiness

Shortest Processing TimeShortest Processing Time

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

is optimal for minimizingis optimal for minimizing Average and Total flowtime Average waiting time Average and Total lateness

Page 17: Chapter 8 Operations Scheduling

SWPT Example

Job jJob j Pj Dj wj pj//wj Cj Fj wjFj Lj Ej Tj

44 22 44 55 0.40.4 22 22 1010 -2-2 22 00

22 11 1212 22 0.50.5 33 33 66 -9-9 99 00

55 66 1818 44 1.51.5 99 99 3636 -9-9 99 00

33 55 66 33 1.671.67 1414 1414 4242 88 00 88

11 77 88 22 3.53.5 2121 2121 4242 1313 00 1313

AveAve 9.89.8 27.227.2 0.20.2 44 4.24.2

MaxMax 2121 4242 1313 99 1313

Shortest Weighted Processing TimeShortest Weighted Processing Time-total weighted down time-total weighted down time

-sequencing-sequencing 424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

n

jjjw FwF

1

n

n

wp

wp

wp

2

2

1

1

Processing Due date Completion Flowtime Lateness Earliness TardinessWeights

Page 18: Chapter 8 Operations Scheduling

EDD ExampleEarliest Due DateEarliest Due Date

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

Job jJob j pj Dj Cj Fj Lj Ej Tj

44 22 44 22 22 -2-2 22 00

33 55 66 77 77 11 00 11

11 77 88 1414 1414 66 00 66

22 11 1212 1515 1515 33 00 33

55 66 1818 2121 2121 33 00 33

AverageAverage 11.811.8 2.22.2 0.40.4 2.62.6

MaxMax 2121 66 22 66

Processing Due date Completion Flowtime Lateness Earliness Tardiness

Page 19: Chapter 8 Operations Scheduling

CR ExampleCritical Ratio:Critical Ratio:

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

Job jJob j pj Dj CRj

11 77 88 0.8750.875

22 11 1212 0.0830.083

33 55 66 0.8330.833

44 22 44 0.5000.500

55 66 1818 0.3330.333

TimeCurrent -Date Due

completion until remaining timeProcessing

Job jJob j pj Dj Dj-CT CRj

22 11 1212 55 0.2000.200

33 55 66 -1-1 -5.000-5.000

44 22 44 -3-3 -0.667-0.667

55 66 1818 1111 0.5450.545

Subtract Current Time

Schedule jobs 1 4 3 2 5

Page 20: Chapter 8 Operations Scheduling

CR Example (cont)

Critical Ratio:Critical Ratio:

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

TimeCurrent -Date Due

completion until remaining timeProcessing

Job jJob j pj Dj Cj Fj Lj Ej Tj

11 77 88 77 77 -1-1 11 00

44 22 44 99 99 55 00 55

33 55 66 1414 1414 88 00 88

22 11 1212 1515 1515 33 00 33

55 66 1818 2121 2121 33 00 33

AverageAverage 13.213.2 3.63.6 0.20.2 3.83.8

MaxMax 2121 88 11 88

Processing Due date Completion Flowtime Lateness Earliness Tardiness

Page 21: Chapter 8 Operations Scheduling

Comparing Methods

MethodMethod Fj Lj Ej Tj

FCFSFCFS AveAve 12.812.8 3.23.2 11 4.24.2

MaxMax 2121 1111 44 1111

SPTSPT AveAve 9.49.4 -0.2-0.2 3.23.2 33

MaxMax 2121 1313 1111 1313

SWPTSWPT AveAve 9.89.8 0.20.2 44 4.24.2

MaxMax 2121 1313 99 1313

EDDEDD AveAve 11.811.8 2.22.2 0.40.4 2.62.6

MaxMax 2121 66 22 66

CRCR AveAve 13.213.2 3.63.6 0.20.2 3.83.8

MaxMax 2121 88 11 88

Page 22: Chapter 8 Operations Scheduling

Results for Single Machine Sequencing

The rule that minimizes the mean flow time of all jobs is SPT.The rule that minimizes the mean flow time of all jobs is SPT.

The following criteria are equivalent: The following criteria are equivalent: Mean flow timeMean flow time Mean waiting time.Mean waiting time. Mean latenessMean lateness

Moore’s algorithmMoore’s algorithm minimizes number of tardy jobs minimizes number of tardy jobs

Lawler’s algorithmLawler’s algorithm minimizes the maximum flow time subject to minimizes the maximum flow time subject to

precedence constraints.precedence constraints.

Page 23: Chapter 8 Operations Scheduling

EDD Example

Earliest Due DateEarliest Due Date

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

424

1212

5

1865

63

871

Due Date, dj, (day)

Processing Time, pj, in Days

Job

Job jJob j pj Dj Cj Fj Lj Ej Tj

44 22 44 22 22 -2-2 22 00

33 55 66 77 77 11 00 11

11 77 88 1414 1414 66 00 66

22 11 1212 1515 1515 33 00 33

55 66 1818 2121 2121 33 00 33

AverageAverage 11.811.8 2.22.2 0.40.4 2.62.6

MaxMax 2121 66 22 66

Processing Due date Completion Flowtime Lateness Earliness Tardiness

Page 24: Chapter 8 Operations Scheduling

Minimizing the Number of Tardy JobsMorre AlgorithmMorre Algorithm

Step 1:Step 1: Sequence the jobs according to EDD rule and initially put Sequence the jobs according to EDD rule and initially put all jobs in set Vall jobs in set V

Step 2:Step 2: Find the first tardy job in set V {say it is job [k] in the 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}. If there are no tardy jobs in the set V, stop; the sequence is optimalsequence is optimal

Step 3:Step 3: Select the job with largest processing time among first k Select the job with largest processing time among first k jobs. Place this job in set U. Go to step 2jobs. Place this job in set U. Go to step 2

Comments:Comments:

1. 1. Placing a job in set U means that it will be tardy and will Placing a job in set U means that it will be tardy and will occupy a position in sequence after all nontardy jobsoccupy a position in sequence after all nontardy jobs

2. 2. Tardy jobs nay be schedules in any order because the Tardy jobs nay be schedules in any order because the performance measure is the number of tardy jobsperformance measure is the number of tardy jobs

Page 25: Chapter 8 Operations Scheduling

Example Moore AlgorithmJob 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

Iteration 1

Iteration 2

Iteration 3

Page 26: Chapter 8 Operations Scheduling

Lawler’s Algorithm

Goal:Goal: Scheduling a set of simultaneously arriving tasks on one Scheduling a set of simultaneously arriving tasks on one machine with machine with precedence constraintsprecedence constraints to minimize to minimize

maximum maximum lateness (tardiness).lateness (tardiness).

Precedence constraintsPrecedence constraints occur when certain jobs must be occur when certain jobs must be completed before other jobs can begin.completed before other jobs can begin.

Algorithm:Algorithm:Tasks are ordered from last order to complete and finishing Tasks are ordered from last order to complete and finishing with first.with first.

At each step selection is made from the jobs that are not At each step selection is made from the jobs that are not required to precede any other unscheduled job.required to precede any other unscheduled job.

Select a job that achievesSelect a job that achieves iiVi

dF

min

Page 27: Chapter 8 Operations Scheduling

Lawler’s Example:Processing for all jobs is 1 day

1

2 3

4 5 6

D1=2

D2=5 D3=4

D4=3 D5=5 D6=6

One machine Ffinal = 1+1+1+1+1+1 = 61) Select from jobs {4,5,6} such that gives

min{6-3, 6-5, 6-6}=0 job 6 is a last job2) Recalculate F: F = 6-1= 5 Select from jobs {3,4,5} such that gives min{5-4, 5-3, 5-5}=0 order x-x-x-x-5-6

3) Recalculate F: F = 5-1= 4 Select from jobs {3,4} such that gives min{4-4, 4-3}=0 order x-x-x-3-5-64) Recalculate F: F = 4-1= 3 Select from jobs set {4} order x-x-4-3-5-6

5) Recalculate F: F = 3-1= 2 Select from jobs set {2} order x-2-4-3-5-6

6) Recalculate F: F = 2-1= 1 Select from jobs set {1} order 1-2-4-3-5-6

Page 28: Chapter 8 Operations Scheduling

Lawler’s Example:

Job jJob j pj Dj Cj Fj Lj Ej Tj

11 11 22 11 11 -1-1 11 00

22 11 55 22 22 -3-3 33 00

44 11 33 33 33 00 00 00

33 11 44 44 44 00 00 00

55 11 55 55 55 00 00 00

66 11 66 66 66 00 00 00

AverageAverage 3.53.5 -0.67-0.67 0.670.67 00

MaxMax 66 00 33 00

Processing Due date Completion Flowtime Lateness Earliness Tardiness

Processing for all jobs is 1 day

1

2 3

4 5 6

D1=2

D2=5 D3=4

D4=3 D5=5 D6=6

Production is done in next order:1 – 2 – 4 – 3 – 5 – 6

Lawler’s algorithmLawler’s algorithm minimizes the maximum minimizes the maximum flow time subject to precedence constraintsflow time subject to precedence constraints

Page 29: Chapter 8 Operations Scheduling

Gantt Charts

Pictorial representation of a schedule is called Pictorial representation of a schedule is called Gantt ChartGantt Chart

The purpose of the chart is to graphically display the state The purpose of the chart is to graphically display the state of each machine at all timesof each machine at all times

Horizontal axis – timeHorizontal axis – timeVertical axis – machines 1, 2, …, mVertical axis – machines 1, 2, …, m

11 2

2

3 5 6 11

Machine 1Machine 2

Time (days)

Question: Is it an optimal schedule? Are there any precedence constrains?

Processing Job 1 Job 2

Machine 1 3 5

Machine 2 2 1

Processing Job 1 Job 2

Machine 1 3/1 5/2

Machine 2 2/2 1/1

Page 30: Chapter 8 Operations Scheduling

Gantt Charts

Processing Job 1 Job 2

Machine 1 3 5

Machine 2 2 1

Processing Job 1 Job 2

Machine 1 3/1 5/2

Machine 2 2/2 1/1

11 2

2

3 5 6 11

Machine 1Machine 2

Time (days)8

112

2

3 5 6 11

Machine 1Machine 2

Time (days)8

11 2

2

3 5 6 11

Machine 1Machine 2

Time (days)8Question: How to determine THE optimal solution?

What makes scheduling problem more difficult?

Page 31: Chapter 8 Operations Scheduling

ExampleProcessing time / machine numberProcessing time / machine number

JobJob Operation Operation 11

Operation Operation 22

Operation Operation 33

Release Release datedate

Due Due datedate

11 4/14/1 3/23/2 2/32/3 00 1616

22 1/21/2 4/14/1 4/34/3 00 1414

33 3/33/3 2/22/2 3/13/1 00 1010

44 3/23/2 3/33/3 1/11/1 00 88

M 1

M 3

M 2

Find a solution!

1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

3 24132 4

312 4

Page 32: Chapter 8 Operations Scheduling

Deterministic Scheduling with Multiple Machines

For the case of For the case of mm machines and machines and nn jobs, there are jobs, there are n!n! distinct distinct sequenced on each machine (permutations), so sequenced on each machine (permutations), so (n!)(n!)mm is the total is the total number of possible schedulesnumber of possible schedules

For For m m = 3 and = 3 and n n = 4, total number of possible schedules is = 4, total number of possible schedules is 242433=13,824=13,824

The optimal solution for scheduling The optimal solution for scheduling nn jobs on two machines is jobs on two machines is always a permutation schedule always a permutation schedule

Assume flow shop: in each job operations have to be done on both Assume flow shop: in each job operations have to be done on both machinesmachines

Permutation schedule = jobs are done in the same order on both Permutation schedule = jobs are done in the same order on both machines machines

This is the basis for Johnson’s algorithmThis is the basis for Johnson’s algorithm

Page 33: Chapter 8 Operations Scheduling

Example

JobsJobs

MachinesMachines 11 22 33 44 Total timeTotal time

11 55 44 33 22 1414

22 22 55 22 66 1515

Is it optimal?

MetalFrame makes 4 different types of metal door frames.Preparing the hinge upright is a two-step operation.

Natural schedule:

7 14 16 22

12

3 41

243

If idle time is equal to zero, then we have found an optimal solutionIf idle time is equal to zero, then we have found an optimal solution

Page 34: Chapter 8 Operations Scheduling

Deterministic Scheduling with Multiple Machines: Johnson’s Rule

Name Machine 1 = A, Machine 2 = B, Name Machine 1 = A, Machine 2 = B,

then then aaii = processing time for job i on A = processing time for job i on A

and and bbii = processing time for job i on B = processing time for job i on B

Johnson’s Rule says that job Johnson’s Rule says that job ii precedes job precedes job jj in the optimal sequence if in the optimal sequence if

Algorithm:Algorithm: Step 1:Step 1: Record the values of Record the values of aaii and and bbjj in two columns in two columns

Step 2:Step 2: Find the smallest remaining value in two columns. If this value in Find the smallest remaining value in two columns. If this value in column column aa, schedule this job in the first open position in the sequence; if this , schedule this job in the first open position in the sequence; if this value in column value in column bb, schedule this job in the last open position in the , schedule this job in the last open position in the sequence; Cross off each job as it is scheduled sequence; Cross off each job as it is scheduled

ijji baba ,min,min

ijji baba ,min,min

Page 35: Chapter 8 Operations Scheduling

Example (cont) JobsJobs

MachinesMachines 11 22 33 44 Total timeTotal time

11 55 44 33 22 1414

22 22 55 22 66 1515

Johnson’s schedule:4 – x – x – x

jobjob AA BB

11 55 22

22 44 55

33 33 22

44 22 66

4 – x – x – 3

4 – x – 1 – 3

4 – 2 – 1 – 3

Natural schedule:

7 14 17 22

12

341

24 3Johnson’s schedule:

Is it optimal?

7 14 16 22

12

3 41

243

Page 36: Chapter 8 Operations Scheduling

Results for Multiple Machines

For three machines, a permutation schedule is still For three machines, a permutation schedule is still optimal if we restrict attention to total flow time only optimal if we restrict attention to total flow time only (not necessarily the case for average flow time). (not necessarily the case for average flow time).

Under some circumstances, the two machine algorithm Under some circumstances, the two machine algorithm can be used to solve the three machine case:can be used to solve the three machine case: Label the machines A, B and CLabel the machines A, B and C

oror

Redefine ARedefine Aii’= A’= Ai i + B+ Bi i and Band Bii’= B’= Bi i + C+ Ci i

When scheduling two jobs on m machines, the problem When scheduling two jobs on m machines, the problem can be solved by graphical means. can be solved by graphical means.

iforBA ii ,maxmin iforBC ii ,maxmin

Page 37: Chapter 8 Operations Scheduling

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

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

Page 38: Chapter 8 Operations Scheduling

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 1Job 1 Job2Job2

OperationOperation TimeTime OperationOperation TimeTime

Sanding (A)Sanding (A) 33 AA 22

Lacquering (B)Lacquering (B) 44 BB 55

Polishing (C)Polishing (C) 55 CC 33

Page 39: Chapter 8 Operations Scheduling

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.

10+(3+2)=15 or

or 10+6=16

Job 1Job 1 Job2Job2

TimeTime TimeTime

AA 33 AA 22

BB 44 BB 55

CC 55 CC 33

Page 40: Chapter 8 Operations Scheduling

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Example

Job 1Job 1 Job2Job2

Order & Order & OperationOperation

TimeTime Order & Order & OperationOperation

TimeTime

BB 33 AA 22

DD 44 DD 55

CC 22 BB 44

AA 55 CC 33

B D C A

A

D

B

C

A

C

D

B

F

14+4=1814+4=18

14+2+2=18

7 11 15 18

BA

D CB

ACDJ1

J2

BA

D CB

ACDJ1

J2

Page 41: Chapter 8 Operations Scheduling

Schematic of a Typical Assembly LineThe 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

Page 42: Chapter 8 Operations Scheduling

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

The total work content (time) associated with the production of an item, say T, is given by

Assembly Line Balancing

n

iitT

1

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

Page 43: Chapter 8 Operations Scheduling

Assembly Line BalancingExample 8.11

The Final assembly of Noname personal computers, a generic mail-order 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.

Page 44: Chapter 8 Operations Scheduling

Assembly Line BalancingPreconditionThe job times and precedence relationships for this problem are summarized in

the table below.

TaskTask Immediate PredecessorsImmediate Predecessors TimeTime11 __ 1212

22 11 66

33 22 66

44 22 22

55 22 22

66 22 1212

77 3, 43, 4 77

88 77 55

99 55 11

1010 9, 69, 6 44

1111 8, 108, 10 66

1212 1111 77

ti=70, and the production rate is a unit/15 minutes;The minimum number of workstations = [70/15]=5

Page 45: Chapter 8 Operations Scheduling

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.

t3+t7+t8+t11+t12=31TaskTask Positional WeightPositional Weight

11 7070

22 5858

33 3131

44 2727

55 2020

66 2929

77 2525

88 1818

99 1818

1010 1717

1111 1313

1212 77The ranking: 1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 12

Page 46: Chapter 8 Operations Scheduling

Assembly Line Balancing: Helgeson and Birnie Heuristic (1961)

The ranking: 1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 12

TaskTask Immediate Immediate PredecessorsPredecessors

TimeTime

11 __ 1212

22 11 6633 22 6644 22 2255 22 2266 22 121277 3, 43, 4 7788 77 5599 55 11

1010 9, 69, 6 441111 8, 108, 10 661212 1111 77

StationStation 11 22 33 44 55 66

TasksTasks 11 2, 3, 42, 3, 4 5, 6, 95, 6, 9 7, 87, 8 10, 1110, 11 1212

Processing timeProcessing time 1212 1414 1515 1212 1010 77

Idle timeIdle time 33 11 00 33 55 88

C=15

Page 47: Chapter 8 Operations Scheduling

T2=6

C=15

StationStation 11 22 33 44 55 66

TasksTasks 11 2,3,42,3,4 5,6,95,6,9 7,87,8 10,1110,11 1212

Processing timeProcessing time 1212 1414 1515 1212 1010 77

Idle timeIdle time 33 11 00 33 55 88

Cycle Time=15

T1=12

T2=6 T3=6 T4=2

T5=2 T6=12 T9=1

T5=2

T8=5T7=7 T10=4

T10=4 T11=6 T12=7

T12=7

15Evaluate 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)

Page 48: Chapter 8 Operations Scheduling

C=15

StationStation 11 22 33 44 55 66

TasksTasks 11 2,3,42,3,4 5,6,95,6,9 7,87,8 10,1110,11 1212

Processing timeProcessing time 1212 1414 1515 1212 1010 77

Idle timeIdle time 33 11 00 33 55 88

Helgeson and Birnie Heuristic (1961)

StationStation 11 22 33 44 55

TasksTasks 11 2,3,4,52,3,4,5 6,96,9 7,8,107,8,10 11,1211,12

Idle timeIdle time 44 00 33 00 33

C=16 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;

StationStation 11 22 33 44 55 66

TasksTasks 11 2,32,3 66 4,5,7,94,5,7,9 8,108,10 11,1211,12

Idle timeIdle time 11 11 11 11 44 00

C=13

Page 49: Chapter 8 Operations Scheduling

C=15

StationStation 11 22 33 44 55 66

TasksTasks 11 2,3,42,3,4 5,6,95,6,9 7,87,8 10,1110,11 1212

Processing timeProcessing time 1212 1414 1515 1212 1010 77

Idle timeIdle time 33 11 00 33 55 88

Helgeson and Birnie Heuristic (1961)

StationStation 11 22 33 44 55

TasksTasks 11 2,3,4,52,3,4,5 6,96,9 7,8,107,8,10 11,1211,12

Idle timeIdle time 44 00 33 00 33

C=16

StationStation 11 22 33 44 55 66

TasksTasks 11 2,32,3 66 4,5,7,94,5,7,9 8,108,10 11,1211,12

Idle timeIdle time 11 11 11 11 44 00

C=13

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;

Page 50: Chapter 8 Operations Scheduling

Stochastic Scheduling: Static Case

Single machine caseSingle machine case. Suppose that processing times are random . Suppose that processing times are random variables. If the objective is to minimize average weighted flow variables. If the objective is to minimize average weighted flow time, jobs are sequenced according to expected weighted SPT. time, jobs are sequenced according to expected weighted SPT. That is, if job times are That is, if job times are tt11, t, t22, . . ., , . . ., and the respective weights are and the respective weights are uu11, u, u22, . . . , . . . then job then job ii precedes job precedes job i+1 i+1 if if

E(tE(tii)/u)/uii < E(t < E(ti+1i+1)/u)/ui+1i+1

Multiple Machines:Multiple Machines: Requires the assumption that the distribution Requires the assumption that the distribution of job times is exponential, (memoryless property). Assume of job times is exponential, (memoryless property). Assume parallel processing of n jobs on two machines. Then the optimal parallel processing of n jobs on two machines. Then the optimal sequence is to to schedule the jobs according to LEPT (longest sequence is to to schedule the jobs according to LEPT (longest expected processing time first). expected processing time first).

Johnsons algorithmJohnsons algorithm for scheduling for scheduling nn jobs on two machines in the jobs on two machines in the deterministic case has a natural extension to the stochastic case as deterministic case has a natural extension to the stochastic case as long as the job times are exponentially distributed. long as the job times are exponentially distributed.

Page 51: Chapter 8 Operations Scheduling

Stochastic Scheduling: Queueing TheoryA typical queueing processA typical queueing process

““The basic phenomenon of queueing arises whenever a shared facility needs to 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)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.” The study of the waiting times, lengths, and other properties of queues.” (Mathworld)(Mathworld)

Applications:Applications:

Telecommunications Health services Traffic control Predicting computer performanceDetermining the sequence of computer operationsAirport traffic, airline ticket sales Layout of manufacturing systems

Service FacilityCustomers arriving Served customers leaving

Discouraged customers leaving

Page 52: Chapter 8 Operations Scheduling

Examples of Queueing Theory

http://www.bsbpa.umkc.edu/classes/ashley/Chaptr14/sld006.htm

Page 53: Chapter 8 Operations Scheduling

Stochastic Scheduling: Dynamic Analysis

View network as collections of queues View network as collections of queues FIFO data-structures FIFO data-structures

Queuing theory provides probabilistic analysis of these queuesQueuing theory provides probabilistic analysis of these queues

Typical operating characteristics of interest include:Typical operating characteristics of interest include: LLqq = Average number of units in line waiting for service = Average number of units in line waiting for service L = Average number of units in the system (in line waiting for service L = Average number of units in the system (in line waiting for service

and being serviced)and being serviced) WWqq = Average time a unit spends in line waiting for service = Average time a unit spends in line waiting for service WW = Average time a unit spends in the system = Average time a unit spends in the system PPww = Probability that an arriving unit has to wait for service = Probability that an arriving unit has to wait for service PPnn = Probability of having exactly = Probability of having exactly nn units in the system units in the system PP00 = Probability of having no units in the system (idle time) = Probability of having no units in the system (idle time) U = Utilization factor, % of time that all servers are busyU = Utilization factor, % of time that all servers are busy

Page 54: Chapter 8 Operations Scheduling

Characteristics of Queueing Processes

Arrival pattern of customersArrival pattern of customers

Service pattern of serversService pattern of servers

Queue disciplineQueue discipline

System capacitySystem capacity

Number of service channelsNumber of service channels

Number of service stages Number of service stages

Page 55: Chapter 8 Operations Scheduling

Characteristics of Queueing Processes

Arrival pattern of customersArrival pattern of customers Probability distribution describing the times between Probability distribution describing the times between

successive customer arrivalssuccessive customer arrivals Time independent Time independent Stationary arrival patternsStationary arrival patterns Time dependent Time dependent Non-stationary Non-stationary

Batch or Bulk customer arrivalsBatch or Bulk customer arrivals Probability distribution describing the size of the batchProbability distribution describing the size of the batch

Customers behavior while waitingCustomers behavior while waiting Wait no matter how long the queue becomesWait no matter how long the queue becomes If the queue is too long, customer may choose not to enter into the If the queue is too long, customer may choose not to enter into the

systemsystem Enter, wait, and choose to leave without being servicedEnter, wait, and choose to leave without being serviced If there is more than one waiting line, customer may switch “jockey”If there is more than one waiting line, customer may switch “jockey”

Page 56: Chapter 8 Operations Scheduling

Characteristics of Queueing Processes

Arrival pattern of customersArrival pattern of customers Service pattern of serversService pattern of servers

Single or BatchSingle or Batch May depend on the number of customers waiting May depend on the number of customers waiting state state

dependentdependent Stationary or Non-stationaryStationary or Non-stationary

Queue disciplineQueue discipline Manner in with customers are selected to serviceManner in with customers are selected to service First Come First Served (FCFS)First Come First Served (FCFS) Last Come First Served (LCLS)Last Come First Served (LCLS) Random Selection for Service (RSS)Random Selection for Service (RSS) Priority SchemesPriority Schemes

Preemptive casePreemptive case Non-preemptive caseNon-preemptive case

Page 57: Chapter 8 Operations Scheduling

Characteristics of Queueing Processes

Arrival pattern of customersArrival pattern of customers Service pattern of serversService pattern of servers Queue disciplineQueue discipline System capacitySystem capacity

Finite queueing situations = Limiting amount of waiting roomFinite queueing situations = Limiting amount of waiting room Number of service channelsNumber of service channels

Single-channel systemSingle-channel system Multi-channel system, generally assumed that parallel channels Multi-channel system, generally assumed that parallel channels

operate independently of each otheroperate independently of each other Number of service stages Number of service stages

Page 58: Chapter 8 Operations Scheduling

Notation Used in Queueing Processes

Full notation: Full notation: A / B / X / Y / Z A / B / X / Y / Z Shorthand: Shorthand: A / B / A / B / XX

AA – indicates the interarrival-time distribution – indicates the interarrival-time distribution Assumes: Y is infinity, Assumes: Y is infinity,

B – the probability distribution for service timeB – the probability distribution for service time Z = FCFS Z = FCFS

X – number of parallel service channelsX – number of parallel service channels

Y – the restriction on system capacityY – the restriction on system capacity

Z – the queue discipline (FCFS)Z – the queue discipline (FCFS)Symbol = ExplanationSymbol = Explanation

AA

BB

M = Exponential, D = Deterministic, EM = Exponential, D = Deterministic, Ekk = Erlang type = Erlang type

HHkk = Mixture of k exponentials, PH = Phase type, G = General = Mixture of k exponentials, PH = Phase type, G = General

XX

YY

1, 2, ... , infinity1, 2, ... , infinity

1, 2, ... , infinity1, 2, ... , infinity

ZZ FCFS, LCLS, RSS, PR = priority, GD = general disciplineFCFS, LCLS, RSS, PR = priority, GD = general discipline

Page 59: Chapter 8 Operations Scheduling

Queueing Processes: Little’s Formulas

One of the most powerful relationships in queueing theory was One of the most powerful relationships in queueing theory was developed by John D.C. Little in the early 1960s. developed by John D.C. Little in the early 1960s.

Formulas:Formulas:

andand , ,

where where λλ is an is an average rate of customers entering the system, andaverage rate of customers entering the system, and

W is an expected time customer will spend in the systemW is an expected time customer will spend in the system

WL qq WL

1

2

3

Number of customersin system

Time, tt1 t2 t3 t4 t5 t6 t7 T

Page 60: Chapter 8 Operations Scheduling

Poisson Process & Exponential Distribution

Inter-arrival time Inter-arrival time t t (time between arrivals) in a Poisson process (time between arrivals) in a Poisson process follows exponential distribution with parameter follows exponential distribution with parameter λλ

M: stands for "Markovian", implying exponential distribution for M: stands for "Markovian", implying exponential distribution for service times or inter-arrival times, that carries the memoryless service times or inter-arrival times, that carries the memoryless property property past state of the system does not help to predict next arrival / departurepast state of the system does not help to predict next arrival / departure

1)(

)Pr(

tE

et t

n+1nn-1

Page 61: Chapter 8 Operations Scheduling

Calculating Expected System Measures for M/M/1

The utilization rate: The utilization rate: ρρ = = λλ / / μμ

PP0 0 = 1 – = 1 – ρρ

PPi i = = ρρii(1 – (1 – ρρ), for i = 1, 2, 3,), for i = 1, 2, 3,

……

these formulas hold only ifthese formulas hold only if <<

210

CHARACTERISTICCHARACTERISTIC SYMBOLSYMBOL FORMULA FORMULA

UtilizationUtilization ρρ λλ / / μμ Exp. No. in SystemExp. No. in System LL λλ / ( / (μμ – λλ) = ) = ρρ / (1- / (1-ρρ))Exp. No. in QueueExp. No. in Queue LLqq λλ22/ / μμ((μμ – – λλ) = ) = ρρ22 / (1- / (1-ρρ))

Exp. Waiting TimeExp. Waiting Time W=L/ W=L/ λλ 11 / (/ (μμ – – λλ) = ) = ρρ / / λλ(1-(1-ρρ))Exp. Time in QueueExp. Time in Queue WWqq=L=Lqq/ / λλ λλ / / μμ((μμ – – λλ) = ) = ρρ22 / / λλ(1-(1-ρρ))

Prob. System is EmptyProb. System is Empty PP00 1 – (1 – (λλ / / μμ) = 1 - ) = 1 - ρρ

Page 62: Chapter 8 Operations Scheduling

Calculating Expected System Measures for M/M/m

http://www.ece.msstate.edu/~hu/courses/spring03/notes/note4.ppt

Page 63: Chapter 8 Operations Scheduling

Calculating Expected System Measures for M/M/m

AssumptionAssumption

- m servers- m servers

- all servers have the same service rate - all servers have the same service rate μμ

- single queue for access to the servers- single queue for access to the servers

- arrival rate - arrival rate λλnn = = λλ

- departure rate - departure rate

……

,1,,

1,,2,1,0,

mmnm

mnnn

m-1 m m+1210

λ λ λ λ λ λ

λ

mμmμ(m-1)μ3μ2μμ

Page 64: Chapter 8 Operations Scheduling

Calculating Expected System Measures for M/M/m

1

11

00 1

!!

m

m

n

mP

mm

n

n

02

1

1!P

m

mL

mm

q

mLL q qq LW 1 qWW

m-1 m m+1210

λ λ λ λ λ λ

λ

mμmμ(m-1)μ3μ2μμ

Page 65: Chapter 8 Operations Scheduling

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/http://www.geocities.com/qtsplus/DownloadInstructions.htm#DOWNLOAD_INSTRUCTIONSDownloadInstructions.htm#DOWNLOAD_INSTRUCTIONS

Page 66: Chapter 8 Operations Scheduling

Homework Assignment

Read Ch. 8 (8.1 – 8.10) Read Ch. 8 (8.1 – 8.10) Read Supplement Two (S2.1 - S2.13)Read Supplement Two (S2.1 - S2.13) 8.4, 8.5, 8.7, 8.12, 8.15, 8.4, 8.5, 8.7, 8.12, 8.15, 8.18, 8.23, 8.25, 8. 27, 8.288.18, 8.23, 8.25, 8. 27, 8.28

Page 67: Chapter 8 Operations Scheduling

References

Presentation by McGraw-Hill/IrwinPresentation by McGraw-Hill/Irwin

Presentation by Professor JIANG Zhibin, Department of Industrial Presentation by Professor JIANG Zhibin, Department of Industrial Engineering & Management, Shanghai Jiao Tong UniversityEngineering & Management, Shanghai Jiao Tong University

““Production & Operations Analysis” by S.NahmiasProduction & Operations Analysis” by S.Nahmias

““Production: Planning, Control, and Integration” by Sipper and Bulfin Jr.Production: Planning, Control, and Integration” by Sipper and Bulfin Jr.

““Inventory Management and Production Planning and Scheduling” by Inventory Management and Production Planning and Scheduling” by Silver, Pyke and PetersonSilver, Pyke and Peterson

““Fundamentals of Queueing Theory” by Cross and HarrisFundamentals of Queueing Theory” by Cross and Harris

http://www.geocities.com/qtsplus/DownloadInstructions.htm#DOWNLOhttp://www.geocities.com/qtsplus/DownloadInstructions.htm#DOWNLOAD_INSTRUCTIONSAD_INSTRUCTIONS QTS analysis for Excel QTS analysis for Excel