|
CkPttn 1.2.4
|
Mid-Level Partition Manager (2-way) More...
#include <MidLvlPartMgr.hpp>
Public Types | |
| using | node_t = typename Gnl::node_t |
Public Member Functions | |
| MidLvlPartMgr (const Gnl &hyprgraph, double bal_tol) | |
| Constructs a new MidLvlPartMgr object. | |
| void | optimize (std::span< std::uint8_t > part) |
| Optimizes the partition using exhaustive mid-level search. | |
Public Attributes | |
| int | total_cost {} |
| Total cost of the current partitioning solution. | |
Mid-Level Partition Manager (2-way)
The MidLvlPartMgr class performs mid-level (exhaustive) partitioning for small hypergraphs using the middle-levels Gray code algorithm. It enumerates balanced partitions via Hamiltonian cycles to find the optimal 2-way partitioning for small instances.
| Gnl | The hypergraph type |
| using MidLvlPartMgr< Gnl >::node_t = typename Gnl::node_t |
| MidLvlPartMgr< Gnl >::MidLvlPartMgr | ( | const Gnl & | hyprgraph, |
| double | bal_tol | ||
| ) |
Constructs a new MidLvlPartMgr object.
| [in] | hyprgraph | The hypergraph to partition |
| [in] | bal_tol | The balance tolerance for the partitioning |
| void MidLvlPartMgr< Gnl >::optimize | ( | std::span< std::uint8_t > | part | ) |
Optimizes the partition using exhaustive mid-level search.
| [in,out] | part | The partition vector to optimize |
| int MidLvlPartMgr< Gnl >::total_cost {} |
Total cost of the current partitioning solution.