Factory Physics?
Download
Report
Transcript Factory Physics?
TM 663
Operations Planning
November 28,2011
Paula Jensen
Chapter 15:
Production
Scheduling
Agenda
Factory Physics
Chapter 15: Production Scheduling
(New Assignment
Chapter 15 problems 1-3)
Production Scheduling
Let all things be done decently and in order.
– I Corinthians
Goals of Production Scheduling
High Customer Service: on-time delivery
Low Inventory Levels: WIP and FGI
High Utilization: of machines
Meeting Due Dates – Measures
Service Level:
• Used typically in make to
order systems.
• Fraction of orders which are
filled on or before their due
dates.
Fill Rate:
• Used typically in make to
stock systems.
• Fraction of demands met
from stock.
Lateness:
• Used in shop floor control.
• Difference between order due date
and completion date.
• Average lateness has little meaning.
• Better measure is lateness variance.
Tardiness:
• Used in shop floor control.
• Is equal to the lateness of a job if it
is late and zero, otherwise.
• Average tardiness is meaningful but
unintuitive.
Reducing WIP and Cycle Time
Less WIP Equals Shorter Cycle Times (Little’s Law)
Benefits of shorter cycle times:
• Lower Cost: less money in inventory
• More Flexibility: less disruptive to change backlog that work in
process
• Better Quality: faster defect detection
• Less Reliance on Forecasts: cycle times below frozen zone allow
make to order
• Better Forecasts: distant (inaccurate) forecasts are no longer needed
Classic Scheduling – Assumptions
MRP/ERP:
• Benefits – Simple paradigm, hierarchical approach.
• Problems –
– MRP assumes that lead times are an attribute of the part,
independent of the status of the shop.
– MRP uses pessimistic lead time estimates.
Classic Scheduling – Assumptions (cont.)
Classic Scheduling: (only classic in academia)
• Benefits – “Optimal” schedules
• Problems – Bad assumptions.
– All jobs available at the start of the problem.
– Deterministic processing times.
– No setups.
– No machine breakdowns.
– No preemption.
– No cancellation.
Classic Single Machine Results
Minimizing Average Cycle Time:
• Minimize by performing in “shortest process time” (SPT) order.
• Makespan is not affected.
Minimizing Maximum Lateness (or Tardiness):
• Minimize by performing in “earliest due date” (EDD) order.
• Makespan is not affected.
• If there exists a sequence with no tardy jobs, EDD will do it.
Minimizing Average Tardiness:
• No simple sequencing rule will work. Problem is NP Hard.
• Makespan is not affected.
Classic Multi Machine Results
Minimizing “Makespan” on Two Machines: given a set of jobs that
must go through a sequence of two machines, what sequence will yield the
minimum makespan?
• Makespan is sequence dependent.
• Simple algorithm (Johnson 1954):
1. Sort the times of the jobs on the two machines in two lists.
2. Find the shortest time in either list and remove job from both lists.
– If time came from first list, place job in first available position.
– If time came from second list, place job in last available
position in sequence.
3. Repeat until lists are exhausted.
The resulting sequence will minimize makespan.
Johnson’s Algorithm Example
Data:
Job
1
2
3
Time on M1
4
7
6
Time on M2
9
10
5
Iteration 1: min time is 4 (job 1 on M1); place this job first and remove
from lists:
List 1
4 (1)
6 (3)
7 (2)
List 2
5 (3)
9 (1)
10 (2)
Johnson’s Algorithm Example (cont.)
Iteration 2: min time is 5 (job 3 on M2); place this job last and remove
from lists:
List 1
6 (3)
7 (2)
List 2
5 (3)
10 (2)
Iteration 3: only job left is job 2; place in remaining position (middle).
Final Sequence: 1-2-3
Makespan: 28
Gantt Chart for Johnson’s Algorithm Example
Machine 1
1
2
Machine 2
Time
3
1
1
2
3
4
5
6
Short task on M1 to
“load up” quickly.
7
8
2
3
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Short task on M2 to
“clear out” quickly.
Classic Dispatching Results
Optimal Schedules: Impossible to find for most real problems.
Dispatching: sorts jobs as they arrive at a machine.
Dispatching rules:
• FIFO – simplest, seems “fair”.
• SPT – Actually works quite well with tight due dates.
– (shortest process time)
• EDD – Works well when jobs are mostly the same size.
• Many (100?) others.
Problems with Dispatching:
• Cannot be optimal (can be bad).
• Tends to be myopic.
The Difficulty of Scheduling Problems
Dilemma:
9E+22
• Too hard for optimal solutions.
• Need something anyway.
8E+22
7E+22
6E+22
Classifying “Hardness”:
5E+22
• Class P: has a polynomial solution.
• Class NP: has no polynomial solution.
Example: Sequencing problems grow as n!.
3E+22
en/10000
4E+22
2E+22
10000n10
1E+22
0
56
57
58
• Compare
and
– At n = 40, en/10000 = 2.4 1013, 10000n10 = 1.0 1020
– At n = 80, en/10000 = 5.5 1030, 10000n10 = 1.1 1023
• 3! = 6, 4! = 24, 5! = 120, 6! = 720, … 10! =3,628,800, while
13! = 6,227,020,800
25!= 15,511,210,043,330,985,984,000,000
en/10000
10000n10.
59
60
61
62
63
Computation Times
Current situation: computer can examine 1,000,000 sequences per
second and we wish to build a scheduling system that has response
time of no longer than one minute. How many jobs can we sequence
optimally?
Number of Jobs
5
6
7
8
9
10
11
12
13
14
15
20
Computer Time
0.12 millisec
0.72 millisec
5.04 millisec
40.32 millisec
0.36 sec
3.63 sec
39.92 sec
7.98 min
1.73 hr
24.22 hr
15.14 day
77,147 years
Effect of Faster Computers
Future Situation: New computer is 1,000 times faster, i.e. it can do 1
billion comparisons per second. How many jobs can we sequence
optimally now?
Number of Jobs
5
6
7
8
9
10
11
12
13
14
15
20
Computer Time
0.12 microsec
0.72 microsec
5.04 microsec
40.32 microsec
362.88 microsec
3.63 millisec
39.92 millisec
479.00 millisec
6.23 sec
87.18 sec
21.79 min
77,147 years
Polynomial vs. Non-Polynomial Algorithms
Polynomial Example: dispatching (sorting) time goes up as n log n.
Suppose, for comparison, that is takes the same amount of time to sort
10 jobs as it does to examine the 10! sequences. How large a problem
can we solve using dispatching?
Number of Jobs
10
11
12
.
20
30
.
80
85
90
.
100
200
Computer Time
3.6 sec
4.1 sec
4.7 sec
.
9.4 sec
16.1 sec
.
55.2 sec
59.5 sec
63.8 sec
.
72.6 sec
167.0 sec
Effect of Faster Computer
Situation: New computer 1000 times faster. How much does the size of
dispatching problem we can solve increase?
Number of Jobs
1000
2000
3000
.
10,000
20,000
30,000
35,000
36,000
.
50,000
100,000
200,000
Computer Time
1.1 sec
2.4 sec
3.8 sec
.
14.5 sec
31.2 sec
48.7 sec
57.7 sec
59.5 sec
.
85.3 sec
181.4 sec
384.7 sec
Implications for Real Problems
Computation: NP algorithms are slow to use.
No Technology Fix: Faster computers don’t help on NP algorithm.
Scheduling is Hard: Real scheduling problems tend to be NP Hard.
Scheduling is Big: Real scheduling problems also tend to be quite
large; impossible to solve optimally.
Implications for Real Problems (cont.)
Robustness? NP hard problems have many solutions, and presumably
many “good” ones.
• Example: 25 job sequencing problem. Suppose that only one in a
trillion of the possible solutions is “good”. This still leaves 15
trillion “good” solutions. Our task is to find one of these.
Role of Heuristics: Polynomial algorithms can be used to obtain
“good” solutions. Example heuristics include:
• Simulated Annealing
• Tabu Search
• Genetic Algorithms
The Bad News
Violation of Assumptions: Most “real-world” scheduling problems
violate the assumptions made in the classic literature:
• There are always more than two machines.
• Process times are not deterministic.
• All jobs are not ready at the beginning of the problem.
• Process time are sequence dependent.
Problem Difficulty: Most “real-world” production scheduling
problems are NP-hard.
• We cannot hope to find optimal solutions of
realistic sized scheduling problems.
• Polynomial approaches, like dispatching, may
not work well.
The Good News
Due Dates: We can set the due dates.
Job Splitting: We can get smaller jobs by splitting larger ones.
• Single machine SPT results imply small jobs “clear out” more
quickly than larger jobs.
• Mechanics of Johnson’s algorithm implies we should start with a
small job and end with a small job.
• Small jobs make for small “move” batches and can be combined to
form larger “process” batches.
The Good News (cont.)
Feasible Schedules: We do not need to find an optimal schedule, only a
good feasible one.
Focus on Bottleneck: We can often concentrate on scheduling the
bottleneck process, which simplifies problem closer to single machine
case.
Capacity: Capacity can be adjusted dynamically (overtime, floating
workers, use of vendors, etc.) to adapt facility (somewhat) to
schedule.
Due Date Quoting
New Job “Emergency”
(c)
Positions
WIP (W)
Backlog
(b)
Rate Out
rP, s
Completed
m = w + b +c
Dynamic Due Date Quoting – Analytic Approach
Notation:
X t work completedduring periodt
mean workrate(st d units/period)
s std dev of work rate(st d units/period)
m work ahead of and including current job (st d units)
s desired servicelevel
min due date to attainservicefor current job
Required Condition:
Pr X t m 1 s
t 1
Due Date Quote:
4 m
z s2s 2 1 2 2 1
zs s
m
2 2
prob of not completing
m units of work within
lead time of l
safety lead time
Dynamic Due Date Quoting – Observations
• If s = 0 then l = m/, regardless of s (i.e., quoting m/ days will
achieve 100% service in a system with no variability).
• The due date is increasing in s (i.e., more variability will require
more safety lead time).
• In order to achieve service of at least s, we must round l up to the
next integer to arrive at the due date to quote in units of full days.
Dynamic Due Date Quoting Example
Data:
s 0.9
z s 1.28(fromstandardnormaltable)
100 piecesper day
s 30 pieces per day
w 500 piecesin line
b 900 pieceson backlog
c 100 piecesin current job
m w b c 1500pieces
Dynamic Due Date Quoting Example (cont.)
Solution:
1.28 30 1
2
1500
100
16.56
17 days
2
(4)(100)(1500)
1
2
2
(1.28 )(30 )
(2)(1002 )
Interpretation: Note that n/ = 1500/100 = 15 days, so to accommodate
the variability we are building in 2 days of safety lead time into our
quote.
Dynamic Due Date Quoting – Empirical Approach
Basic Model:
where
m
FF
FF fudge factor
Methodology: use control chart approach to adjust FF to attain desired
service level.
Advantages:
• very few modeling assumptions
• simple to implement
• adapts to continuous improvement
Scheduling via Lot Sizing
Case: TJ International – Parallam Product
Lathe/Clip
Press
Saw
Issues:
•
•
•
•
•
Press is bottleneck
12 hour changeover time to switch widths (12”, 14”, 16”, 19”)
Many products made from each width, but less 14”/16” than 16”/19”
Currently try to run at least a week between changeovers
Seasonal demand: inventory build up in off-season
Problem: determine run sequence each month
Scheduling via Lot Sizing
Notation:
H hours available days/month hours/day
u desired utilization
Di monthlydemand(parts/month)for product i
d i hourlydemand(parts/hr)for product i
pi productionrate(parts/hr)of product i
si setup time(hr)for product i
xi lot size (parts)for product i (decision variable)
Problem: choose lot sizes for the month to meet demand as
“efficiently” as possible.
Cyclic Schedule
Approach: fix lot sizes for all products and compute number of cycles
that can be run in the month as:
uH i Di pi
spare capacity
setup/cycle
s
i i
If the horizon is short, N should be rounded down to the nearest
integer. Otherwise, a non-integer N is ok since you will be
rescheduling anyway.
Lot Sizes: The lot sizes will be:
N
xi
Di
N
These, of course, need to be rounded or ceilinged.
Problem: You don’t necessarily want to make the same number of runs
of a low demand product as of a high demand product.
Non-Cyclic Schedules
Fundamental Issue: What is your objective?
Minimize Sum of Run Lengths? If we write out the Lagrangian for the
nonlinear optimization problem and optimize assuming continuous lot
sizes, we get
xi di si pi
where
Problems:
di si pi
i
u
d
p
i i i
2
• Since we solved for lot sizes, we wind up with a non-integer number
of setups for the month. How do we allocate the setup time?
• What order do we run the products in the non-cyclic schedule?
Conclusion: We should solve for the number of run cycles for each
product. But what objective do we use?
MiniMax Schedule
Objective: minimize the maximum run length.
• We are never too far away from changing over to another product.
• Perhaps a good surrogate for maximizing flexibility.
Notation: Let
ni thenumber of timesproduct i is run in H
si
Di
run lengtheach timeproduct i is produced
ni pi
decision variable
MiniMax Schedule (cont.)
IP Formulation:
min T
st :
ns
i
i i
uH i Di pi capacityconstraint
si Di (ni pi ) T for all i, minimaxconstraint
ni 1 for all i
ni integer
Example
Data:
H = 22 days 18 hrs/day = 396 hrs
u = 0.9
i
Di
pi
si
Di/pi
1
2
15000 12000
100
100
8
8
150
120
3
500
75
6
6.7
4
250
50
4
5
Total Prod Time
Req = 281.67 hrs
Minimal Run Schedule: Suppose the plant has a policy of never making
less than 1500 so their current lot sizes are 15000, 12000, 1500, 1500. This
takes 19.2 days, close to the 22 days available, but it means that some
product won’t be produced until pretty late in the month.
Example (cont.)
Cyclic Schedule: The number of cycles per month is
N = (396 0.9 - 281.67)/26 = 2.87
yielding lot sizes of
i
xi
1
5219
2
4175
3
174
4
87
But N = 2.87 means that the first two cycles in the month use the
above lot sizes while the last one uses reduced lot sizes (87% of
base).
Example (cont.)
MiniMax Schedule: We can implement the above formulation as follows:
1. Start with ni = 1 for all i. Note that the product with max run length is
product 1 with a run of 158 hours.
2. Add setup for product 1, so n1 = 2, and its max run length becomes
83 and now product 2 has the longest run length at 128 hours.
3. Add a setup for product 2, so n2 = 2, and its max run length becomes
68 and now product 1 has longest run length at 83 hours.
4. Continue adding setups to product with longest run until we run out
of capacity. The optimal solution is:
i
ni
xi
1
4
3750
2
4
3000
3
1
500
4
1
250
Example (cont.)
Results: The schedule goes as follows:
1. We set up for the 4th product and get it out of the way.
2. Likewise for the 3rd.
3. Now we run 3750 of product 1 and 3000 of product 2 in
succession for 4 times.
The longest anyone would ever have to wait would be for product
2 at the beginning of the month at 3.73 days. After that the longest
wait would be 2.53 days.
Conclusion: Minimax schedule results in shorter wait for product than
either minimal run schedule or cyclic schedule. And it is simple to
compute.
TJ International Case
Non-Cyclic Scheduling?
• Fewer runs of 12”, 14”
• But long setups make running anything twice in the month
difficult.
• Skip 12”, 14” some months?
How to Handle Seasonality?
• Could run high volume products in off-season (sure to sell)
• But running 12”, 14” products would help skip setups and increase
capacity in peak season
• Need to choose fractile of demand to stock in off-season (75%?)
Scheduling in Pull Environments
Simple CONWIP Lines:
• Simple sequence sufficient.
• No setups EDD sequence.
CONWIP Lines with Shared Resources:
• No setups EDD within lines.
• Need to augment sequence at shared lines.
• FISFO at shared resources.
Routing A
Routing A
Routing B
Routing B
FISFO
sequencing
Scheduling in Pull Environments (cont.)
CONWIP Lines with Setups:
•
•
•
•
Sequence still reasonable.
Must balance capacity loss with due date requirements.
Exact solution impossible.
Heuristics starting with EDD and rearranging sequence can work
well.
More General Environments:
• Many routings make simple sequence insufficient.
• Backward scheduling – due dates may be infeasible.
• Forward scheduling – may be suboptimal.
A Sequencing Example
Problem Description:
•
•
•
•
•
16 jobs
Each job takes 1 hour on single machine (bottleneck resource)
4 hour setup to change families
Fixed due dates
Find feasible solution if possible
A Sequencing Example (cont.)
EDD Sequence:
Job
Number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Average Tardiness: 10.375
Family
1
1
1
2
1
2
1
2
1
3
2
2
3
3
3
3
Due
Date
5.00
6.00
10.00
13.00
15.00
15.00
22.00
22.00
23.00
29.00
30.00
31.00
32.00
32.00
33.00
40.00
Completion
Time
5.00
6.00
7.00
12.00
17.00
22.00
27.00
32.00
37.00
42.00
47.00
48.00
53.00
54.00
55.00
56.00
Lateness
0.00
0.00
-3.00
-1.00
2.00
7.00
5.00
10.00
14.00
13.00
17.00
17.00
21.00
22.00
22.00
16.00
Sequencing Example (cont.)
Greedy Approach:
• Consider all pairwise interchanges
• Choose one that reduces average tardiness by maximum amount
• Continue until no further improvement is possible
Sequencing Example (cont.)
First Interchange: Exchange jobs 4 and 5.
Job
Number
1
2
3
5
4
6
7
8
9
10
11
12
13
14
15
16
Family
1
1
1
1
2
2
1
2
1
3
2
2
3
3
3
3
Due
Date
5.00
6.00
10.00
15.00
13.00
15.00
22.00
22.00
23.00
29.00
30.00
31.00
32.00
32.00
33.00
40.00
Completion
Time
5.00
6.00
7.00
8.00
13.00
14.00
19.00
24.00
29.00
34.00
39.00
40.00
45.00
46.00
47.00
48.00
Average Tardiness: 5.0 (reduction of 5.375!)
Lateness
0.00
0.00
-3.00
-7.00
0.00
-1.00
-3.00
2.00
6.00
5.00
9.00
9.00
13.00
14.00
14.00
8.00
Sequencing Example (cont.)
Configuration After Greedy Search:
Job
Number
1
2
3
5
4
6
8
7
9
11
12
10
13
14
15
16
Family
1
1
1
1
2
2
2
1
1
2
2
3
3
3
3
3
Due
Date
5.00
6.00
10.00
15.00
13.00
15.00
22.00
22.00
23.00
30.00
31.00
29.00
32.00
32.00
33.00
40.00
Completion
Time
5.00
6.00
7.00
8.00
13.00
14.00
15.00
20.00
21.00
26.00
27.00
32.00
33.00
34.00
35.00
36.00
Average Tardiness: 0.5 (9.875 lower than EDD)
Lateness
0.00
0.00
-3.00
-7.00
0.00
-1.00
-7.00
-2.00
-2.00
-4.00
-4.00
3.00
1.00
2.00
2.00
-4.00
Sequencing Example (cont.)
A Better (Feasible) Sequence:
Job
Number
1
2
3
5
4
6
8
11
12
7
9
13
10
16
14
15
Family
1
1
1
1
2
2
2
2
2
1
1
3
3
3
3
3
Average Tardiness: 0
Due
Date
5.00
6.00
10.00
15.00
13.00
15.00
22.00
30.00
31.00
22.00
23.00
32.00
29.00
40.00
32.00
33.00
Completion
Time
5.00
6.00
7.00
8.00
13.00
14.00
15.00
16.00
17.00
22.00
23.00
28.00
29.00
30.00
31.00
32.00
Lateness
0.00
0.00
-3.00
-7.00
0.00
-1.00
-7.00
-14.00
-14.00
0.00
0.00
-4.00
0.00
-10.00
-1.00
-1.00
Diagnostic Scheduling
Goals:
• Schedule at appropriate level of detail for environment.
• Make use of realistic, obtainable data.
• Accommodate “intangibles” in decision-support mode.
Approach:
•
•
•
•
Deterministic model.
Based on conveyor model.
Release as late as possible subject to due dates.
Provide diagnostics on infeasibilities.
Types of Infeasibility:
• WIP (must move out due dates).
• Capacity (can move due dates or increase capacity).
Scheduling Infeasibilities Example
Problem Description:
• Capacity = 100/day
• Minimum Practical Lead Time = 3 days
• WIP in system with 1, 2, 3 days to go = 95, 90, 115
Scheduling Infeasibilities Example (cont.)
Days from Amount
Start
Due
1
90
2
100
3
90
4
80
5
70
6
130
7
120
8
110
9
110
10
110
11
100
12
90
13
90
14
90
15
90
*
**
Cumulative
Amount Due
90
190
280
360
430
560
680
790
900
1010
1110
1200
1290
1380
1470
Cumulative
Capacity
95
185*
285
385
485
585
685
785**
885
985
1085
1185
1285
1385
1485
WIP infeasibility
capacity infeasibility
Cumulative Demand vs. Cumulative Capacity
1600
1400
1200
Uints
1000
Cum Due
Cum Capacity
800
600
400
200
0
0
2
4
6
8
10
Day from Start
12
14
Surplus
60
50
Surplus Units
40
30
20
10
0
-10
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15
-20
-30
WIP
Infeasibility
Days from Start
Capacity
Infeasibility
MRP-C Notation
t t imeindex for periods
TF planninghorizon(last period)of t heproblem
TP minimumpract icallead t imeof t heprocessunder consideration
Ct product ionrat e(capacit y)of t heprocessin period t 0,1, , TF
wt WIPin t heline t hatis t periodsaway fromcomplet ion, defined for
t 0,1,, TP . Not e t hatw0 represent sWIPalready finishedby t heline,
which could be finishedgoods invent oryor raw mat erialfor anot her
process.Also, observe t hatwt 0 for TP t TF since t he“ conveyor”
only holdsTP periodsof WIP .
MRP-C Notation (cont.)
Dt demanddue at timet 0,1, , TF
N t net WIPin theprocessin periodt
X t output of processin periodt
Dˆ t net demand(afterusing up any availablefinishedinventory)in periodt
Yt amountof “ build - ahead” in periodt , which representsproduct ionin
periodt int endedto fill demandin periodsbeyondt
St releasequantities(“ starts”)in periodt.
MRP-C Example
t
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dt
wt
80
80
80
80
80
130
150
180
220
240
210
150
90
80
80
450
95
95
100
0
0
0
0
0
0
0
0
0
0
0
0
Ct
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
Min{wt, Ct}
Nt
95
95
100
0
0
0
0
0
0
0
0
0
0
0
0
450
465
480
500
420
340
210
60
-120
-340
-580
-790
-940
-1030
-1110
-1190
How should we resolve infeasibility?
Dˆ t
0
0
0
0
0
0
0
120
220
240
210
150
90
80
80
Yt
----40
140
240
340
440
420
300
160
50
0
0
0
0
Xt
St
95
95
100
100
100
100
100
100
100
100
100
100
90
80
80
40
100
100
100
100
100
100
100
100
100
90
80
80
0
0
0
MRP-C Example: Correcting Infeasibility
t
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dt
wt
80
80
80
80
80
130
150
180
220
240
210
110
100
100
90
450
95
95
100
0
0
0
0
0
0
0
0
0
0
0
0
Ct
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
Min{wt, Ct}
Nt
Dˆ t
Yt
Xt
St
95
95
100
0
0
0
0
0
0
0
0
0
0
0
0
450
465
480
500
420
340
210
60
-120
-340
-580
-790
-900
-1000
-1100
-1190
0
0
0
0
0
0
0
120
220
240
210
110
100
100
90
------100
200
300
400
380
260
120
10
0
0
0
0
95
95
100
100
100
100
100
100
100
100
100
100
100
100
90
100
100
100
100
100
100
100
100
100
90
80
80
0
0
0
Delay 40 units of demand in period 12: 10 to period 13, 20 to period 14, 10 to period 14
Multi-Stage MRP-C Calculations
Stage 1
Stage 2
Stage 3
Requirements
Requirements
Requirements
Starts
Starts
Starts
Issues
– must work backward from end items (like in MRP)
– disaggregation can be tricky (poor tie-breaking can cause WIP
infeasibility)
End
Items
Scheduling Software Approaches
• Fixed leadtime backward scheduling (MRP)
• Rule based forward scheduling (FACTOR)
• AI/Expert System approaches (MIMI)
• Bottleneck scheduling (OPT)
• Heuristics (MADEMA/PROMIS)
• Diagnostic (backward) scheduling (MRP-C)
• Perturbation scheduling (developmental)
Perturbation Scheduling
Simulation Engine:
• input lead times, WIP positions, demands, priority rules
• fast simulator based on conveyor model
• predict range of completion times
Due Date Quoting:
• given a set of demands
• find due dates that ensure target service level
• useful in coordinating multi-level system
Lead Time Optimization:
•
•
•
•
specify objective (e.g., average tardiness)
use perturbation analysis to compute lead time gradients
optimize lead times during simulation
lead times specify release schedule
Linking Scheduling with Releases
Approach:
• Use Scheduling Module to plan.
• Use SFC Module to launch orders.
• Track progress relative to schedule with Production Tracking
Module.
Scheduling Modules:
• Finite capacity scheduler (e.g., MRP-C)
• MRP
• Ad hoc method
Linking Scheduling with Release (cont.)
SFC Modules:
•
•
•
•
CONWIP
Kanban
Pull-From-the Bottleneck
Arbitrary WIP-Cap Mechanism
Benefits:
• Prevent WIP explosions
• Stabilize cycle times facilitates better scheduling
• Clear opportunity for feedback from floor to scheduler.
Scheduling Takeaways
Scheduling is hard!
• Even simple toy problems generate complicated mathematics.
Scheduling can be simplified through the environment:
• due date quoting
• flow simplification sequencing in place of scheduling
Finite capacity scheduling is coming.
• But in what form is unclear (shifting bottleneck, genetic
algorithms, rule based systems, etc.).
Diagnostics are important in scheduling.
• pure optimization generally impossible
• need good interface to allow human intervention