CkPttn 1.2.4
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
MidLvlPartMgr< Gnl > Class Template Reference

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.
 

Detailed Description

template<typename Gnl>
class MidLvlPartMgr< Gnl >

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.

Template Parameters
GnlThe hypergraph type

Member Typedef Documentation

◆ node_t

template<typename Gnl >
using MidLvlPartMgr< Gnl >::node_t = typename Gnl::node_t

Constructor & Destructor Documentation

◆ MidLvlPartMgr()

template<typename Gnl >
MidLvlPartMgr< Gnl >::MidLvlPartMgr ( const Gnl &  hyprgraph,
double  bal_tol 
)

Constructs a new MidLvlPartMgr object.

Parameters
[in]hyprgraphThe hypergraph to partition
[in]bal_tolThe balance tolerance for the partitioning

Member Function Documentation

◆ optimize()

template<typename Gnl >
void MidLvlPartMgr< Gnl >::optimize ( std::span< std::uint8_t >  part)

Optimizes the partition using exhaustive mid-level search.

Parameters
[in,out]partThe partition vector to optimize

Member Data Documentation

◆ total_cost

template<typename Gnl >
int MidLvlPartMgr< Gnl >::total_cost {}

Total cost of the current partitioning solution.


The documentation for this class was generated from the following file: