@@ -60,6 +60,7 @@ def __init__(self, env_config=None):
60
60
self .machine_legal = None
61
61
# initial values for variables used for representation
62
62
self .start_timestamp = datetime .datetime .now ().timestamp ()
63
+ self .sum_op = 0
63
64
instance_file = open (instance_path , 'r' )
64
65
line_str = instance_file .readline ()
65
66
line_cnt = 1
@@ -84,6 +85,7 @@ def __init__(self, env_config=None):
84
85
self .instance_matrix [job_nb ][i // 2 ] = (machine , time )
85
86
self .max_time_op = max (self .max_time_op , time )
86
87
self .jobs_length [job_nb ] += time
88
+ self .sum_op += time
87
89
i += 2
88
90
line_str = instance_file .readline ()
89
91
line_cnt += 1
@@ -304,9 +306,9 @@ def _increase_time_step(self):
304
306
self .state [job ][3 ] = self .total_perform_op_time_jobs [job ] / self .max_time_jobs
305
307
if self .time_until_finish_current_op_jobs [job ] == 0 :
306
308
self .total_idle_time_jobs [job ] += (difference - was_left_time )
307
- self .state [job ][6 ] = self .total_idle_time_jobs [job ] / ( self .max_time_jobs * self . jobs )
309
+ self .state [job ][6 ] = self .total_idle_time_jobs [job ] / self .sum_op
308
310
self .idle_time_jobs_last_op [job ] = (difference - was_left_time )
309
- self .state [job ][5 ] = self .idle_time_jobs_last_op [job ] / ( self .max_time_jobs * self . jobs )
311
+ self .state [job ][5 ] = self .idle_time_jobs_last_op [job ] / self .sum_op
310
312
self .todo_time_step_job [job ] += 1
311
313
self .state [job ][2 ] = self .todo_time_step_job [job ] / self .machines
312
314
if self .todo_time_step_job [job ] < self .machines :
@@ -324,8 +326,8 @@ def _increase_time_step(self):
324
326
elif self .todo_time_step_job [job ] < self .machines :
325
327
self .total_idle_time_jobs [job ] += difference
326
328
self .idle_time_jobs_last_op [job ] += difference
327
- self .state [job ][5 ] = self .idle_time_jobs_last_op [job ] / ( self .max_time_jobs * self . jobs )
328
- self .state [job ][6 ] = self .total_idle_time_jobs [job ] / ( self .max_time_jobs * self . jobs )
329
+ self .state [job ][5 ] = self .idle_time_jobs_last_op [job ] / self .sum_op
330
+ self .state [job ][6 ] = self .total_idle_time_jobs [job ] / self .sum_op
329
331
for machine in range (self .machines ):
330
332
if self .time_until_available_machine [machine ] < difference :
331
333
empty = difference - self .time_until_available_machine [machine ]
0 commit comments