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:
- 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 Journal on Applied Mathematics, 34(3), 477–495.
- Garey, M. R. & Johnson, D. S. (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. Problem GT40.
- Graph bandwidth (Wikipedia)
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
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
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:
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
Schema (data type)
Type name: MinimumGraphBandwidth
Variants: graph type G (e.g., SimpleGraph)
Complexity
Extra Remark
Relationship to existing problems:
Why MinimumGraphBandwidth is distinct:
OptimizationProblem(Minimize)Applications:
How to solve
Example Instance
2×3 Grid P₂ × P₃ — bandwidth = 2
Suboptimal labelings (for round-trip testing):
Validation Method