This is an implementation of the paper Balanced Graph Partitioning (authors: Konstantin Andreev, Harald Racke).
The code was tested on python 3.5 with these additional libraries:
- numpy
- networkx
- python-igraph
In order to install them:
-
Open Python console
-
write
pip install numpy
and wait termination -
write
pip install networkx
and wait termination -
write
pip install python-igraph
and wait termination In case of failure of this last step: 1) go to http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-igraph 2) write in python console: "pip install path/to/igraph.whl" -
Then the file to launch is "Balancer_Cut"
The code wast tested on Python 2.7.11 because igraph library is not compatible with Python 2.7+ versions.
On Linux (and other Unix-like systems), you will need a C and a C++ compiler, the tool "make" and the development header files for your version of Python. On Debian and Ubuntu Linux the "build-essential" and "python-dev" packages.
The code runs with these additional libraries:
- numpy
- networkx
- python-igraph
-
Open Python console
-
write
pip install numpy
and wait termination -
write
pip install networkx
and wait termination [remember to install the library in the right Python version (2.7)] -
write
pip install python-igraph
and wait termination In case of failure of this last step: 1) check "# Requirements" 2) follow instructions on this page http://igraph.wikidot.com/installing-python-igraph-on-linux [Ubuntu Linux version tested by us] -
Then the file to launch is "Balancer_Cut"
The code is provided with MIT license
Paper: "Balanced Graph Partitioning" http://www.math.cmu.edu/~kandreev/kpart.pdf
Ivan Vigorito and Lorenzo Frigerio