Based on METIS official manual, it can partition graphs into k unequal parts with different capacities for vertices:
METIS’ graph and mesh partitioning programs and API routines are designed to partition a graph into k parts such that each part contains a pre-specified fraction of the total number of vertices/elements/nodes. In addition, in the case of multi-constraint partitioning, these pre-specified fractions are provided for each one of the vertex weights.
Now my question is how is it possible? how can we tell metis to partition graph into k unequal parts and how we can specify the capacity of these parts. I found an option -tpwgts
to define Target partition weights but i don't understand how it's affecting the partitioning process and the description in manual is not very intelligible! So please can you describe how is possible to make different partitions with different sizes?