Asunder DocumentationΒΆ

A banner image for the asunder package.

Asunder is a package for constrained structure detection on undirected graphs. In machine learning terms, this is constrained graph clustering; in other communities, it is constrained graph partitioning.

The fastest built-in workflow is load-balanced graph partitioning:

from asunder.load_balancing import LoadBalancer

result = LoadBalancer(G, K=4, R=1)

Use asunder.load_balancing when you have a graph and need communities whose sizes are equal, near-equal, or bounded by explicit lower and upper limits. The workflow includes initial feasible partition generation, load balancing constraints, master problem handling, and refinement.

Asunder also provides asunder.base for reusable decomposition and column-generation building blocks, plus asunder.nlbnp for nonlinear branch-and-price workflows. Use CorePeripheryPartition when core removal exposes final connected-component communities, or NonlinearBranchAndPrice when those components require finer subdivision through column generation.

Start here: