https://github.com/coloquinte/minipart2
All-purpose hypergraph partitioning tool
https://github.com/coloquinte/minipart2
Last synced: 9 months ago
JSON representation
All-purpose hypergraph partitioning tool
- Host: GitHub
- URL: https://github.com/coloquinte/minipart2
- Owner: Coloquinte
- License: mit
- Created: 2019-03-03T13:19:17.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-11-19T17:10:14.000Z (over 6 years ago)
- Last Synced: 2025-09-24T03:37:13.843Z (9 months ago)
- Language: C++
- Homepage:
- Size: 49.7 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Minipart Hypergraph Partitioning
A hypergraph is a generalization of a graph where an edge may be connected to multiple vertices.
In the hypergraph partitioning problem, the goal is to partition it into several blocks of similar size, while keeping the number of edges that are cut to a minimum.
Minipart is a tool to partition hypergraphs. Its goal is to solve variations of the problem that arise in practice, even when the objective function does not fit the textbook problem. It provides a few typical cost functions and makes it possible to plug your own.
## Building Minipart
Minipart is built using CMake. To build Minipart, make sure that you have a C++ compiler, CMake and the Boost library installed. You can then build it with the following commands:
mkdir build; cd build
cmake ..
make
## Running Minipart
Minipart reads hypergraphs in the hMetis format (.hgr) and in its own format (.mgr). See the examples for more information about these formats.
To run Minipart:
minipart -i -k <# of blocks> -e <% imbalance>
To see all command line options:
minipart -h
To output the result:
minipart -i -k <# of blocks> -o
To run with a different objective (here maximum block degree):
minipart -i -k <# of blocks> -g max-degree