CkPttn 1.2.4
Loading...
Searching...
No Matches
MidLvlPartMgr.hpp
Go to the documentation of this file.
1
6#pragma once
7
8#include <cstdint>
9#include <span>
10
11#include "FMBiConstrMgr.hpp"
12#include "FMBiGainCalc.hpp"
13
24template <typename Gnl> class MidLvlPartMgr {
25 public:
26 using node_t = typename Gnl::node_t;
27
30
37 MidLvlPartMgr(const Gnl& hyprgraph, double bal_tol);
38
44 void optimize(std::span<std::uint8_t> part);
45
46 private:
48 const Gnl& hyprgraph;
50 FMBiGainCalc<Gnl> gain_calc;
52 FMBiConstrMgr<Gnl> constr_mgr;
53};
Binary FM constraint manager for 2-way partitioning.
Binary FM gain calculator for 2-way partitioning.
Constraint Manager.
Definition FMBiConstrMgr.hpp:17
Binary Fiduccia-Mattheyses Gain Calculator.
Definition FMBiGainCalc.hpp:32
Mid-Level Partition Manager (2-way)
Definition MidLvlPartMgr.hpp:24
void optimize(std::span< std::uint8_t > part)
Optimizes the partition using exhaustive mid-level search.
MidLvlPartMgr(const Gnl &hyprgraph, double bal_tol)
Constructs a new MidLvlPartMgr object.
int total_cost
Total cost of the current partitioning solution.
Definition MidLvlPartMgr.hpp:29
typename Gnl::node_t node_t
Definition MidLvlPartMgr.hpp:26