-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrunModel.m
39 lines (29 loc) · 1.11 KB
/
runModel.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function [ TOTAL_PROCESSING_TIME, ...
TOTAL_MAKESPAN_TIME, ...
TOTAL_CON_SWIT_TIME, VOLUMES_A, VOLUMES_B, VOLUMES_C ] = runModel(SYSTEM)
% INITALISE
TOTAL_PROCESSING_TIME = uint32(0);
TOTAL_MAKESPAN_TIME = uint32(0);
TOTAL_CON_SWIT_TIME = uint32(0);
% INITALISE UNCONTROLLED EVENT STRUCTURES
UEP_MATRIX = uint16(zeros(SYSTEM.EPISODE_LENGTH, SYSTEM.NO_POS_EVENTS));
UEP_INDICATOR = uint16(zeros(SYSTEM.EPISODE_LENGTH,1));
% LOOP
t = 1;
while t <= SYSTEM.EPISODE_LENGTH
% DO STEP
[ TOTAL_PROCESSING_TIME, TOTAL_CON_SWIT_TIME, TOTAL_MAKESPAN_TIME, t, SYSTEM, UEP_MATRIX, UEP_INDICATOR ] = step(TOTAL_PROCESSING_TIME, TOTAL_CON_SWIT_TIME, TOTAL_MAKESPAN_TIME, SYSTEM, UEP_MATRIX, UEP_INDICATOR, t);
% FINISHED
if TOTAL_MAKESPAN_TIME ~= 0
%disp("FINISHED MAKESPAN AT TIME: " + t);
break
end
% TIME INCREMENT
t = t + 1;
% TIME
%disp("CURRENT TIME: " + t);
end
VOLUMES_A = [SYSTEM.A1.VOLUME SYSTEM.A2.VOLUME SYSTEM.A3.VOLUME];
VOLUMES_B = [SYSTEM.B1.VOLUME SYSTEM.B2.VOLUME SYSTEM.B3.VOLUME];
VOLUMES_C = [SYSTEM.C1.VOLUME SYSTEM.C2.VOLUME SYSTEM.C3.VOLUME];
end