3524 memory error in optimisation script #3552
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Objective
When running large use cases, the new optimisation script tends to encounter a memory error, which is linked to the
copy
library'sdeepcopy()
method, as described in issue #3524. This PR addresses this issue by introducing new__copy()__
methods for objects of theSupplySystem
andDistrictEnergySystem
classes that operate more explicitly and thus more efficiently in terms of memory usage.To Test
For an elaborate test, a profiler could be used to compare the scripts' performance before and after this change.
A more straightforward test would be to check if the script maintains the same functionality by comparing the structure of results of a run before and after this change. (Since the optimisation script contains inherent randomness, the results will not be exactly the same but they should at least be quite comparable in terms of optimal energy systems, objective functions etc.)