Skip to content

[Model] MinimumGraphBandwidth #133

@QingyunQian

Description

@QingyunQian

Motivation

Add the Graph Bandwidth problem, a classic graph layout optimization problem from combinatorial optimization. The goal is to label vertices of a graph with distinct integers so that the maximum difference between labels of adjacent vertices is minimized. This problem is notable for being NP-complete even for very restricted graph classes (trees with maximum degree 3), having strong inapproximability results (NP-hard to approximate within any constant factor), and introducing a minimax permutation paradigm — fundamentally different from existing problems in the project, which are subset selection (MaxCut, MaximumClique), additive permutation optimization (TravelingSalesman), or constraint satisfaction (KColoring, SAT).

Definition

Name: MinimumGraphBandwidth
Reference:

Given an undirected graph G = (V, E) with |V| = n vertices, find a bijective labeling f: V → {0, 1, ..., n−1} that minimizes the bandwidth:

B(f, G) = max { |f(u) − f(v)| : (u, v) ∈ E }

The bandwidth of G is B*(G) = min_f B(f, G), taken over all bijective labelings f.

Decision version: Given G and integer k, is B*(G) ≤ k?

Note: Both the unweighted and weighted variants are special cases of the Quadratic Bottleneck Assignment Problem. This proposal covers the unweighted version; the weighted generalization (minimize max { w_{uv} · |f(u) − f(v)| }) can be added as a future extension.

Variables

  • Count: n (number of vertices)
  • Per-variable domain: n (each vertex is assigned a label from {0, 1, ..., n−1})
  • Meaning: config[i] ∈ {0, 1, ..., n−1} represents the position assigned to vertex i on the number line
  • Constraint: the assignment must be a bijection (all labels distinct, i.e., a permutation)

Schema (data type)

Type name: MinimumGraphBandwidth
Variants: graph type G (e.g., SimpleGraph)

Field Type Description
graph G The underlying undirected graph G = (V, E)

Complexity

  • Best known exact algorithm: O*(4.473^n) by Cygan and Pilipczuk (2010), using an exponential-time algorithm based on subset convolution over subsets of vertices; for fixed bandwidth bound k, the decision problem "bandwidth ≤ k?" is solvable in O(n^k) time by dynamic programming (Gurari & Sudborough, 1984)
  • Complexity class: NP-complete (Papadimitriou, 1976); remains NP-complete even for trees with maximum vertex degree 3 (Garey, Graham, Johnson & Knuth, 1978)
  • Approximation hardness: NP-hard to approximate within any constant factor, even for caterpillar trees with maximum hair length 2 (Dubey, Feige & Unger, 2010); best known approximation ratio for general graphs is O(log³n · √(log log n)) via SDP (Feige, 2000; Dunagan & Vempala, 2001)
  • Special cases: Bandwidth ≤ 2 is decidable in linear time (Garey et al., 1978); for any fixed k, bandwidth ≤ k is in P with O(n^k) complexity
  • References:
    • Papadimitriou, C. H. (1976). "The NP-Completeness of the bandwidth minimization problem." Computing, 16, 263–270.
    • Garey, M. R., Graham, R. L., Johnson, D. S., & Knuth, D. E. (1978). "Complexity results for bandwidth minimization." SIAM J. Appl. Math., 34(3), 477–495.
    • Gurari, E. M. & Sudborough, I. H. (1984). "Improved dynamic programming algorithms for bandwidth minimization and the MinCut Linear Arrangement problem." J. Algorithms, 5, 531–546.
    • Cygan, M. & Pilipczuk, M. (2010). "Exact and approximate bandwidth." Theoretical Computer Science, 411(40–42), 3701–3713.
    • Dubey, C., Feige, U. & Unger, W. (2010). "Hardness results for approximating the bandwidth." J. Comput. Syst. Sci., 77, 62–90.
    • Feige, U. (2000). "Approximating the bandwidth via volume respecting embeddings." J. Comput. Syst. Sci., 60(3), 510–539.

Extra Remark

Relationship to existing problems:

Problem MinimumGraphBandwidth Key Difference
TravelingSalesman Both are graph optimization on permutations TSP: minimize sum of edge costs over a Hamiltonian cycle; Bandwidth: minimize max of edge spans over a vertex labeling
KColoring Both assign labels to vertices of a graph KColoring: k colors, no ordering semantics, satisfaction problem; Bandwidth: n positions on a line, ordering matters, optimization problem
MaxCut Both are graph optimization problems MaxCut: binary partition (2 groups), maximize total cut weight; Bandwidth: full permutation (n positions), minimize maximum span
ILP Target for reduction Bandwidth can be encoded as an integer assignment problem with bottleneck constraints

Why MinimumGraphBandwidth is distinct:

  • Objective type: Minimax (minimize the maximum edge span) — the only such problem in the project; existing optimization problems use additive objectives (minimize/maximize a sum)
  • Configuration space: Permutation (bijective labeling of n vertices to n positions) — shared only with TSP, but TSP selects edges while Bandwidth assigns positions
  • Problem type: OptimizationProblem (Minimize)

Applications:

  • Sparse matrix reordering: Minimizing matrix bandwidth reduces fill-in during Gaussian elimination and improves cache locality for banded solvers; the Cuthill–McKee algorithm is a widely-used heuristic for this
  • VLSI circuit layout: Standard cell placement in a single row to minimize maximum wire length (proportional to propagation delay)
  • Finite element methods: Mesh vertex numbering to reduce bandwidth of stiffness matrices, enabling efficient banded matrix solvers

How to solve

  • It can be solved by bruteforce (enumerate all n! vertex permutations)
  • Specialized heuristics: Cuthill–McKee / Reverse Cuthill–McKee algorithms

Example Instance

2×3 Grid P₂ × P₃ — bandwidth = 2

Graph:
  0 — 1 — 2
  |   |   |
  3 — 4 — 5

Vertices: {0, 1, 2, 3, 4, 5}
Edges: {(0,1), (1,2), (0,3), (1,4), (2,5), (3,4), (4,5)}

Column-major labeling: f(0)=0, f(3)=1, f(1)=2, f(4)=3, f(2)=4, f(5)=5
Verification (bijection): labels = {0, 1, 2, 3, 4, 5} ✓

Edge spans:
  (0,1): |0−2| = 2
  (1,2): |2−4| = 2
  (0,3): |0−1| = 1
  (1,4): |2−3| = 1
  (2,5): |4−5| = 1
  (3,4): |1−3| = 2
  (4,5): |3−5| = 2

Bandwidth = max(2, 2, 1, 1, 1, 2, 2) = 2

Optimality: φ(P_m × P_n) = min(m, n) = min(2, 3) = 2
(Chvátalová, 1975).

Suboptimal labelings (for round-trip testing):

  • Row-major f(0)=0, f(1)=1, f(2)=2, f(3)=3, f(4)=4, f(5)=5 → bandwidth = max(|0−3|, |1−4|, |2−5|, ...) = 3
  • Identity labeling on the 0-indexed graph gives bandwidth 3, not 2 — the column-major ordering is strictly better

Validation Method

  • Verify against known closed-form bandwidth formulas:
    • Path P_n: φ = 1
    • Complete graph K_n: φ = n − 1
    • Cycle C_n (n ≥ 3): φ = 2
    • Star K_{1,k}: φ = ⌊(k−1)/2⌋ + 1
    • Grid P_m × P_n: φ = min(m, n) (Chvátalová, 1975)
    • Complete bipartite K_{m,n} (m ≥ n ≥ 1): φ = ⌊(m−1)/2⌋ + n
  • Cross-check with brute-force solver on small instances

Metadata

Metadata

Assignees

No one assigned

    Labels

    GoodAn issue passed all checks.modelA model problem to be implemented.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    OnHold

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions