scheduling of petri nets as a multi-objective shortest path problem
DESCRIPTION
CASE – August 21 st 2012 – Seoul, Korea. Scheduling of Petri nets as a Multi-objective Shortest Path Problem. Uno Wikborg * and Tae- Eog Lee KAIST Industrial and Systems Engineering Department. Problem definition. - PowerPoint PPT PresentationTRANSCRIPT
Scheduling of Petri nets as a Multi-objective Shortest Path Problem
Uno Wikborg* and Tae-Eog Lee
KAIST Industrial and Systems Engineering Department
CASE – August 21st 2012 – Seoul, Korea
System Integration & Modeling Lab.
Problem definition
• Find a firing sequence with shortest makespan which brings a Petri net with place delays from one given marking to another given marking
• Does not consider maximum residency time of tokens
• Going from the marking [1,0,0,0,0] to [0,0,0,0,0] given delay times for each place in the Petri net below
2
1
0
0
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
0
0
0
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
System Integration & Modeling Lab.
Related literature
• Dawande M, Geismar HN, Sethi SP, C S. Sequencing and scheduling in robotic cells; recent developments. Journal of Scheduling. 2005; 8(5): p. 387-426.
• Jung C. An Efficient Mixed Integer Programming Model Based on Timed Petri Nets for Diverse Complex Cluster Tool Scheduling Problems. 2010
• Daellenbach HG, De Kluyver CA. Note on Multiple Objective Dynamic Pro-gramming. The Journal of the Operational Research Society. 1980 July; 31(7): p. 591-594.
• Wikborg U, Lee TE. Non-Cyclic Scheduling for Timed Discrete Event Systems with Application to Single-Armed Cluster Tools using Pareto-Optimal Opti-mization. Accepted to be published. IEEE Transactions on Automation Sci-ence and Engineering.
3
System Integration & Modeling Lab.
Motivation
• Petri nets are well suited for modelling cluster tools for semiconductor production
• Wafer recipes tend to change more often
• Cyclic scheduling is not efficient when the steady state is short
4
System Integration & Modeling Lab.
Example 1: A Single Objective Approach (1)
• Problem description: Which firing sequence uses the shortest time to change the marking from [1,0,0,0,0] to [0,0,0,0,0]?
5
1
0
0
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Place p1 p2 p3 p4 p5Delay 0 s 2 s 2 s 1 s 2 s
System Integration & Modeling Lab.
Example 1: A Single Objective Approach (2)
• The two enabled transitions give us two possible next marking.
6
0
1
0
1 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t51
0
0
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5 0
0
1
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
t1
t2
System Integration & Modeling Lab.
Example 1: A Single Objective Approach (3)
• The tokens have to wait at p2 and p3 for the delay period.
• The resulting state can therefore be defined by the marking, a time stamp for each token and a time stamp for when the last transition was fired.
• For the case when t1 is fired: marking [0,1,1,0,0], tokens {2},{3}, fire time 0
7
0
1
0
1 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Place p1 p2 p3 p4 p5Delay 0 s 2 s 2 s 1 s 2 s
System Integration & Modeling Lab.
Example 1: A Single Objective Approach (4)
• This gives us a tree like transition graph
• The last fired transition is used as the objective
• The optimal solution can be found by traversing the graph
• Tree like structures tend to grow too fast when the problem size increases
8
[1,0,0,0,0]{0}0
[0,1,1,0,0]{2},{2}
0
[0,0,0,1,0]{1}0
[0,0,1,0,1]{2},{4}
2
[0,0,0,0,0]∅4
[0,0,1,0,1]{3},{3}
1
[0,0,0,0,0]∅3
t1 t2
t3 t5
t4 t4
System Integration & Modeling Lab.
A Multi-objective Approach
• Tree structure was caused by many state variables
• The time stamps can instead be considered objective functions
• The marking then defines the state
• A multi-objective shortest path problem in the untimed transition graph
• Note that the number of objectives vary from state to state and that the length of the edges depend on the previous path
9
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
[1,0,0,0,0]{0}0
[0,1,1,0,0]{2},{2}
0
[0,0,0,1,0]{1}0
[0,0,1,0,1]{2},{4}
2
[0,0,0,0,0]∅4
[0,0,1,0,1]{3},{3}
1
[0,0,0,0,0]∅3
t1t1 t2t2
t3t3 t5t5
t4t4 t4
System Integration & Modeling Lab.
Label correction algorithm
• Based on bottom-up-dynamic programming
• Keep the best solutions for each state
• A set of non-dominated solutions is kept for each marking
• A hash map is used with the marking as the key and a set of all non-dominated paths to the marking as the value
• Terminate when no better solution to the goal marking can be found
10
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
11
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring∅
1
0
0
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
12
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring∅
1
0
0
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
13
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring∅
1
0
0
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
t2
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
14
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
1
0
1 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to exploret2
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
15
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
1
0
1 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to exploret2
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
16
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
0
1
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
17
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
0
1
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
18
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
0
1
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
19
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
0
0
1 1p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
20
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
0
0
1 1p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
21
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
0
0
1 1p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
22
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
0
0
1 1p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 4 [ , , , , ]∅∅∅∅∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
23
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
0
0
1 1p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
24
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
0
0
1 1p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Example 2: Multi-objective Solution
Path End State Last Firing Time Token Time Stamps∅ [1,0,0,0,0] 0 [ , , , , ]∅∅∅∅∅
[0,1,1,0,0] 0 [ ,{2},{2}, , ]∅ ∅∅[0,0,0,1,0] 0 [ , , ,{1}, ]∅∅∅ ∅[0,0,1,0,1] 2 [ , ,{2}, ,{4}]∅∅ ∅[0,0,1,0,1] 1 [ , ,{3}, ,{3}]∅∅ ∅[0,0,0,0,0] 3 [ , , , , ]∅∅∅∅∅
25
[1,0,0,0,0]
[0,1,1,0,0] [0,0,0,1,0]
[0,0,1,0,1]
[0,0,0,0,0]
t1 t2
t3 t5
t4
Currently exploring
0
0
0
0 0p1
p2
p3
p4
p5
t1
t2
t3
t4
t5
Paths to explore
System Integration & Modeling Lab.
Theoretical properties
26
Theorem 2. There exists an optimal pathand such that for any:
A solution can be found which only includes non-dominated sub-problems.
Theorem 3.
The values of the objectives for all non-dominated solutions for a given problem falls within a range of two times the largest place delay.
Theorem 1. The sequencing problem of a timed Petri net can be transformed into an equivalent multi-objective shortest path problem.
System Integration & Modeling Lab.
Non-cyclic scheduling of Cluster Tools for Semiconductor Production
• Well suited for non-cyclic scheduling
• Single armed cluster tool with three processing chambers and 500 wafers
• Dual armed cluster tool with two double and one single processing module and a changing recipe
27
500 0 0 0 0 0 0 0
1 1 1
1
p1 p2 p3 p5
p4 p7
p6 p8 p9 p11
p10
p12
t1 t2 t3 t4 t5 t6 t7 t8
25 0 0 0 0 0 0 0
2 2 12
p1 p2 p3 p5 p6 p8 p9 p11t1 t2 t3 t4 t5 t6 t7 t8
1
0 0 0 0 0 0 0 0
0
25
25
p7p4 p10p12 p13
p14 p15 p16 p17 p18 p19 P20 p21
p22
t9 t10 t11 t12 t13 t14 t15 t16
t17
System Integration & Modeling Lab.
Problem variations
• Single and dual armed cluster tools
• Multiple recipes – frequent changes
• Cleaning processes
• Changing between steady states
• Start up and close down of cluster tools
• Non-identical robot movement times28
System Integration & Modeling Lab.
Future work
• Study how different parameters effect the efficiency
• Apply the method to more problems
• Improve the direction of the search
• Extend the method to handle additional requirements
29
System Integration & Modeling Lab.
Questions?
?• For further inquires please contact [email protected]
30