Skip to content
Snippets Groups Projects
Commit 957c8286 authored by Hans-Jörg's avatar Hans-Jörg
Browse files

Fix bugs in order optimization

* the recursive call was not appropiate
* wait time was not setup correctly for the first strategy
parent 87d52d0e
No related branches found
No related tags found
No related merge requests found
......@@ -80,20 +80,20 @@ class OptimizeOrder:
if len(schedule) == 1:
self.bo_storage[schedule_set] = schedule
return schedule
fastest_runtime = None
fastest_order = None
for i in range(len(schedule)):
s = schedule[i]
ss = schedule[:i] + schedule[i + 1 :]
ss = schedule[:i] + schedule[i + 1:]
optimal_order = self.find_optimal_order(ss)
fastest_runtime = None
fastest_order = None
for j in range(len(optimal_order) + 1):
order = optimal_order[:j] + [s] + optimal_order[j:]
(_, run_time, _) = self.runtime(order)
if (not fastest_runtime) or fastest_runtime > run_time:
fastest_runtime = run_time
fastest_order = order
self.bo_storage[schedule_set] = fastest_order
return fastest_order
self.bo_storage[schedule_set] = fastest_order
return fastest_order
def _run_step(self, wait_time, step, total_time, solved_benchmarks):
t, e = step
......@@ -110,5 +110,5 @@ class OptimizeOrder:
nothing_solved = pd.Series(False, self.frame.index)
for s in strategies:
(total_time, solved) = self._run_step(0, s, 0, nothing_solved.copy())
rt_storage[(s,)] = (0, total_time, solved)
rt_storage[(s,)] = (s[0], total_time, solved)
self.rt_storage = rt_storage
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment