39 std::uint8_t num_parts;
41 size_t limitsize{50U};
62 MLPartMgr(
double bal_tol, std::uint8_t num_parts) : bal_tol{bal_tol}, num_parts{num_parts} {}
80 template <
typename Gnl,
typename PartMgr>
LegalCheck
Check if the move of v can satisfied, GetBetter, or NotSatisfied.
Definition FMConstrMgr.hpp:22
Multilevel Partition Manager.
Definition MLPartMgr.hpp:34
MLPartMgr(double bal_tol)
Constructs a new MLPartMgr object with the given balance tolerance and a default number of partitions...
Definition MLPartMgr.hpp:53
int total_cost
Total cost of the current partitioning solution.
Definition MLPartMgr.hpp:45
MLPartMgr(double bal_tol, std::uint8_t num_parts)
Constructs a new MLPartMgr object with the given balance tolerance and number of partitions.
Definition MLPartMgr.hpp:62
void set_limitsize(size_t limit)
Sets the limit size for the partitioning.
Definition MLPartMgr.hpp:69
auto run_Partition(const Gnl &hyprgraph, std::span< std::uint8_t > part) -> LegalCheck
Runs the Fiduccia-Mattheyses (FM) partitioning algorithm on the given hypergraph.