General Scheduling Model and Algorithm Andrew Kusiak Intelligent Systems Laboratory 2139 Seamans Center The University of Iowa I Cit I 52242 1527 The University of Iowa Intelligent Systems Laboratory Iowa City, Iowa 52242 - 1527 Tel: 319 - 335 5934 Fax: 319 - 335 5669 [email protected]http://www.icaen.uiowa.edu/~ankusiak MPS MRP Balancing MANUFACTURING SCHEDULING n Jobs (Operations) Scheduling m Machines + other resources Scheduling Schedule Scheduling Data The University of Iowa Intelligent Systems Laboratory Scheduling Algorithm Data No of operations Processing time Precedence constraints Due time
22
Embed
General Scheduling Model.ppt - University of Iowauser.engineering.uiowa.edu/~coneng/lectures/General_Scheduling_Model.pdf · General Scheduling Model and Algorithm Andrew Kusiak Intelligent
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
General Scheduling Modeland
Algorithmg
Andrew KusiakIntelligent Systems Laboratory
2139 Seamans Center The University of Iowa
I Cit I 52242 1527
The University of Iowa Intelligent Systems Laboratory
The University of Iowa Intelligent Systems Laboratory
SchedulingAlgorithm
DataNo of operationsProcessing timePrecedence constraintsDue time
2 4 1 3 6M1 5
Example
6 11 18 22 25 292 4 1 3 61 5
6 14 18 22 30
2 4 5M2
1 63
25118
2M3 Time16
34 5
The University of Iowa Intelligent Systems Laboratory
18 30248 35
What type of schedule is it -jobshop or flowshop?
Scheduling Model: m Machines and n Operations
n = number of partsm = number of machinesm number of machinesRi = set of pairs of operations [k, l] for part Pi, where operation k precedes
operation l, i = 1,..., nQi = set of pairs of operations [k, l] for part Pi, where k and l can be
performed in any order, i = 1,..., nIi = set of operations without precedence constraints, i = 1,...., n.Np = set of operations to be performed on machine p, p = 1,..., mni = number of operations in part Pi, i = 1,..., nil i i f i l f i l 1 i 1
The University of Iowa Intelligent Systems Laboratory
til = processing time of operation l of part Pi, l = 1,..., n , i = 1,..., nM = an arbitrary large positive number
xik = completion time of operation k of part Pi, k = 1,..., n , i = 1,..., nx[i] = completion time of the final operation of part Pi,
i = 1,..., n
1 if operation k precedes operation lykl = {
0 otherwise
for all [k, l] ∈ Qi, i = 1,..., n.
1 if operation k precedes operation lzkl = {
The University of Iowa Intelligent Systems Laboratory
zkl = {0, otherwisefor all [k, l] ∈Np, p = 1,..., m
Basic Notation
P t iPart i:Operations k, l,...Precedence constraints
k l
xik xilCompletion time
The University of Iowa Intelligent Systems Laboratory
Part j
The ModelnMin x[i] Min the total completion time
i =1subject to:
∑
xil - xik til for all [k, l] ∈ Ri, for all i
Operations k and l of part i are processed according to the precedence required
≥
k lP t i
The University of Iowa Intelligent Systems Laboratory
k lPart i
xik xilk l
til
TimeSchedule
xil - xik + M(1- ykl ) tilfor all [k, l] ∈ Qifor all i
xik - xil + Mykl tik≥
≥
Two operations of part i can not be processed at the same time
Part i k l l k
TWO POSSIBILITIES (Same part)
OR
The University of Iowa Intelligent Systems Laboratory
xik xilk l
till k
xil xikl k
tikTime
OR
xjl - xik + M(1- zkl ) tjl for all [k, l] ∈ Np for all p
xik - xjl + Mzkl tik i j
≥
≥ ≠
where Np = Set of operations to be performed on machine p A machine can not process more than one part at the same time
TWO POSSIBILITIES (Different parts)
Part i Part j Part j Part i
The University of Iowa Intelligent Systems Laboratory
Part i
xik xjlk l
til
xjl xikl k
tikTime
ORPart j Part j Part i
≥tik for [i, k ] ∈ Ii, i =1,..., n
xik {0 for all other i, k
ktik
xik
Part iTime For operations without
precedence constraints
The University of Iowa Intelligent Systems Laboratory
ykl = 0, 1 for all [k, l] ∈ Qi, for all i
zkl = 0, 1 for all [k, l] ∈Np, for all p
!!!!
Go over this model at least twice!
The University of Iowa Intelligent Systems Laboratory
Example Structure of Three PartsPart P
1, 1 1, 2 1, 3
1
Part P
2, 1 2, 2
2
Part P
3 1
3
The University of Iowa Intelligent Systems Laboratory
The University of Iowa Intelligent Systems Laboratory
3C = 10
i, j(k)
Operation j of uses tools k
The Optimal Schedule with Unlimited Number of Tools
(1) (2) (2) (2)(1)M
M2 Time
1, 1 2, 2 3, 3
3, 1 1, 20
1
8
3, 2
3 6
(1) (2) (2) (2)
(2)
(1)
(1)
2, 1
The University of Iowa Intelligent Systems Laboratory
C' = 83
Two copies of tool 1 and 2 are needed.
General Scheduling Heuristic
Part P with6 operations
3 5
21 6
An operation is schedulable at time t if the following three conditions are satisfied:• No other operation that belongs to the same part is being processed at the time t
Definition4
The University of Iowa Intelligent Systems Laboratory
processed at the time t.• All operations preceding the operation considered have been completed before the time t.
• All resources (for example, machines, tools, fixtures) required for performing the operation are available at the time t.
Two Scheduling Scenarios
• No single operation is• No single operation is schedulable (a deadlock)
• Many operations are h d l bl
The University of Iowa Intelligent Systems Laboratory
schedulable
How to select the most promising operations?
PRIORITY RULES
The University of Iowa Intelligent Systems Laboratory
DefinitionsPart P with 6 operations
3 5
Operations 3, 4, 5, and 6 are successive operationsof operation 2
421 6
The University of Iowa Intelligent Systems Laboratory
Operations 3 and 4 are immediate successive operations of operation 2
General HeuristicStep 1. Initialize:• Current time• Set of schedulable operations• Set of completed operations
Step 2. From the set of schedulable operations, select an p poperation using the following priority rules:• P1: with the largest number of successive operations• P2: belonging to a part with the minimum number
of schedulable operations• P3: with the largest number of immediate successive
operations
The University of Iowa Intelligent Systems Laboratory
• P4: belonging to a part with the largest number of unprocessed operations
• P5: with the shortest processing time• P6: belonging to a part with the shortest slack time.
Step 3. Schedule the operation selected in step 2.Update:
• The resource status
• P7: arbitrary choice
• The set of schedulable operations
If the set of schedulable operations is empty, go to step 4; otherwise, go to step 2.
Step 4. Calculate the completion time of each operation scheduled but not completed at the current time.
The University of Iowa Intelligent Systems Laboratory
Set the current time equal to the completion time of the operation with the least remaining processing time. Add this operation (or operations in case of a tie) to the set of completed operations.
Update:• The resource status• The set of schedulable operations
If there is no unprocessed operations, stop; otherwise, go to step 5.
Step 5. If the set of schedulable operations is empty, go to step 4; h i 2
The University of Iowa Intelligent Systems Laboratory
otherwise go to step 2.
Heuristic Structure
Operation with no
Operation belongs to a part
Manufacturingresources
Determine Schedulable Set
with noprecedences being
not-processed
resources available
Use Priority Rules: P1 - P7
Schedule an operation
The University of Iowa Intelligent Systems Laboratory
UpdateCurrent time, machine status, part status
All operations are scheduledyes
Endno
Priority Rules: P1 - P7Schedulable Set
P1P2
>1 operations>1 operations
>1 tiP2P3
P4
P5P6
>1 operations>1 operations
>1 operations
>1 operations
>1 operations
The University of Iowa Intelligent Systems Laboratory
P7
One Operation Selected Arbitrary select 1 operation
Priority Rule P6: Min slack time
Part P
1 2
1
Part P
3
5
2
4
Part P
6 7 8
3
M
M
3 6 82 Time
1 47
93 6 2 8
0
1 5
12P3 P3
tP2 sP2dP2
The University of Iowa Intelligent Systems Laboratory
tP3dP3
sP3
Slack = Due time - Current time
ExamplePart P
1 2
1
Part P 2
Three Parts3
5
4
The University of Iowa Intelligent Systems Laboratory
• P1: with the largest number of successive operations• P2: belonging to a part with the minimum number
of schedulable operations• P3: with the largest number of immediate successive
operations• P4: belonging to a part with the largest number of
M2 3
number 1 2 3Part number 1 2 3
number 1 2 3Operation numberMachine
1 3 2 4 5 6 7 8
1 2 2 1 1 2 1 2
1
3
2
5
g g p gunprocessed operations•
• P5: with the shortest processing time• P6: belonging to a part with the corresponding
shortest slack time.
The University of Iowa Intelligent Systems Laboratory
numberMachining time
1 2 2 1 1 2 1 2
4 2 3 2 2 3 2 1
The set of schedulable operations is updated to S1= Ø. Go to step 4.
4
876
Step 4. The completion time of operations 1 and 3 is 4 and 3, respectively, and current time is set to 3. Operation 3 is added to the set of completed operations F, F = {3}. Machine 2 becomes available and its status has been updated. The set of schedulable operations is updated to S1= {6}. Go to step 5.
Partnumber 1 2 3Partnumber 1 2 3
1
3
2
Step 5. Since the set of schedulable operations S1={6} Ø, go to Step 2.
Step 2. Operation 6 is selected.Step 3. Operation 6 is scheduled on machine 2.