HP MLIB User's Guide Vol. 2 7th Ed.

974 HP MLIB User’s Guide
mlib_METIS_mCPartGraphRecursive Partitions a graph
options This is an array of 5 integers that is used to pass
parameters for the various phases of the algorithm. If
options[0]=0 then default values are used. If
options[0]=1 then the remaining 4 elements of options
are interpreted as follows:
options[1] Determines matching type. Possible values
are:
1—Random Matching (RM)
2—Heavy-Edge Matching (HEM)
3—Sorted Heavy-Edge Matching (SHEM)(Default)
5—Sorted Heavy-Edge Matching followed by 1-norm
Balanced-Edge (SHEBMIN)
6—Sorted Heavy-Edge Matching followed by
infinity-norm Balanced-Edge (SHEBMIN)(Default)
7—1-norm Balanced-Edge followed by Heavy-Edge
Matching (SBHEMIN)
8—Infinity-norm Balanced-Edge followed by
Heavy-Edge Matching (SBHEMIN)
Experiments have shown that for simple balancing
problems, the schemes that give priority to heavy edges
(e.g., SHEM, SHEBMIN) perform better, and for hard
balancing problems, the schemes that give priority to
balanced edges (e.g., SBHEMIN) perform better
options[2] Determines the algorithm used during
initial partioning. Possible values are:
1—Multi-constraint Greedy Graph Growing
2—Random (Default)
options[3] Determines the algorithm used for
refinement. Possible values are:
1—Early-Exit Boundary FM Refinement (Default)
options[4] Used for debugging purposes. Always set it
to 0 (Default)
edgecut Upon successful completion, this variable stores the
number of edges that are cut by the partition.
part This is a vector of size n that upon successful
completion stores the partition vector of the graph. The
numbering of this vector starts from either 0 or 1,
depending on the value of numflag.