Graph and hypergraph partitioner
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
include
src
test
.gitignore
CMakeLists.txt
LICENSE
README.md

README.md

Minipart

Minipart is a solver for the hypergraph partitioning problem.

Hypergraph partitioning is a well-known NP-hard optimization problem. It is a common problem in computer engineering. For example, it is part of the models to optimize electronic circuit design or task allocation for distributed computing. Minipart aims at providing an open-source solver and a simple research tool to experiment with.

Minipart is under active development. It already returns good solutions, but will undergo performance optimizations and tuning on a wider range of problems.

Usage

You can compile Minipart with a recent C++ compiler, CMake and the Boost C++ libraries.

To run it:

minipart -g <FILE> -o <OUTPUT>

It accepts the hMetis hypergraph format.

For more information about the options:

minipart --help

For example, to run one of the ISPD98 benchmarks at 2% margin:

minipart -g ibm01.hgr --margin 2 

Name

Minipart is named after Minisat, the well-known SAT solver. I am not related in any ways to Minisat's authors, but I learned a lot through their codebase and research.

For another open-source partitioner, see MLPart