← Back to Problems
10 / topology

Topology Design

Graph Golf / Node-Degree-Diameter Problem
Binary QUBO / ILP graph-theory network-design combinatorial
Instances 26
Optimally solved 12 / 26
Variable range 22,261–3,003,701
Objective minimize

Overview

The Topology Design problem seeks to construct graphs with optimal communication properties given structural constraints. This problem has applications in network design, where minimizing communication latency (diameter) while limiting connection costs (degree) is crucial.

External Resources:

  • http://research.nii.ac.jp/graphgolf/
  • https://research.nii.ac.jp/graphgolf/problem.html

Problem Description

Given:

  • A target number of nodes $n$
  • A maximum degree constraint $\Delta$

Objective: Find a graph $G = (V,E)$ with $|V| = n$ and maximum degree $\Delta(G) \leq \Delta$ that minimizes the diameter.

Diameter: The diameter of a graph is the maximum shortest path distance between any pair of vertices: $$ \text{diam}(G) = \max_{u,v \in V} d(u,v) $$

Note: We do not use average shortest path length as a tiebreaker.

Performance

Runtime to reach best-known objective

Sorted instances vs total runtime. A point (x, y) means x instances were solved within y seconds. Solid line + filled circle = proven exact; dashed line + open diamond = heuristic. Lower-right is better.

Classical (15 · 11 exact, 4 heuristic)
Cactus plot: cumulative number of instances solved (horizontal) versus total runtime in seconds on a log scale (vertical), one line per method group; lower-right is better.1101001,00010,00003691215instances solved →runtime (s, log)Classical · exact · topology_15_4 · 1.13 sClassical · exact · topology_15_3 · 2.68 sClassical · exact · topology_20_4 · 3.84 sClassical · exact · topology_20_5 · 14.3 sClassical · exact · topology_25_6 · 36.8 sClassical · exact · topology_20_3 · 51.5 sClassical · exact · topology_25_5 · 158.4 sClassical · exact · topology_25_4 · 380.1 sClassical · exact · topology_30_5 · 1,010 sClassical · exact · topology_25_3 · 3,325 sClassical · exact · topology_30_4 · 6,487 sClassical · heuristic · topology_35_5 · 7,200 sClassical · heuristic · topology_35_6 · 7,200 sClassical · heuristic · topology_50_4 · 7,200 sClassical · heuristic · topology_30_6 · 7,200 s

Time-to-solution (TTS) to reach best-known objective

Same as the runtime cactus but uses the reported Time-to-Solution rather than total runtime. Solid = exact, dashed = heuristic.

Classical (15 · 11 exact, 4 heuristic)
Cactus plot: cumulative number of instances solved (horizontal) versus time-to-solution in seconds on a log scale (vertical), one line per method group; lower-right is better.1101001,00010,00003691215instances solved →time-to-solution (s, log)Classical · exact · topology_15_4 · 1 sClassical · exact · topology_15_3 · 2 sClassical · exact · topology_20_4 · 3 sClassical · exact · topology_20_5 · 14 sClassical · exact · topology_25_5 · 25 sClassical · exact · topology_25_6 · 36 sClassical · exact · topology_20_3 · 51 sClassical · heuristic · topology_30_6 · 58 sClassical · heuristic · topology_35_6 · 280 sClassical · exact · topology_25_4 · 380 sClassical · exact · topology_30_5 · 1,009 sClassical · heuristic · topology_50_4 · 1,337 sClassical · heuristic · topology_35_5 · 2,499 sClassical · exact · topology_25_3 · 3,325 sClassical · exact · topology_30_4 · 6,487 s

Solution quality (performance profile)

Share of instances each group brings within a given optimality gap of the best-known objective. Higher is better; the value at “best” is the share solved exactly.

Classical (16)
Performance profile: share of instances (vertical) reached within a given optimality gap of the best-known objective (horizontal), one line per method group; higher is better.0%25%50%75%100%best+1.9%+7.2%+23%+67%optimality gap from best-known →instances solved (%)Classical · within best · 94% · topology_15_3, topology_15_4, topology_20_3, topology_20_4, topology_20_5, topology_25_3, topology_25_4, topology_25_5, topology_25_6, topology_30_4, topology_30_5, topology_30_6, topology_35_5, topology_35_6, topology_50_4Classical · within +67% · 100% · topology_40_6

Runtime scaling with instance size

Fastest feasible runtime (log scale) per instance versus Nodes — shows how each group scales.

Classical (16)
Scaling plot: fastest feasible runtime in seconds on a log scale (vertical) versus Nodes (horizontal), one series per method group.1101001,00010,00020304050Nodes →runtime (s, log)Classical · topology_15_3 · Nodes 15 · 2.68 sClassical · topology_15_4 · Nodes 15 · 1.13 sClassical · topology_20_3 · Nodes 20 · 51.5 sClassical · topology_20_4 · Nodes 20 · 3.84 sClassical · topology_20_5 · Nodes 20 · 14.3 sClassical · topology_25_3 · Nodes 25 · 3,325 sClassical · topology_25_4 · Nodes 25 · 380.1 sClassical · topology_25_5 · Nodes 25 · 158.4 sClassical · topology_25_6 · Nodes 25 · 36.8 sClassical · topology_30_4 · Nodes 30 · 6,487 sClassical · topology_30_5 · Nodes 30 · 1,010 sClassical · topology_30_6 · Nodes 30 · 7,200 sClassical · topology_35_5 · Nodes 35 · 7,200 sClassical · topology_35_6 · Nodes 35 · 7,200 sClassical · topology_40_6 · Nodes 40 · 7,200 sClassical · topology_50_4 · Nodes 50 · 7,200 s

Submissions (3)

Method Submitter Type Date Instances
MIP-Seidel-Quadratic Maximilian Schicker Classical 2024-12-06 16
MIP-Seidel-Linear Maximilian Schicker Classical 2024-12-06 16
MIP-Flow Maximilian Schicker Classical 2024-12-06 16

Instances (26)

26 of 26
Name Nodes Max degree Best objective Source Status Download
topology_15_3 15 3 3 Reference solution Optimal ↓ raw
topology_15_4 15 4 2 Reference solution Optimal ↓ raw
topology_20_3 20 3 3 Reference solution Optimal ↓ raw
topology_20_4 20 4 3 Reference solution Optimal ↓ raw
topology_20_5 20 5 2 Reference solution Optimal ↓ raw
topology_25_3 25 3 4 Reference solution Optimal ↓ raw
topology_25_4 25 4 3 Reference solution Optimal ↓ raw
topology_25_5 25 5 3 Reference solution Optimal ↓ raw
topology_25_6 25 6 2 Reference solution Optimal ↓ raw
topology_30_4 30 4 3 Reference solution Optimal ↓ raw
topology_30_5 30 5 3 Reference solution Optimal ↓ raw
topology_30_6 30 6 3 Reference solution Best known ↓ raw
topology_35_5 35 5 4 Reference solution Best known ↓ raw
topology_35_6 35 6 3 Reference solution Best known ↓ raw
topology_40_6 40 6 3 Reference solution Optimal ↓ raw
topology_50_4 50 4 5 Reference solution Best known ↓ raw
topology_512_4 512 4 6 Reference solution Best known ↓ raw
topology_512_6 512 6 5 Reference solution Best known ↓ raw
topology_1024_4 1,024 4 7 Reference solution Best known ↓ raw
topology_1726_30 1,726 30 3 Reference solution Best known ↓ raw
topology_4855_15 4,855 15 4 Reference solution Best known ↓ raw
topology_9344_6 9,344 6 7 Reference solution Best known ↓ raw
topology_65536_6 65,536 6 9 Reference solution Best known ↓ raw
topology_100000_8 100,000 8 7 Reference solution Best known ↓ raw
topology_1000000_16 1,000,000 16 6 Reference solution Best known ↓ raw
topology_1000000_32 1,000,000 32 5 Reference solution Best known ↓ raw