introduced new metis partitioning options #117
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.
The goal of METIS is to partition a network in such a way that the number of cut edges is minimized. If edge weights are set, it minimizes the sum of the weights.
You can also explicitly assign node weights (multiple of them) that constrain the partitioning problem. Additionally, there is a tolerance factor regarding the constraints in which the results are allowed to lie.
See: https://www.lrz.de/services/software/mathematik/metis/metis_5_0.pdf
This PR introduces new partitioning options to qsim. The struct
MetisOptions
holds them. It consists ofvertex_weight
which holds predefined weight optionsedge_weight
which can be turned on to use capacity as edge weightimbalance_factor
which is the allowed relative weight difference in comparison to equal distribution of weight among the partitions