Title: Scheduling of Wafer Fabrication Facilities using Evolutionary Algorithms
1Scheduling of Wafer Fabrication Facilities using
Evolutionary Algorithms
- Tsung-Che Chiang
- Department of Computer Science and Information
Engineering - National Taiwan Normal University
- 2010.11.04
2Outline
- Introduction
- Wafer fab scheduling
- Evolutionary algorithms (EA)
- Six ways of applying EAs to fab scheduling
- Conclusions
3Whats Scheduling?
- A task of allocating resources over time to
requests under given constraints such that
certain objectives are satisfied or optimized. - In a production system,
- resources refer to machines, workers, vehicles,
etc. - requests refer to jobs
- objectives include work-in-process (WIP) level,
on-time delivery (OTD) rate, etc.
- A task of allocating resources over time to
requests under given constraints such that
certain objectives are satisfied or optimized.
4Single Machine Scheduling
?
?
?
?
?
?
?
5Parallel Machine Scheduling
- Tasks machine assignment job sequencing
schedule 1
time
schedule 2
time
due date (all the same)
6Job Shop Scheduling
- Task job sequencing on each machine
- operation precedence
- dynamic arrival of jobs
M1
M2
M3
M4
M1 ?? M2 ? M3 ? M4
M1 ?? M4 ? M3 ? M2
M2 ?? M1 ? M4 ? M3
7Flexible Job Shop Scheduling
- Tasks machine assignment job sequencing
- Machines in a stage might not be identical.
S1
S2
S3
S4
M1 ?? M2 ? M3 ? M4
M1 ?? M4 ? M3 ? M2
M2 ?? M1 ? M4 ? M3
8Wafer Fab Scheduling
- A wafer fab can be regarded as a large-scale
flexible job shop with additional intricacies - batch machines
- sequence dependent setup
- dynamic arrival of customer orders
- machine breakdown maintenance
9Wafer Fab Scheduling
- Batch machines
- batch forming
- batch sequencing
10Wafer Fab Scheduling
- Batch machines
- start or wait
Lot2
time
Lot1
t0
t1
Lot2
time
Lot1
t0
t1
11Wafer Fab Scheduling
- Sequence dependent setup (SDS)
- fixture changing
- program loading
- parameter tuning
- etc.
Setup is unproductive.
time
12Wafer Fab Scheduling
- Wafer fab is a very complex system, and optimal
scheduling is almost impossible. - A common practice is to do scheduling by
real-time dispatching.
13Rule-based Dispatching
queue
14Rule-based Dispatching
- Some advanced dispatching rules
Kim et al. 2001
Pfund et al. 2008
15Rule-based Dispatching
- Questions
- How can we generate a good dispatching rule?
- If the rule has parameters, how can we optimize
them? - Can we combine different rules?
- Can we assign different rules to stages with
different characteristics? - Which stages are more important than others?
- What if dispatching rules are not good enough?
- ? Let the Evolutionary Algorithm help us!
16Evolutionary Algorithms
- EAs are algorithms imitating the natural
evolutionary process. - EAs are
- iterative (not constructive)
- nondeterministic
- approximate (not always optimal)
- not problem-specific
17Evolutionary Algorithms
Initial Population
Initial Population
Evaluation
Evaluation
next generation
Mating selection
Mating selection
Reproduction
Reproduction
Evaluation
Evaluation
N
Stop?
Environmental selection
Environmental selection
Y
Final Population
18Evolutionary Algorithms
- EA for optimization (an clustering example)
19Evolutionary Algorithms
Initial Population
Evaluation
next generation
Mating selection
Reproduction
Evaluation
N
Stop?
Environmental selection
Y
Final Population
20Mating Selection
- Roulette wheel selection
- Individuals are selected as parents in
probability proportional to their fitness
(solution quality). - K-tournament selection
- K solutions are randomly selected, and the best
one is taken as a parent. - Random selection
21Environmental Selection
- Generational policy
- The offspring replace the old population.
- Steady-state policy
- The offspring replaces the worst individual in
the old population. - n/2n policy
- The best n individuals among 2n individuals
survive, where n is the population size.
22Evolutionary Algorithms
- The selection mechanisms are general and
applicable to almost all kinds of problems. - For a specific problem, we need to
determine/devise the solution encoding scheme and
the associated crossover and mutation operators.
23How can We Generate a Good Dispatching Rule?
24Rule Generation by EAs
- How can we represent a rule?
25Rule Generation by EAs
Tay, J.C. and Ho, N.B. (2008) Evolving
dispatching rules using genetic programming for
solving multi-objective flexible job-shop
problems. Computers Industrial Engineering
54453-473.
26Rule Generation by EAs
- Crossover exchanging subtrees (sub-expressions)
2(ab)/e
eb2
2eb/e
ab2
Geiger, C.D., Uzsoy, R., and Aytug, H. (2006)
Rapid modeling and discovery of priority
dispatching rules An autonomous learning
approach. Journal of Scheduling 97-34.
27Rule Generation by EAs
- Mutation replacing with a randomly generated
subtree
Geiger, C.D., Uzsoy, R., and Aytug, H. (2006)
Rapid modeling and discovery of priority
dispatching rules An autonomous learning
approach. Journal of Scheduling 97-34.
28Rule Generation by EAs
- Evaluation
- Run a simulator for a sufficiently long
simulation time under the control of the rule to
be evaluated. - deterministic parts routes, machines, processing
times, setup times. - stochastic parts order arrivals, machine
breakdowns - Record the concerned objective value(s) over
multiple runs.
29Rule Generation by EAs
- References
- Geiger, C.D., Uzsoy, R., and Aytug, H. (2006)
Rapid modeling and discovery of priority
dispatching rules An autonomous learning
approach. Journal of Scheduling 97-34. - Geiger, C.D. and Uzsoy, R. (2008) Learning
effective dispatching rules for batch processor
scheduling. International Journal of Production
Research 46(6)1431-1454. - Tay, J.C. and Ho, N.B. (2008) Evolving
dispatching rules using genetic programming for
solving multi-objective flexible job-shop
problems. Computers Industrial Engineering
54453-473. - None of them was applied to wafer fab scheduling.
30How can We Optimize the Parameters of Rules?
31Rule Optimization by EAs (I)
- Advanced dispatching rules usually have
parameters. - e.g. ATCSR rule (Pfund et al. 2008)
- Tuning of parameters manually is laboring.
32Rule Optimization by EAs (I)
k1
k2
k3
33Rule Optimization by EAs (I)
34Rule Optimization by EAs (I)
5
2
1
3
8
w 0.4
10
1
2
5
7
y1? w?x1 (1 w)?x2 y2? (1 w)?x1 w?x2
e.g.
35Rule Optimization by EAs (I)
- Crossover by differential evolution (DE)
There are many DE variants (DE/x/y/z) x best or
random y number of difference vectors z bin or
exp
36Rule Optimization by EAs (I)
- Mutation
- Set a new random value within the valid range.
- Increase/decrease by a random value (e.g.
generated by a Gaussian distribution).
37Rule Optimization by EAs (II)
- The dispatching rule might not always assign
correct priorities to all jobs. - Sometimes we may need to adjust the job
priorities manually. - We can set priority levels to jobs. Only jobs
with of same level are ranked by dispatching
rules.
1st-priority queue
2nd-priority queue
38Rule Optimization by EAs (II)
- Chromosome encoding (II)
- assume 3 jobs, each with 3 operations
Job-based
J2
J3
J1
1
1
2
Operation-based
O12
O13
O22
O23
O32
O33
O11
O21
O31
1
1
1
2
1
2
1
2
1
39Rule Optimization by EAs (II)
- A variety of crossover and mutation operators are
applicable.
Job-based
J2
J3
J1
1
1
2
Operation-based
O12
O13
O22
O23
O32
O33
O11
O21
O31
1
1
1
2
1
2
1
2
1
40Rule Optimization by EAs (II)
- References
- Chiang, T.C. and Fu, L.C. (2004) Parameter tuning
of production scheduling rules by an ant
system-embedded genetic algorithm. In Proceedings
of IEEE International Conference on Robotics,
Automation, and Mechatronics, pp. 1089 1094. - Chiang, T.C. and Fu, L.C. (2008) A rule-centric
memetic algorithm to minimize the number of tardy
jobs in the job shop. International Journal of
Production Research. 46(24)6913-6931.
41Can We Combine Different Dispatching Rules?
42Rule Combination by EAs
- A simple way to generate a new rule is to combine
existing rules. - We can combine them in two ways
- apply one rule at time in a predefined order
- aggregate the priorities obtained by rules into a
single priority value
43Rule Combination by EAs
- Chromosome encoding (I)
- Assume there are six rules.
- If there are more than one job with the same
priority value by rule 2, apply rule 1. If rule 1
still cannot distinguish them, apply rule 4.
Repeat until the single best job is identified or
all rules are applied.
2
1
4
6
3
5
44Rule Combination by EAs
- Chromosome encoding (I)
- A more advanced way of applying rules
hierarchically.
Rule 2
Rule 1
the first half jobs based on priority values by
rule 2
45Rule Combination by EAs
- Chromosome encoding (II)
- Assume there are 4 rules.
- The aggregated priority value is0.2?pri(FIFO)
0.3?pri(SPT) 0.4?pri(EDD) 0.1?pri(ATCSR)
FIFO SPT EDD ATCSR
0.2
0.3
0.4
0.1
46Rule Combination by EAs
- Chromosome encoding (II)
- Since ranges of priority values by different
rules may be different, we usually need to
normalize them into the same range.
SPT ATCSR
120 30 20 60 0.008 0.03
0.04 0.01
47Rule Combination by EAs
- Chromosome encoding (III)
- Assume there are 4 rules.
- Rules are applied hierarchically. Meanwhile, the
weighted priority values are accumulated.
2
0.3
4
0.2
3
0.4
1
0.1
rule index
rule weight
48Rule Combination by EAs
- Chromosome encoding (III)
Rule 2
? 0.3
Rule 2
Rule 4
? 0.2
49Rule Combination by EAs
- To my best knowledge, theres no study adopting
encoding schemes (I) and (III). - There are research opportunities.
- Encoding scheme (II) were already used with the
idea to be described next.
50Can We Assign Different Rules to Stages with
Different Characteristics?
51Rule Selection by EAs
- Operations in different stages may have quite
different characteristics. - For stages where processing times of operations
are almost equal, the SPT rule is useless. - For stages where setup times are long, saving the
number of setups could be the best policy.
S1
S2
S3
S4
52Rule Selection by EAs
- Many studies have shown that setting different
rules to stages could achieve better performance
than setting an identical rule. - Miragliotta and Perona (2005). Decentralised,
multi-objective driven scheduling for reentrant
shops A conceptual development and a test case
European Journal of Operational Research
167644-662. - Wu et al. (2008) Dispatching for make-to-order
wafer fabs with machine-dedication and mask
set-up chracteristics. International Journal of
Production Research 46(14)3993-4009. - Most of them set rules based on expert
experience.
53Rule Selection by EAs
- Chromosome encoding (I)
- Assume there are five stages.
S2
S3
S5
S1
S4
1 FIFO 2 SPT 3 EDD 4 ATCSR
1
1
4
3
2
S5
S1
S2
S3
S4
54Rule Selection by EAs
- References (I)
- Herrmann, J.W., Lee, C.Y., and Hinchman, J.
(1995) Global job shop scheduling with a genetic
algorithm. Production Operations Management
4(1)30-45. - Chen, J.H., Fu, L.C., Lin, M.H., Huang, A.C.
(2001) Petri-net and GA-based approach to
modeling, scheduling, and performance evaluation
for wafer fabrication. IEEE Transactions on
Robotics and Automation 17(5)619-636. - Yang, T., Kuo, Y., and Cho, C. (2007) A genetic
algorithms simulation approach for the
multi-attribute combinatorial dispatching
decision problem. European Journal of Operational
Research 1761859-1873.
55Rule Selection by EAs
- Chromosome encoding (II)
- Rule selection rule combination
- Assume there are three stages and four rules.
S2
S3
S1
0.5
0.1
0.2
0.3
0.2
0.2
0.3
0.3
0.4
0.3
0.3
0
FIFO SPT EDD ATCSR
56Rule Selection by EAs
- References (II)
- Chiang, T.C. and Fu, L.C. (2006) Multiobjective
job shop scheduling using genetic algorithm with
cyclic fitness assignment. In Proceedings of IEEE
Congress on Evolutionary Computation, pp. 11035
11042. - Chiang, T.C., Shen, Y.S., and Fu, L.C. (2008) A
new paradigm for rule-based scheduling in the
wafer probe center. International Journal of
Production Research, 46(15)4111-4133.
57Rule Selection by EAs
- In addition to machine-wise combination of rules,
many researchers proposed state-dependent
combination of rules. - Chen et al. (2004) Dynamic state-dependent
dispatching for wafer fabrication. International
Journal of Production Research 42(21)4547-4562. - Lee et al. (2009) Multi-objective scheduling and
real-time dispatching for the semiconductor
manufacturing system. Computers Operations
Research 36866-884.
58Rule Selection by EAs
- EAs can also help to determine the
state-dependent combination of rules. - As far as I know, the only one related work is
- Liu and Wu (2004) Genetic algorithm using
sequence rule chain for multi-objective
optimization in re-entrant micro-electronic
production line. Robotics and Computer-Integrated
Manufacturing 20225-236.
59Which Stages are More Important than Others?
60Model Understanding/Simplification by EAs
- In the wafer fab, stages with higher machine
utilization and longer queueing time are usually
more important to scheduling. - Identifying these critical stages can help us to
focus on rule design for these stages. - Meanwhile, identifying non-critical stages can
reduce the size of model and save simulation time.
61Model Understanding/Simplification by EAs
- In the literature, the critical stages were
identified by heuristics. - Kim, Y. D., Shim, S. O., Choi, B., and Hwang, H.
(2003) Simplification methods for accelerating
simulation-based real-time scheduling in a
semiconductor wafer fabrication facility. IEEE
Transactions on Semiconductor Manufacturing,
16(2)290298. - Piplani, R. and Puah, S. A. (2004) Simplification
strategies for simulation models of semiconductor
facilities. Journal of Manufacturing Technology
Management, 15(7)618625. - Johnson, R. T., Fowler, J. W., and Mackulak, G.
T. (2005) A discrete event simulation model
simplification technique. In Proceedings of the
2005 Winter Simulation Conference, pages
2172?2176.
62Model Understanding/Simplification by EAs
- Chromosome encoding
- Assume there are 2 routes, with 4 and 5 stages,
respectively.
S11 S12 S13 S14 S21 S22
S23 S24 S25
0
1
1
0
0
0
1
0
0
S11
S12
S13
S14
63Model Understanding/Simplification by EAs
- Evaluation
- Run the simulator on the reduced model.
- The reduced stages are usually replaced by
constant delays. - In other words, they are treated as stages with
infinite machines. - Record the deviation of concerned measures from
those obtained by simulating on the original
(complete) model.
64Model Understanding/Simplification by EAs
- References
- Chiang, T.C. (2010) Model simplification for
accelerating simulation-based evaluation of
dispatching rules in wafer fabrication
facilities, to appear in Proceedings of the 11th
International Conference on Control, Automation,
Robotics, and Vision.
65What If Dispatching Rules Are Not Good Enough?
66Single Stage Scheduling by EAs
- Rule-based scheduling is computationally
efficient and its performance is acceptable. - Sometimes acceptable is not enough.
- We can apply the EA to optimize the schedule of a
small-scale subsystem, for example, a single
stage.
S11
S12
S13
S14
67Single Stage Scheduling by EAs
- Chromosome encoding
- Assume there are two jobs, each visiting the
target stage for three times. - Assume there are four machines.
J1
M2
J2
M1
J2
M3
J1
M4
J1
M2
J2
M1
68Single Stage Scheduling by EAs
J1
M2
J2
M1
J2
M3
J1
M4
J1
M2
J2
M1
J1
M1
J1
M1
J2
M2
J2
M2
J1
M4
J2
M3
J1
M2
J1
M2
J2
M1
69Single Stage Scheduling by EAs
- Mutation
- Changing the operation sequence by insertion or
swap. - Changing the machine assignment by random
assignment or swap.
J1
M2
J2
M1
J2
M3
J1
M4
J1
M2
J2
M1
M3
70Single Stage Scheduling by EAs
- There have been a lot of literature on parallel
(batch) machine scheduling. - Horng, S.M, Fowler, J.W., and Cochran, J.K.
(2000) A genetic algorithm approach to manage ion
implantation in wafer fabrication. International
Journal of Manufacturing Technology and
Management 1(2/3)156-172. - Qu, P. and Mason, S.J. (2005) Metaheuristic
scheduling of 300-mm lots containing multiple
orders. IEEE Transactions on Semiconductor
Manufacturing 18(4)633-643. - Chiang, T.C., Cheng, H.C., and Fu, L.C. (2010)
Minimizing total weighted tardiness on parallel
batch machines with incompatible job families and
dynamic job arrival. Computers Operations
Research 37(12)2257-2269.
71Single Stage Scheduling by EAs
- However, none of them was evaluated in the
stochastic wafer fab environment. - The following study is close.
- Mönch, L, Schabacker, R., Pabst, D., and Fowler,
J.W. (2007) Genetic algorithm-based subproblem
solution procedures for a modified shifting
bottleneck heuristic for complex job shops.
European Journal of Operational Research
1772100-2118.
72Conclusions
73Conclusions
- The EA can help wafer fab scheduling in many
different ways. - Generating good dispatching rules.
- Optimizing rule parameters.
- Combining rules through value aggregation or
hierarchical invocation. - Assigning suitable rules to different stages or
states. - Identifying critical stages.
- Scheduling a single stage optimally.
74Conclusions
- For researchers in production scheduling, there
are many research opportunities for applying EAs
(or other metaheuristics) to fab scheduling. - Only rule selection and machine-wise rule
combination have been investigated. - Other topics are not studied or not evaluated in
the fab environment.
75Conclusions
- For researchers in evolutionary computation, fab
scheduling is a good application for these
topics - Multiobjective optimization
- Robust optimization
- Expensive optimization
76Conclusions
- In this talk, we also demonstrated how EAs can
solve problems with the following nature - expression construction (rule generation)
- real-value optimization (parameter optimization)
- sequencing (single stage scheduling)
- selection, assignment, or clustering (rule
selection) - manipulation of domain heuristics (rule
combination) - You may resort EAs to solve your research problem.
77Thank you very much
for your attention!