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.
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
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