Asunder DocumentationΒΆ
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:
Quickstart Guide for load balancing and decomposition examples.
Problem Fit and Utility to decide between the load balancing, reusable base, and nonlinear branch-and-price workflows.
Load Balancing API for the load balancing API reference.
NLBNP API for the NLBNP workflows and API reference.
Getting Started