From 803966e34fca9ef503b0b2db8341c397d62599ad Mon Sep 17 00:00:00 2001 From: GiggleLiu Date: Wed, 18 Mar 2026 02:44:29 +0800 Subject: [PATCH 1/7] Add plan for #186: MinimumMultiwayCut to QUBO reduction --- .../2026-03-18-minimummultiwaycut-to-qubo.md | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 docs/plans/2026-03-18-minimummultiwaycut-to-qubo.md diff --git a/docs/plans/2026-03-18-minimummultiwaycut-to-qubo.md b/docs/plans/2026-03-18-minimummultiwaycut-to-qubo.md new file mode 100644 index 000000000..7ae3d867a --- /dev/null +++ b/docs/plans/2026-03-18-minimummultiwaycut-to-qubo.md @@ -0,0 +1,89 @@ +# Plan: MinimumMultiwayCut to QUBO Reduction (#186) + +## Summary + +Implement the reduction from MinimumMultiwayCut to QUBO based on Heidari, Dinneen & Delmas (2022). The reduction uses kn binary variables where k = |terminals| and n = |vertices|, encoding vertex-to-terminal assignments via a penalty Hamiltonian H_A (enforces valid partition + terminal pinning) and a cut-cost Hamiltonian H_B. + +## Batch 1: Implementation (Steps 1-4) + +All tasks in this batch are independent and can be parallelized. + +### Task 1.1: Implement reduction rule + +**File:** `src/rules/minimummultiwaycut_qubo.rs` + +**Reduction algorithm:** +- Variable mapping: kn binary variables x_{u,t} indexed as `u * k + pos(t)` where pos(t) is the position of terminal t in the terminals list +- alpha = penalty coefficient > sum of all edge weights (use sum + 1.0) + +**Q-matrix construction (expanding H = H_A + H_B):** + +H_A = alpha * (sum_u (1 - sum_t x_{u,t})^2 + sum_t sum_{t'!=t} x_{t,t'}) + +Expanding (1 - sum_t x_{u,t})^2 with x^2=x for binary: += 1 - sum_t x_{u,t} + 2 * sum_{s Date: Wed, 18 Mar 2026 02:52:51 +0800 Subject: [PATCH 2/7] Add MinimumMultiwayCut to QUBO reduction rule Implement the reduction from MinimumMultiwayCut to QUBO using the one-hot vertex-terminal assignment encoding (Heidari, Dinneen & Delmas 2022). The QUBO Hamiltonian uses penalty terms for one-hot constraints and terminal pinning (H_A) plus cut cost encoding (H_B). Includes 4 unit tests covering closed-loop correctness, a small instance, size verification, and terminal pinning. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/rules/minimummultiwaycut_qubo.rs | 156 ++++++++++++++++++ src/rules/mod.rs | 2 + .../rules/minimummultiwaycut_qubo.rs | 100 +++++++++++ 3 files changed, 258 insertions(+) create mode 100644 src/rules/minimummultiwaycut_qubo.rs create mode 100644 src/unit_tests/rules/minimummultiwaycut_qubo.rs diff --git a/src/rules/minimummultiwaycut_qubo.rs b/src/rules/minimummultiwaycut_qubo.rs new file mode 100644 index 000000000..4806a5fb0 --- /dev/null +++ b/src/rules/minimummultiwaycut_qubo.rs @@ -0,0 +1,156 @@ +//! Reduction from MinimumMultiwayCut to QUBO. +//! +//! Variable mapping: k*n binary variables x_{u,t} for each vertex u and +//! terminal position t. x_{u,t} = 1 means vertex u is assigned to terminal t's +//! component. Variable index: u * k + t. +//! +//! QUBO Hamiltonian: H = H_A + H_B +//! +//! H_A enforces valid partition (one-hot per vertex) and terminal pinning. +//! H_B encodes the cut cost objective. +//! +//! Reference: Heidari, Dinneen & Delmas (2022). + +use crate::models::algebraic::QUBO; +use crate::models::graph::MinimumMultiwayCut; +use crate::reduction; +use crate::rules::traits::{ReduceTo, ReductionResult}; +use crate::topology::{Graph, SimpleGraph}; + +/// Result of reducing MinimumMultiwayCut to QUBO. +#[derive(Debug, Clone)] +pub struct ReductionMinimumMultiwayCutToQUBO { + target: QUBO, + num_vertices: usize, + num_terminals: usize, + edges: Vec<(usize, usize)>, +} + +impl ReductionResult for ReductionMinimumMultiwayCutToQUBO { + type Source = MinimumMultiwayCut; + type Target = QUBO; + + fn target_problem(&self) -> &Self::Target { + &self.target + } + + /// Decode one-hot assignment: for each vertex find its terminal, then + /// for each edge check if endpoints are in different terminals. + fn extract_solution(&self, target_solution: &[usize]) -> Vec { + let k = self.num_terminals; + let n = self.num_vertices; + + // For each vertex, find which terminal position it is assigned to + let assignments: Vec = (0..n) + .map(|u| { + (0..k) + .find(|&t| target_solution[u * k + t] == 1) + .unwrap_or(0) + }) + .collect(); + + // For each edge, output 1 (cut) if endpoints differ, 0 (keep) otherwise + self.edges + .iter() + .map(|&(u, v)| { + if assignments[u] != assignments[v] { + 1 + } else { + 0 + } + }) + .collect() + } +} + +#[reduction(overhead = { num_vars = "num_terminals * num_vertices" })] +impl ReduceTo> for MinimumMultiwayCut { + type Result = ReductionMinimumMultiwayCutToQUBO; + + fn reduce_to(&self) -> Self::Result { + let n = self.num_vertices(); + let k = self.num_terminals(); + let edges = self.graph().edges(); + let edge_weights = self.edge_weights(); + let terminals = self.terminals(); + let nq = n * k; + + // Penalty: sum of all edge weights + 1 + let alpha: f64 = edge_weights.iter().map(|&w| (w as f64).abs()).sum::() + 1.0; + + let mut matrix = vec![vec![0.0f64; nq]; nq]; + + // Helper: add value to upper-triangular position + let mut add_upper = |i: usize, j: usize, val: f64| { + let (lo, hi) = if i <= j { (i, j) } else { (j, i) }; + matrix[lo][hi] += val; + }; + + // H_A: one-hot constraint per vertex + // (1 - sum_t x_{u,t})^2 = 1 - sum_t x_{u,t} + 2 * sum_{s Vec { + vec![crate::example_db::specs::RuleExampleSpec { + id: "minimummultiwaycut_to_qubo", + build: || { + use crate::models::algebraic::QUBO; + use crate::models::graph::MinimumMultiwayCut; + use crate::topology::SimpleGraph; + let graph = + SimpleGraph::new(5, vec![(0, 1), (1, 2), (2, 3), (3, 4), (0, 4), (1, 3)]); + let source = MinimumMultiwayCut::new(graph, vec![0, 2, 4], vec![2, 3, 1, 2, 4, 5]); + crate::example_db::specs::direct_best_example::<_, QUBO, _>(source, |_, _| true) + }, + }] +} + +#[cfg(test)] +#[path = "../unit_tests/rules/minimummultiwaycut_qubo.rs"] +mod tests; diff --git a/src/rules/mod.rs b/src/rules/mod.rs index 7a2feab15..2a0c6d259 100644 --- a/src/rules/mod.rs +++ b/src/rules/mod.rs @@ -25,6 +25,7 @@ pub(crate) mod maximummatching_maximumsetpacking; mod maximumsetpacking_casts; pub(crate) mod maximumsetpacking_qubo; pub(crate) mod minimumvertexcover_maximumindependentset; +pub(crate) mod minimummultiwaycut_qubo; pub(crate) mod minimumvertexcover_minimumsetcovering; pub(crate) mod sat_circuitsat; pub(crate) mod sat_coloring; @@ -93,6 +94,7 @@ pub(crate) fn canonical_rule_example_specs() -> Vec>::reduce_to(&source); + let qubo = reduction.target_problem(); + + let solver = BruteForce::new(); + let qubo_solutions = solver.find_all_best(qubo); + + assert!(!qubo_solutions.is_empty(), "QUBO solver found no solutions"); + + // All QUBO optimal solutions should extract to valid source solutions with cost 8 + for sol in &qubo_solutions { + let extracted = reduction.extract_solution(sol); + let metric = source.evaluate(&extracted); + assert_eq!(metric, SolutionSize::Valid(8)); + } +} + +#[test] +fn test_minimummultiwaycut_to_qubo_small() { + // 3 vertices, 2 terminals {0,2}, edges [(0,1),(1,2)] with weights [1,1] + let graph = SimpleGraph::new(3, vec![(0, 1), (1, 2)]); + let source = MinimumMultiwayCut::new(graph, vec![0, 2], vec![1, 1]); + + let reduction = ReduceTo::>::reduce_to(&source); + let qubo = reduction.target_problem(); + + let solver = BruteForce::new(); + let qubo_solutions = solver.find_all_best(qubo); + + assert!(!qubo_solutions.is_empty(), "QUBO solver found no solutions"); + + // All solutions should extract to valid cuts + for sol in &qubo_solutions { + let extracted = reduction.extract_solution(sol); + let metric = source.evaluate(&extracted); + // With 2 terminals and path 0-1-2, minimum cut is 1 (cut either edge) + assert_eq!(metric, SolutionSize::Valid(1)); + } +} + +#[test] +fn test_minimummultiwaycut_to_qubo_sizes() { + // 5 vertices, 3 terminals => QUBO has k*n = 3*5 = 15 variables + let graph = SimpleGraph::new(5, vec![(0, 1), (1, 2), (2, 3), (3, 4), (0, 4), (1, 3)]); + let source = MinimumMultiwayCut::new(graph, vec![0, 2, 4], vec![2, 3, 1, 2, 4, 5]); + + let reduction = ReduceTo::>::reduce_to(&source); + assert_eq!(reduction.target_problem().num_variables(), 15); +} + +#[test] +fn test_minimummultiwaycut_to_qubo_terminal_pinning() { + // Verify that in all QUBO optimal solutions, each terminal vertex is + // assigned to its own terminal position. + let graph = SimpleGraph::new(5, vec![(0, 1), (1, 2), (2, 3), (3, 4), (0, 4), (1, 3)]); + let terminals = vec![0, 2, 4]; + let source = MinimumMultiwayCut::new(graph, terminals.clone(), vec![2, 3, 1, 2, 4, 5]); + + let reduction = ReduceTo::>::reduce_to(&source); + let qubo = reduction.target_problem(); + + let solver = BruteForce::new(); + let qubo_solutions = solver.find_all_best(qubo); + + let k = terminals.len(); + for sol in &qubo_solutions { + for (t_pos, &t_vertex) in terminals.iter().enumerate() { + // Terminal vertex should be assigned to its own position + assert_eq!( + sol[t_vertex * k + t_pos], + 1, + "Terminal {} at position {} should be 1", + t_vertex, + t_pos + ); + // And not assigned to any other position + for s in 0..k { + if s != t_pos { + assert_eq!( + sol[t_vertex * k + s], + 0, + "Terminal {} at position {} should be 0", + t_vertex, + s + ); + } + } + } + } +} From 8fd844b5fdaf3500dffe53e31bb36df8f78e175a Mon Sep 17 00:00:00 2001 From: GiggleLiu Date: Wed, 18 Mar 2026 03:03:39 +0800 Subject: [PATCH 3/7] Implement MinimumMultiwayCut -> QUBO reduction (#186) Add reduction rule from MinimumMultiwayCut to QUBO using the Heidari, Dinneen & Delmas (2022) penalty Hamiltonian formulation with kn binary variables encoding vertex-to-terminal assignments. - Reduction rule with one-hot + terminal pinning penalties (H_A) and cut-cost objective (H_B) - 4 unit tests including closed-loop verification - Canonical example in example_db - Paper entry with worked example in reductions.typ - Regenerated exports (reduction_graph.json, problem_schemas.json, fixtures) Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/paper/reductions.typ | 48 ++++ docs/paper/references.bib | 8 + docs/src/reductions/problem_schemas.json | 31 +++ docs/src/reductions/reduction_graph.json | 279 ++++++++++++++--------- src/example_db/fixtures/examples.json | 1 + 5 files changed, 254 insertions(+), 113 deletions(-) diff --git a/docs/paper/reductions.typ b/docs/paper/reductions.typ index 399057804..fb260effe 100644 --- a/docs/paper/reductions.typ +++ b/docs/paper/reductions.typ @@ -2926,6 +2926,54 @@ where $P$ is a penalty weight large enough that any constraint violation costs m _Solution extraction._ Discard slack variables: return $bold(z)[0..n]$. ] +#let mwc_qubo = load-example("MinimumMultiwayCut", "QUBO") +#let mwc_qubo_sol = mwc_qubo.solutions.at(0) +#let mwc_qubo_edges = mwc_qubo.source.instance.graph.inner.edges.map(e => (e.at(0), e.at(1))) +#let mwc_qubo_weights = mwc_qubo.source.instance.edge_weights +#let mwc_qubo_terminals = mwc_qubo.source.instance.terminals +#let mwc_qubo_n = mwc_qubo.source.instance.graph.inner.nodes.len() +#let mwc_qubo_k = mwc_qubo_terminals.len() +#let mwc_qubo_nq = mwc_qubo_n * mwc_qubo_k +#let mwc_qubo_alpha = mwc_qubo_weights.fold(0, (a, w) => a + w) + 1 +#let mwc_qubo_cut_indices = mwc_qubo_sol.source_config.enumerate().filter(((i, v)) => v == 1).map(((i, _)) => i) +#let mwc_qubo_cut_cost = mwc_qubo_cut_indices.fold(0, (a, i) => a + mwc_qubo_weights.at(i)) +#reduction-rule("MinimumMultiwayCut", "QUBO", + example: true, + example-caption: [$n = #mwc_qubo_n$ vertices, $k = #mwc_qubo_k$ terminals $T = {#mwc_qubo_terminals.map(str).join(", ")}$, $|E| = #mwc_qubo_edges.len()$ edges], + extra: [ + *Step 1 -- Source instance.* The canonical graph has $n = #mwc_qubo_n$ vertices, $m = #mwc_qubo_edges.len()$ edges with weights $(#mwc_qubo_weights.map(str).join(", "))$, and $k = #mwc_qubo_k$ terminals $T = {#mwc_qubo_terminals.map(str).join(", ")}$. + + *Step 2 -- Introduce binary variables.* Assign $k = #mwc_qubo_k$ indicator variables per vertex: $x_(u,t) = 1$ means vertex $u$ belongs to terminal $t$'s component. This gives $n k = #mwc_qubo_n times #mwc_qubo_k = #mwc_qubo_nq$ QUBO variables: + $ underbrace(x_(0,0) x_(0,1) x_(0,2), "vertex 0") #h(4pt) underbrace(x_(1,0) x_(1,1) x_(1,2), "vertex 1") #h(4pt) dots.c #h(4pt) underbrace(x_(4,0) x_(4,1) x_(4,2), "vertex 4") $ + + *Step 3 -- Penalty coefficient.* $alpha = 1 + sum_(e in E) w(e) = 1 + #mwc_qubo_weights.map(str).join(" + ") = #mwc_qubo_alpha$. + + *Step 4 -- Build $H_A$ (constraints).* One-hot: diagonal entries $Q_(u k+t, u k+t) = -#mwc_qubo_alpha$, off-diagonal $Q_(u k+s, u k+t) = #(2 * mwc_qubo_alpha)$ within each vertex's group. Terminal pinning: for each terminal vertex $t_i$, the wrong-position diagonal entries $Q_(t_i k+s, t_i k+s) += #mwc_qubo_alpha$ for $s != i$, effectively canceling the one-hot incentive for those positions.\ + + *Step 5 -- Build $H_B$ (cut cost).* For each edge $(u,v)$ with weight $w$ and each pair $s != t$, add $w$ to $Q_(u k+s, v k+t)$. For example, edge $(0,1)$ with weight $2$ contributes $2$ to positions $(x_(0,0), x_(1,1))$, $(x_(0,0), x_(1,2))$, $(x_(0,1), x_(1,0))$, $(x_(0,1), x_(1,2))$, $(x_(0,2), x_(1,0))$, and $(x_(0,2), x_(1,1))$.\ + + *Step 6 -- Verify a solution.* The QUBO ground state $bold(x) = (#mwc_qubo_sol.target_config.map(str).join(", "))$ decodes to the partition: vertex 0 in component 0, vertices 1--3 in component 1, vertex 4 in component 2. Cut edges: $\{#mwc_qubo_cut_indices.map(i => "(" + str(mwc_qubo_edges.at(i).at(0)) + "," + str(mwc_qubo_edges.at(i).at(1)) + ")").join(", ")\}$ with total weight #mwc_qubo_cut_indices.map(i => str(mwc_qubo_weights.at(i))).join(" + ") $= #mwc_qubo_cut_cost$ #sym.checkmark. + ], +)[ + The multiway cut problem requires a partition of vertices into $k$ components — one per terminal — minimizing the total weight of edges crossing components. The penalty method (@sec:penalty-method) encodes two constraints as QUBO penalties: (1) each vertex belongs to exactly one component (one-hot), and (2) each terminal is pinned to its own component. The cut-cost Hamiltonian counts edge weight across distinct components. Reference: @Heidari2022. +][ + _Construction._ Given $G = (V, E)$ with $n = |V|$, edge weights $w: E -> RR_(>0)$, and $k$ terminals $T = {t_0, ..., t_(k-1)}$. Introduce $n k$ binary variables $x_(u,t) in {0,1}$ (indexed by $u dot k + t$), where $x_(u,t) = 1$ means vertex $u$ is in terminal $t$'s component. Let $alpha = 1 + sum_(e in E) w(e)$. + + The QUBO Hamiltonian is $H = H_A + H_B$ where: + $ H_A = alpha (sum_(u in V) (1 - sum_(t=0)^(k-1) x_(u,t))^2 + sum_(i=0)^(k-1) sum_(s != i) x_(t_i, s)) $ + The first term is a _one-hot constraint_ ensuring each vertex is assigned to exactly one component. The second term _pins_ each terminal $t_i$ to position $i$ by penalizing any other assignment. Expanding the one-hot term using $x^2 = x$: + $ Q_(u k+t, u k+t) = -alpha, quad Q_(u k+s, u k+t) = 2 alpha quad (s < t) $ + Terminal pinning adds $alpha$ to the diagonal $Q_(t_i k+s, t_i k+s)$ for $s != i$, canceling the one-hot incentive. + + The cut-cost Hamiltonian: + $ H_B = sum_((u,v) in E) sum_(s != t) w(u,v) dot x_(u,s) dot x_(v,t) $ + counts the total weight of edges whose endpoints lie in different components. + + _Correctness._ ($arrow.r.double$) A valid multiway cut with cost $C$ maps to a QUBO solution with $H_A = 0$ (valid partition with correct terminal pinning) and $H_B = C$. ($arrow.l.double$) If $H_A > 0$, the penalty $alpha > sum_e w(e)$ exceeds the entire cut-cost range, so any QUBO minimizer has $H_A = 0$, encoding a valid partition. Among valid partitions, $H_B$ equals the cut cost, and the minimizer achieves the minimum multiway cut. + + _Solution extraction._ For each vertex $u$, find terminal position $t$ with $x_(u,t) = 1$. For each edge $(u,v)$, output 1 (cut) if $u$ and $v$ are in different components, 0 otherwise. +] + #let qubo_ilp = load-example("QUBO", "ILP") #let qubo_ilp_sol = qubo_ilp.solutions.at(0) #reduction-rule("QUBO", "ILP", diff --git a/docs/paper/references.bib b/docs/paper/references.bib index 34fc92a17..69cb81d3b 100644 --- a/docs/paper/references.bib +++ b/docs/paper/references.bib @@ -734,3 +734,11 @@ @article{papadimitriou1982 year = {1982}, doi = {10.1145/322307.322309} } + +@techreport{Heidari2022, + author = {Heidari, Shahrokh and Dinneen, Michael J. and Delmas, Patrice}, + title = {An Equivalent {QUBO} Model to the Minimum Multi-Way Cut Problem}, + institution = {Centre for Discrete Mathematics and Theoretical Computer Science, University of Auckland}, + year = {2022}, + number = {CDMTCS-565} +} diff --git a/docs/src/reductions/problem_schemas.json b/docs/src/reductions/problem_schemas.json index 7cd236022..0fbb10816 100644 --- a/docs/src/reductions/problem_schemas.json +++ b/docs/src/reductions/problem_schemas.json @@ -152,6 +152,37 @@ } ] }, + { + "name": "ComparativeContainment", + "description": "Compare containment-weight sums for two set families over a shared universe", + "fields": [ + { + "name": "universe_size", + "type_name": "usize", + "description": "Size of the universe X" + }, + { + "name": "r_sets", + "type_name": "Vec>", + "description": "First set family R over X" + }, + { + "name": "s_sets", + "type_name": "Vec>", + "description": "Second set family S over X" + }, + { + "name": "r_weights", + "type_name": "Vec", + "description": "Positive weights for sets in R" + }, + { + "name": "s_weights", + "type_name": "Vec", + "description": "Positive weights for sets in S" + } + ] + }, { "name": "DirectedTwoCommodityIntegralFlow", "description": "Two-commodity integral flow feasibility on a directed graph", diff --git a/docs/src/reductions/reduction_graph.json b/docs/src/reductions/reduction_graph.json index 756c52b70..eb6d01861 100644 --- a/docs/src/reductions/reduction_graph.json +++ b/docs/src/reductions/reduction_graph.json @@ -84,6 +84,33 @@ "doc_path": "models/algebraic/struct.ClosestVectorProblem.html", "complexity": "2^num_basis_vectors" }, + { + "name": "ComparativeContainment", + "variant": { + "weight": "One" + }, + "category": "set", + "doc_path": "models/set/struct.ComparativeContainment.html", + "complexity": "2^universe_size" + }, + { + "name": "ComparativeContainment", + "variant": { + "weight": "f64" + }, + "category": "set", + "doc_path": "models/set/struct.ComparativeContainment.html", + "complexity": "2^universe_size" + }, + { + "name": "ComparativeContainment", + "variant": { + "weight": "i32" + }, + "category": "set", + "doc_path": "models/set/struct.ComparativeContainment.html", + "complexity": "2^universe_size" + }, { "name": "DirectedTwoCommodityIntegralFlow", "variant": {}, @@ -631,7 +658,7 @@ "edges": [ { "source": 5, - "target": 16, + "target": 19, "overhead": [ { "field": "num_vars", @@ -646,7 +673,7 @@ }, { "source": 7, - "target": 16, + "target": 19, "overhead": [ { "field": "num_vars", @@ -661,7 +688,7 @@ }, { "source": 7, - "target": 63, + "target": 66, "overhead": [ { "field": "num_spins", @@ -675,7 +702,7 @@ "doc_path": "rules/circuit_spinglass/index.html" }, { - "source": 12, + "source": 15, "target": 7, "overhead": [ { @@ -690,8 +717,8 @@ "doc_path": "rules/factoring_circuit/index.html" }, { - "source": 12, - "target": 17, + "source": 15, + "target": 20, "overhead": [ { "field": "num_vars", @@ -705,8 +732,8 @@ "doc_path": "rules/factoring_ilp/index.html" }, { - "source": 16, - "target": 17, + "source": 19, + "target": 20, "overhead": [ { "field": "num_vars", @@ -720,8 +747,8 @@ "doc_path": "rules/ilp_bool_ilp_i32/index.html" }, { - "source": 16, - "target": 56, + "source": 19, + "target": 59, "overhead": [ { "field": "num_vars", @@ -731,8 +758,8 @@ "doc_path": "rules/ilp_qubo/index.html" }, { - "source": 20, - "target": 23, + "source": 23, + "target": 26, "overhead": [ { "field": "num_vertices", @@ -746,8 +773,8 @@ "doc_path": "rules/kcoloring_casts/index.html" }, { - "source": 23, - "target": 16, + "source": 26, + "target": 19, "overhead": [ { "field": "num_vars", @@ -761,8 +788,8 @@ "doc_path": "rules/coloring_ilp/index.html" }, { - "source": 23, - "target": 56, + "source": 26, + "target": 59, "overhead": [ { "field": "num_vars", @@ -772,8 +799,8 @@ "doc_path": "rules/coloring_qubo/index.html" }, { - "source": 24, - "target": 26, + "source": 27, + "target": 29, "overhead": [ { "field": "num_vars", @@ -787,8 +814,8 @@ "doc_path": "rules/ksatisfiability_casts/index.html" }, { - "source": 24, - "target": 56, + "source": 27, + "target": 59, "overhead": [ { "field": "num_vars", @@ -798,8 +825,8 @@ "doc_path": "rules/ksatisfiability_qubo/index.html" }, { - "source": 25, - "target": 26, + "source": 28, + "target": 29, "overhead": [ { "field": "num_vars", @@ -813,8 +840,8 @@ "doc_path": "rules/ksatisfiability_casts/index.html" }, { - "source": 25, - "target": 56, + "source": 28, + "target": 59, "overhead": [ { "field": "num_vars", @@ -824,8 +851,8 @@ "doc_path": "rules/ksatisfiability_qubo/index.html" }, { - "source": 25, - "target": 68, + "source": 28, + "target": 71, "overhead": [ { "field": "num_elements", @@ -835,8 +862,8 @@ "doc_path": "rules/ksatisfiability_subsetsum/index.html" }, { - "source": 26, - "target": 58, + "source": 29, + "target": 61, "overhead": [ { "field": "num_clauses", @@ -854,8 +881,8 @@ "doc_path": "rules/sat_ksat/index.html" }, { - "source": 27, - "target": 56, + "source": 30, + "target": 59, "overhead": [ { "field": "num_vars", @@ -865,8 +892,8 @@ "doc_path": "rules/knapsack_qubo/index.html" }, { - "source": 29, - "target": 16, + "source": 32, + "target": 19, "overhead": [ { "field": "num_vars", @@ -880,8 +907,8 @@ "doc_path": "rules/longestcommonsubsequence_ilp/index.html" }, { - "source": 30, - "target": 63, + "source": 33, + "target": 66, "overhead": [ { "field": "num_spins", @@ -895,8 +922,8 @@ "doc_path": "rules/spinglass_maxcut/index.html" }, { - "source": 32, - "target": 16, + "source": 35, + "target": 19, "overhead": [ { "field": "num_vars", @@ -910,8 +937,8 @@ "doc_path": "rules/maximumclique_ilp/index.html" }, { - "source": 32, - "target": 36, + "source": 35, + "target": 39, "overhead": [ { "field": "num_vertices", @@ -925,8 +952,8 @@ "doc_path": "rules/maximumclique_maximumindependentset/index.html" }, { - "source": 33, - "target": 34, + "source": 36, + "target": 37, "overhead": [ { "field": "num_vertices", @@ -940,8 +967,8 @@ "doc_path": "rules/maximumindependentset_casts/index.html" }, { - "source": 33, - "target": 38, + "source": 36, + "target": 41, "overhead": [ { "field": "num_vertices", @@ -955,8 +982,8 @@ "doc_path": "rules/maximumindependentset_casts/index.html" }, { - "source": 34, - "target": 39, + "source": 37, + "target": 42, "overhead": [ { "field": "num_vertices", @@ -970,8 +997,8 @@ "doc_path": "rules/maximumindependentset_casts/index.html" }, { - "source": 35, - "target": 33, + "source": 38, + "target": 36, "overhead": [ { "field": "num_vertices", @@ -985,8 +1012,8 @@ "doc_path": "rules/maximumindependentset_gridgraph/index.html" }, { - "source": 35, - "target": 36, + "source": 38, + "target": 39, "overhead": [ { "field": "num_vertices", @@ -1000,8 +1027,8 @@ "doc_path": "rules/maximumindependentset_casts/index.html" }, { - "source": 35, - "target": 37, + "source": 38, + "target": 40, "overhead": [ { "field": "num_vertices", @@ -1015,8 +1042,8 @@ "doc_path": "rules/maximumindependentset_triangular/index.html" }, { - "source": 35, - "target": 41, + "source": 38, + "target": 44, "overhead": [ { "field": "num_sets", @@ -1030,8 +1057,8 @@ "doc_path": "rules/maximumindependentset_maximumsetpacking/index.html" }, { - "source": 36, - "target": 32, + "source": 39, + "target": 35, "overhead": [ { "field": "num_vertices", @@ -1045,8 +1072,8 @@ "doc_path": "rules/maximumindependentset_maximumclique/index.html" }, { - "source": 36, - "target": 43, + "source": 39, + "target": 46, "overhead": [ { "field": "num_sets", @@ -1060,8 +1087,8 @@ "doc_path": "rules/maximumindependentset_maximumsetpacking/index.html" }, { - "source": 36, - "target": 51, + "source": 39, + "target": 54, "overhead": [ { "field": "num_vertices", @@ -1075,8 +1102,8 @@ "doc_path": "rules/minimumvertexcover_maximumindependentset/index.html" }, { - "source": 37, - "target": 39, + "source": 40, + "target": 42, "overhead": [ { "field": "num_vertices", @@ -1090,8 +1117,8 @@ "doc_path": "rules/maximumindependentset_casts/index.html" }, { - "source": 38, - "target": 35, + "source": 41, + "target": 38, "overhead": [ { "field": "num_vertices", @@ -1105,8 +1132,8 @@ "doc_path": "rules/maximumindependentset_casts/index.html" }, { - "source": 38, - "target": 39, + "source": 41, + "target": 42, "overhead": [ { "field": "num_vertices", @@ -1120,8 +1147,8 @@ "doc_path": "rules/maximumindependentset_casts/index.html" }, { - "source": 39, - "target": 36, + "source": 42, + "target": 39, "overhead": [ { "field": "num_vertices", @@ -1135,8 +1162,8 @@ "doc_path": "rules/maximumindependentset_casts/index.html" }, { - "source": 40, - "target": 16, + "source": 43, + "target": 19, "overhead": [ { "field": "num_vars", @@ -1150,8 +1177,8 @@ "doc_path": "rules/maximummatching_ilp/index.html" }, { - "source": 40, - "target": 43, + "source": 43, + "target": 46, "overhead": [ { "field": "num_sets", @@ -1165,8 +1192,8 @@ "doc_path": "rules/maximummatching_maximumsetpacking/index.html" }, { - "source": 41, - "target": 35, + "source": 44, + "target": 38, "overhead": [ { "field": "num_vertices", @@ -1180,8 +1207,8 @@ "doc_path": "rules/maximumindependentset_maximumsetpacking/index.html" }, { - "source": 41, - "target": 43, + "source": 44, + "target": 46, "overhead": [ { "field": "num_sets", @@ -1195,8 +1222,8 @@ "doc_path": "rules/maximumsetpacking_casts/index.html" }, { - "source": 42, - "target": 56, + "source": 45, + "target": 59, "overhead": [ { "field": "num_vars", @@ -1206,8 +1233,8 @@ "doc_path": "rules/maximumsetpacking_qubo/index.html" }, { - "source": 43, - "target": 16, + "source": 46, + "target": 19, "overhead": [ { "field": "num_vars", @@ -1221,8 +1248,8 @@ "doc_path": "rules/maximumsetpacking_ilp/index.html" }, { - "source": 43, - "target": 36, + "source": 46, + "target": 39, "overhead": [ { "field": "num_vertices", @@ -1236,8 +1263,8 @@ "doc_path": "rules/maximumindependentset_maximumsetpacking/index.html" }, { - "source": 43, - "target": 42, + "source": 46, + "target": 45, "overhead": [ { "field": "num_sets", @@ -1251,8 +1278,8 @@ "doc_path": "rules/maximumsetpacking_casts/index.html" }, { - "source": 44, - "target": 16, + "source": 47, + "target": 19, "overhead": [ { "field": "num_vars", @@ -1266,8 +1293,34 @@ "doc_path": "rules/minimumdominatingset_ilp/index.html" }, { - "source": 48, - "target": 16, + "source": 49, + "target": 20, + "overhead": [ + { + "field": "num_vars", + "formula": "2 * num_vertices" + }, + { + "field": "num_constraints", + "formula": "num_arcs + 2 * num_vertices" + } + ], + "doc_path": "rules/minimumfeedbackvertexset_ilp/index.html" + }, + { + "source": 50, + "target": 59, + "overhead": [ + { + "field": "num_vars", + "formula": "num_terminals * num_vertices" + } + ], + "doc_path": "rules/minimummultiwaycut_qubo/index.html" + }, + { + "source": 51, + "target": 19, "overhead": [ { "field": "num_vars", @@ -1281,8 +1334,8 @@ "doc_path": "rules/minimumsetcovering_ilp/index.html" }, { - "source": 51, - "target": 36, + "source": 54, + "target": 39, "overhead": [ { "field": "num_vertices", @@ -1296,8 +1349,8 @@ "doc_path": "rules/minimumvertexcover_maximumindependentset/index.html" }, { - "source": 51, - "target": 48, + "source": 54, + "target": 51, "overhead": [ { "field": "num_sets", @@ -1311,8 +1364,8 @@ "doc_path": "rules/minimumvertexcover_minimumsetcovering/index.html" }, { - "source": 56, - "target": 16, + "source": 59, + "target": 19, "overhead": [ { "field": "num_vars", @@ -1326,8 +1379,8 @@ "doc_path": "rules/qubo_ilp/index.html" }, { - "source": 56, - "target": 62, + "source": 59, + "target": 65, "overhead": [ { "field": "num_spins", @@ -1337,7 +1390,7 @@ "doc_path": "rules/spinglass_qubo/index.html" }, { - "source": 58, + "source": 61, "target": 7, "overhead": [ { @@ -1352,8 +1405,8 @@ "doc_path": "rules/sat_circuitsat/index.html" }, { - "source": 58, - "target": 20, + "source": 61, + "target": 23, "overhead": [ { "field": "num_vertices", @@ -1367,8 +1420,8 @@ "doc_path": "rules/sat_coloring/index.html" }, { - "source": 58, - "target": 25, + "source": 61, + "target": 28, "overhead": [ { "field": "num_clauses", @@ -1382,8 +1435,8 @@ "doc_path": "rules/sat_ksat/index.html" }, { - "source": 58, - "target": 35, + "source": 61, + "target": 38, "overhead": [ { "field": "num_vertices", @@ -1397,8 +1450,8 @@ "doc_path": "rules/sat_maximumindependentset/index.html" }, { - "source": 58, - "target": 44, + "source": 61, + "target": 47, "overhead": [ { "field": "num_vertices", @@ -1412,8 +1465,8 @@ "doc_path": "rules/sat_minimumdominatingset/index.html" }, { - "source": 62, - "target": 56, + "source": 65, + "target": 59, "overhead": [ { "field": "num_vars", @@ -1423,8 +1476,8 @@ "doc_path": "rules/spinglass_qubo/index.html" }, { - "source": 63, - "target": 30, + "source": 66, + "target": 33, "overhead": [ { "field": "num_vertices", @@ -1438,8 +1491,8 @@ "doc_path": "rules/spinglass_maxcut/index.html" }, { - "source": 63, - "target": 62, + "source": 66, + "target": 65, "overhead": [ { "field": "num_spins", @@ -1453,8 +1506,8 @@ "doc_path": "rules/spinglass_casts/index.html" }, { - "source": 69, - "target": 16, + "source": 72, + "target": 19, "overhead": [ { "field": "num_vars", @@ -1468,8 +1521,8 @@ "doc_path": "rules/travelingsalesman_ilp/index.html" }, { - "source": 69, - "target": 56, + "source": 72, + "target": 59, "overhead": [ { "field": "num_vars", diff --git a/src/example_db/fixtures/examples.json b/src/example_db/fixtures/examples.json index e31260a21..75e16f6a2 100644 --- a/src/example_db/fixtures/examples.json +++ b/src/example_db/fixtures/examples.json @@ -75,6 +75,7 @@ {"source":{"problem":"MaximumSetPacking","variant":{"weight":"i32"},"instance":{"sets":[[0,1,2],[2,3],[4,5,6],[1,5,7],[3,6]],"weights":[1,1,1,1,1]}},"target":{"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,3,null],[1,4,null],[2,3,null],[2,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"weights":[1,1,1,1,1]}},"solutions":[{"source_config":[1,0,0,0,1],"target_config":[1,0,0,0,1]}]}, {"source":{"problem":"MinimumDominatingSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Ge","rhs":1.0,"terms":[[0,1.0],[5,1.0],[4,1.0],[1,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[1,1.0],[6,1.0],[2,1.0],[0,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[2,1.0],[7,1.0],[3,1.0],[1,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[3,1.0],[8,1.0],[4,1.0],[2,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[4,1.0],[9,1.0],[3,1.0],[0,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[5,1.0],[8,1.0],[7,1.0],[0,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[6,1.0],[9,1.0],[8,1.0],[1,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[7,1.0],[9,1.0],[5,1.0],[2,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[8,1.0],[6,1.0],[5,1.0],[3,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[9,1.0],[7,1.0],[6,1.0],[4,1.0]]}],"num_vars":10,"objective":[[0,1.0],[1,1.0],[2,1.0],[3,1.0],[4,1.0],[5,1.0],[6,1.0],[7,1.0],[8,1.0],[9,1.0]],"sense":"Minimize"}},"solutions":[{"source_config":[0,0,1,0,0,1,0,0,0,1],"target_config":[0,0,1,0,0,1,0,0,0,1]}]}, {"source":{"problem":"MinimumFeedbackVertexSet","variant":{"weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"directed","edges":[[0,1,null],[1,2,null],[2,0,null]],"node_holes":[],"nodes":[null,null,null]}},"weights":[1,1,1]}},"target":{"problem":"ILP","variant":{"variable":"i32"},"instance":{"constraints":[{"cmp":"Le","rhs":1.0,"terms":[[0,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0]]},{"cmp":"Le","rhs":2.0,"terms":[[3,1.0]]},{"cmp":"Le","rhs":2.0,"terms":[[4,1.0]]},{"cmp":"Le","rhs":2.0,"terms":[[5,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[4,1.0],[3,-1.0],[0,3.0],[1,3.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[5,1.0],[4,-1.0],[1,3.0],[2,3.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[3,1.0],[5,-1.0],[2,3.0],[0,3.0]]}],"num_vars":6,"objective":[[0,1.0],[1,1.0],[2,1.0]],"sense":"Minimize"}},"solutions":[{"source_config":[0,1,0],"target_config":[0,1,0,1,0,0]}]}, + {"source":{"problem":"MinimumMultiwayCut","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[2,3,1,2,4,5],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[0,4,null],[1,3,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"terminals":[0,2,4]}},"target":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[-18.0,36.0,36.0,0.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.0,4.0],[0.0,0.0,36.0,2.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,4.0,0.0,4.0],[0.0,0.0,0.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.0,4.0,0.0],[0.0,0.0,0.0,-18.0,36.0,36.0,0.0,3.0,3.0,0.0,5.0,5.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,-18.0,36.0,3.0,0.0,3.0,5.0,0.0,5.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,-18.0,3.0,3.0,0.0,5.0,5.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,36.0,36.0,0.0,1.0,1.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,-18.0,36.0,1.0,0.0,1.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-18.0,36.0,36.0,0.0,2.0,2.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-18.0,36.0,2.0,0.0,2.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-18.0,2.0,2.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,36.0,36.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,36.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-18.0]],"num_vars":15}},"solutions":[{"source_config":[1,0,0,1,1,0],"target_config":[1,0,0,0,1,0,0,1,0,0,1,0,0,0,1]}]}, {"source":{"problem":"MinimumSetCovering","variant":{"weight":"i32"},"instance":{"sets":[[0,1,2],[2,3,4],[4,5,6],[6,7,0],[1,3,5],[0,4,7]],"universe_size":8,"weights":[1,1,1,1,1,1]}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Ge","rhs":1.0,"terms":[[0,1.0],[3,1.0],[5,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[0,1.0],[4,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[0,1.0],[1,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[1,1.0],[4,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[1,1.0],[2,1.0],[5,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[2,1.0],[4,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[2,1.0],[3,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[3,1.0],[5,1.0]]}],"num_vars":6,"objective":[[0,1.0],[1,1.0],[2,1.0],[3,1.0],[4,1.0],[5,1.0]],"sense":"Minimize"}},"solutions":[{"source_config":[0,1,0,1,1,0],"target_config":[0,1,0,1,1,0]}]}, {"source":{"problem":"MinimumVertexCover","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"target":{"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"solutions":[{"source_config":[0,1,1,0,1,1,0,0,1,1],"target_config":[1,0,0,1,0,0,1,1,0,0]}]}, {"source":{"problem":"MinimumVertexCover","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"target":{"problem":"MinimumSetCovering","variant":{"weight":"i32"},"instance":{"sets":[[0,1,2],[0,3,4],[3,5,6],[5,7,8],[1,7,9],[2,10,11],[4,12,13],[6,10,14],[8,11,12],[9,13,14]],"universe_size":15,"weights":[1,1,1,1,1,1,1,1,1,1]}},"solutions":[{"source_config":[0,1,1,0,1,1,0,0,1,1],"target_config":[0,1,1,0,1,1,0,0,1,1]}]}, From 5d3070c6d9fdf7b7a0ad88a2d825344b56b5c196 Mon Sep 17 00:00:00 2001 From: GiggleLiu Date: Wed, 18 Mar 2026 03:03:59 +0800 Subject: [PATCH 4/7] chore: remove plan file after implementation --- .../2026-03-18-minimummultiwaycut-to-qubo.md | 89 ------------------- 1 file changed, 89 deletions(-) delete mode 100644 docs/plans/2026-03-18-minimummultiwaycut-to-qubo.md diff --git a/docs/plans/2026-03-18-minimummultiwaycut-to-qubo.md b/docs/plans/2026-03-18-minimummultiwaycut-to-qubo.md deleted file mode 100644 index 7ae3d867a..000000000 --- a/docs/plans/2026-03-18-minimummultiwaycut-to-qubo.md +++ /dev/null @@ -1,89 +0,0 @@ -# Plan: MinimumMultiwayCut to QUBO Reduction (#186) - -## Summary - -Implement the reduction from MinimumMultiwayCut to QUBO based on Heidari, Dinneen & Delmas (2022). The reduction uses kn binary variables where k = |terminals| and n = |vertices|, encoding vertex-to-terminal assignments via a penalty Hamiltonian H_A (enforces valid partition + terminal pinning) and a cut-cost Hamiltonian H_B. - -## Batch 1: Implementation (Steps 1-4) - -All tasks in this batch are independent and can be parallelized. - -### Task 1.1: Implement reduction rule - -**File:** `src/rules/minimummultiwaycut_qubo.rs` - -**Reduction algorithm:** -- Variable mapping: kn binary variables x_{u,t} indexed as `u * k + pos(t)` where pos(t) is the position of terminal t in the terminals list -- alpha = penalty coefficient > sum of all edge weights (use sum + 1.0) - -**Q-matrix construction (expanding H = H_A + H_B):** - -H_A = alpha * (sum_u (1 - sum_t x_{u,t})^2 + sum_t sum_{t'!=t} x_{t,t'}) - -Expanding (1 - sum_t x_{u,t})^2 with x^2=x for binary: -= 1 - sum_t x_{u,t} + 2 * sum_{s Date: Thu, 19 Mar 2026 15:36:46 +0800 Subject: [PATCH 5/7] fix: remove auto-generated files that should not be committed Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/src/reductions/problem_schemas.json | 1035 --------------- docs/src/reductions/reduction_graph.json | 1535 ---------------------- src/example_db/fixtures/examples.json | 94 -- 3 files changed, 2664 deletions(-) delete mode 100644 docs/src/reductions/problem_schemas.json delete mode 100644 docs/src/reductions/reduction_graph.json delete mode 100644 src/example_db/fixtures/examples.json diff --git a/docs/src/reductions/problem_schemas.json b/docs/src/reductions/problem_schemas.json deleted file mode 100644 index 0fbb10816..000000000 --- a/docs/src/reductions/problem_schemas.json +++ /dev/null @@ -1,1035 +0,0 @@ -[ - { - "name": "BMF", - "description": "Boolean matrix factorization", - "fields": [ - { - "name": "matrix", - "type_name": "Vec>", - "description": "Target boolean matrix A" - }, - { - "name": "k", - "type_name": "usize", - "description": "Factorization rank" - } - ] - }, - { - "name": "BalancedCompleteBipartiteSubgraph", - "description": "Decide whether a bipartite graph contains a K_{k,k} subgraph", - "fields": [ - { - "name": "graph", - "type_name": "BipartiteGraph", - "description": "The bipartite graph G = (A, B, E)" - }, - { - "name": "k", - "type_name": "usize", - "description": "Balanced biclique size" - } - ] - }, - { - "name": "BicliqueCover", - "description": "Cover bipartite edges with k bicliques", - "fields": [ - { - "name": "left_size", - "type_name": "usize", - "description": "Vertices in left partition" - }, - { - "name": "right_size", - "type_name": "usize", - "description": "Vertices in right partition" - }, - { - "name": "edges", - "type_name": "Vec<(usize, usize)>", - "description": "Bipartite edges" - }, - { - "name": "k", - "type_name": "usize", - "description": "Number of bicliques" - } - ] - }, - { - "name": "BiconnectivityAugmentation", - "description": "Add weighted potential edges to make a graph biconnected within budget", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "potential_weights", - "type_name": "Vec<(usize, usize, W)>", - "description": "Potential edges with augmentation weights" - }, - { - "name": "budget", - "type_name": "W::Sum", - "description": "Maximum total augmentation weight B" - } - ] - }, - { - "name": "BinPacking", - "description": "Assign items to bins minimizing number of bins used, subject to capacity", - "fields": [ - { - "name": "sizes", - "type_name": "Vec", - "description": "Item sizes s_i for each item" - }, - { - "name": "capacity", - "type_name": "W", - "description": "Bin capacity C" - } - ] - }, - { - "name": "BoundedComponentSpanningForest", - "description": "Partition vertices into at most K connected components, each of total weight at most B", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "weights", - "type_name": "Vec", - "description": "Vertex weights w(v) for each vertex v in V" - }, - { - "name": "max_components", - "type_name": "usize", - "description": "Upper bound K on the number of connected components" - }, - { - "name": "max_weight", - "type_name": "W::Sum", - "description": "Upper bound B on the total weight of each component" - } - ] - }, - { - "name": "CircuitSAT", - "description": "Find satisfying input to a boolean circuit", - "fields": [ - { - "name": "circuit", - "type_name": "Circuit", - "description": "The boolean circuit" - } - ] - }, - { - "name": "ClosestVectorProblem", - "description": "Find the closest lattice point to a target vector", - "fields": [ - { - "name": "basis", - "type_name": "Vec>", - "description": "Basis matrix B as column vectors" - }, - { - "name": "target", - "type_name": "Vec", - "description": "Target vector t" - }, - { - "name": "bounds", - "type_name": "Vec", - "description": "Integer bounds per variable" - } - ] - }, - { - "name": "ComparativeContainment", - "description": "Compare containment-weight sums for two set families over a shared universe", - "fields": [ - { - "name": "universe_size", - "type_name": "usize", - "description": "Size of the universe X" - }, - { - "name": "r_sets", - "type_name": "Vec>", - "description": "First set family R over X" - }, - { - "name": "s_sets", - "type_name": "Vec>", - "description": "Second set family S over X" - }, - { - "name": "r_weights", - "type_name": "Vec", - "description": "Positive weights for sets in R" - }, - { - "name": "s_weights", - "type_name": "Vec", - "description": "Positive weights for sets in S" - } - ] - }, - { - "name": "DirectedTwoCommodityIntegralFlow", - "description": "Two-commodity integral flow feasibility on a directed graph", - "fields": [ - { - "name": "graph", - "type_name": "DirectedGraph", - "description": "Directed graph G = (V, A)" - }, - { - "name": "capacities", - "type_name": "Vec", - "description": "Capacity c(a) for each arc" - }, - { - "name": "source_1", - "type_name": "usize", - "description": "Source vertex s_1 for commodity 1" - }, - { - "name": "sink_1", - "type_name": "usize", - "description": "Sink vertex t_1 for commodity 1" - }, - { - "name": "source_2", - "type_name": "usize", - "description": "Source vertex s_2 for commodity 2" - }, - { - "name": "sink_2", - "type_name": "usize", - "description": "Sink vertex t_2 for commodity 2" - }, - { - "name": "requirement_1", - "type_name": "u64", - "description": "Flow requirement R_1 for commodity 1" - }, - { - "name": "requirement_2", - "type_name": "u64", - "description": "Flow requirement R_2 for commodity 2" - } - ] - }, - { - "name": "ExactCoverBy3Sets", - "description": "Determine if a collection of 3-element subsets contains an exact cover", - "fields": [ - { - "name": "universe_size", - "type_name": "usize", - "description": "Size of universe X (must be divisible by 3)" - }, - { - "name": "subsets", - "type_name": "Vec<[usize; 3]>", - "description": "Collection C of 3-element subsets of X" - } - ] - }, - { - "name": "Factoring", - "description": "Factor a composite integer into two factors", - "fields": [ - { - "name": "m", - "type_name": "usize", - "description": "Bits for first factor" - }, - { - "name": "n", - "type_name": "usize", - "description": "Bits for second factor" - }, - { - "name": "target", - "type_name": "u64", - "description": "Number to factor" - } - ] - }, - { - "name": "FlowShopScheduling", - "description": "Determine if a flow-shop schedule for jobs on m processors meets a deadline", - "fields": [ - { - "name": "num_processors", - "type_name": "usize", - "description": "Number of machines m" - }, - { - "name": "task_lengths", - "type_name": "Vec>", - "description": "task_lengths[j][i] = length of job j's task on machine i" - }, - { - "name": "deadline", - "type_name": "u64", - "description": "Global deadline D" - } - ] - }, - { - "name": "GraphPartitioning", - "description": "Find minimum cut balanced bisection of a graph", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The undirected graph G=(V,E)" - } - ] - }, - { - "name": "HamiltonianPath", - "description": "Find a Hamiltonian path in a graph", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - } - ] - }, - { - "name": "ILP", - "description": "Optimize linear objective subject to linear constraints", - "fields": [ - { - "name": "num_vars", - "type_name": "usize", - "description": "Number of integer variables" - }, - { - "name": "constraints", - "type_name": "Vec", - "description": "Linear constraints" - }, - { - "name": "objective", - "type_name": "Vec<(usize, f64)>", - "description": "Sparse objective coefficients" - }, - { - "name": "sense", - "type_name": "ObjectiveSense", - "description": "Optimization direction" - } - ] - }, - { - "name": "IsomorphicSpanningTree", - "description": "Does graph G contain a spanning tree isomorphic to tree T?", - "fields": [ - { - "name": "graph", - "type_name": "SimpleGraph", - "description": "The host graph G" - }, - { - "name": "tree", - "type_name": "SimpleGraph", - "description": "The target tree T (must be a tree with |V(T)| = |V(G)|)" - } - ] - }, - { - "name": "KColoring", - "description": "Find valid k-coloring of a graph", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - } - ] - }, - { - "name": "KSatisfiability", - "description": "SAT with exactly k literals per clause", - "fields": [ - { - "name": "num_vars", - "type_name": "usize", - "description": "Number of Boolean variables" - }, - { - "name": "clauses", - "type_name": "Vec", - "description": "Clauses each with exactly K literals" - } - ] - }, - { - "name": "Knapsack", - "description": "Select items to maximize total value subject to weight capacity constraint", - "fields": [ - { - "name": "weights", - "type_name": "Vec", - "description": "Nonnegative item weights w_i" - }, - { - "name": "values", - "type_name": "Vec", - "description": "Nonnegative item values v_i" - }, - { - "name": "capacity", - "type_name": "i64", - "description": "Nonnegative knapsack capacity C" - } - ] - }, - { - "name": "LengthBoundedDisjointPaths", - "description": "Find J internally vertex-disjoint s-t paths of length at most K", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "source", - "type_name": "usize", - "description": "The shared source vertex s" - }, - { - "name": "sink", - "type_name": "usize", - "description": "The shared sink vertex t" - }, - { - "name": "num_paths_required", - "type_name": "usize", - "description": "Required number J of disjoint s-t paths" - }, - { - "name": "max_length", - "type_name": "usize", - "description": "Maximum path length K in edges" - } - ] - }, - { - "name": "LongestCommonSubsequence", - "description": "Find the longest string that is a subsequence of every input string", - "fields": [ - { - "name": "strings", - "type_name": "Vec>", - "description": "The input strings" - } - ] - }, - { - "name": "MaxCut", - "description": "Find maximum weight cut in a graph", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The graph with edge weights" - }, - { - "name": "edge_weights", - "type_name": "Vec", - "description": "Edge weights w: E -> R" - } - ] - }, - { - "name": "MaximalIS", - "description": "Find maximum weight maximal independent set", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "weights", - "type_name": "Vec", - "description": "Vertex weights w: V -> R" - } - ] - }, - { - "name": "MaximumClique", - "description": "Find maximum weight clique in a graph", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "weights", - "type_name": "Vec", - "description": "Vertex weights w: V -> R" - } - ] - }, - { - "name": "MaximumIndependentSet", - "description": "Find maximum weight independent set in a graph", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "weights", - "type_name": "Vec", - "description": "Vertex weights w: V -> R" - } - ] - }, - { - "name": "MaximumMatching", - "description": "Find maximum weight matching in a graph", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "edge_weights", - "type_name": "Vec", - "description": "Edge weights w: E -> R" - } - ] - }, - { - "name": "MaximumSetPacking", - "description": "Find maximum weight collection of disjoint sets", - "fields": [ - { - "name": "sets", - "type_name": "Vec>", - "description": "Collection of sets over a universe" - }, - { - "name": "weights", - "type_name": "Vec", - "description": "Weight for each set" - } - ] - }, - { - "name": "MinimumDominatingSet", - "description": "Find minimum weight dominating set in a graph", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "weights", - "type_name": "Vec", - "description": "Vertex weights w: V -> R" - } - ] - }, - { - "name": "MinimumFeedbackArcSet", - "description": "Find minimum weight feedback arc set in a directed graph", - "fields": [ - { - "name": "graph", - "type_name": "DirectedGraph", - "description": "The directed graph G=(V,A)" - }, - { - "name": "weights", - "type_name": "Vec", - "description": "Arc weights w: A -> R" - } - ] - }, - { - "name": "MinimumFeedbackVertexSet", - "description": "Find minimum weight feedback vertex set in a directed graph", - "fields": [ - { - "name": "graph", - "type_name": "DirectedGraph", - "description": "The directed graph G=(V,A)" - }, - { - "name": "weights", - "type_name": "Vec", - "description": "Vertex weights w: V -> R" - } - ] - }, - { - "name": "MinimumMultiwayCut", - "description": "Find minimum weight set of edges whose removal disconnects all terminal pairs", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The undirected graph G=(V,E)" - }, - { - "name": "terminals", - "type_name": "Vec", - "description": "Terminal vertices that must be separated" - }, - { - "name": "edge_weights", - "type_name": "Vec", - "description": "Edge weights w: E -> R (same order as graph.edges())" - } - ] - }, - { - "name": "MinimumSetCovering", - "description": "Find minimum weight collection covering the universe", - "fields": [ - { - "name": "universe_size", - "type_name": "usize", - "description": "Size of the universe U" - }, - { - "name": "sets", - "type_name": "Vec>", - "description": "Collection of subsets of U" - }, - { - "name": "weights", - "type_name": "Vec", - "description": "Weight for each set" - } - ] - }, - { - "name": "MinimumSumMulticenter", - "description": "Find K centers minimizing total weighted distance (p-median problem)", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "vertex_weights", - "type_name": "Vec", - "description": "Vertex weights w: V -> R" - }, - { - "name": "edge_lengths", - "type_name": "Vec", - "description": "Edge lengths l: E -> R" - }, - { - "name": "k", - "type_name": "usize", - "description": "Number of centers to place" - } - ] - }, - { - "name": "MinimumTardinessSequencing", - "description": "Schedule unit-length tasks with precedence constraints and deadlines to minimize the number of tardy tasks", - "fields": [ - { - "name": "num_tasks", - "type_name": "usize", - "description": "Number of tasks |T|" - }, - { - "name": "deadlines", - "type_name": "Vec", - "description": "Deadline d(t) for each task (1-indexed finish time)" - }, - { - "name": "precedences", - "type_name": "Vec<(usize, usize)>", - "description": "Precedence pairs (predecessor, successor)" - } - ] - }, - { - "name": "MinimumVertexCover", - "description": "Find minimum weight vertex cover in a graph", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "weights", - "type_name": "Vec", - "description": "Vertex weights w: V -> R" - } - ] - }, - { - "name": "MultipleChoiceBranching", - "description": "Find a branching with partition constraints and weight at least K", - "fields": [ - { - "name": "graph", - "type_name": "DirectedGraph", - "description": "The directed graph G=(V,A)" - }, - { - "name": "weights", - "type_name": "Vec", - "description": "Arc weights w(a) for each arc a in A" - }, - { - "name": "partition", - "type_name": "Vec>", - "description": "Partition of arc indices; each arc index must appear in exactly one group" - }, - { - "name": "threshold", - "type_name": "W::Sum", - "description": "Weight threshold K" - } - ] - }, - { - "name": "OptimalLinearArrangement", - "description": "Find a vertex ordering on a line with total edge length at most K", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The undirected graph G=(V,E)" - }, - { - "name": "bound", - "type_name": "usize", - "description": "Upper bound K on total edge length" - } - ] - }, - { - "name": "PaintShop", - "description": "Minimize color changes in paint shop sequence", - "fields": [ - { - "name": "sequence", - "type_name": "Vec", - "description": "Car labels (each must appear exactly twice)" - } - ] - }, - { - "name": "PartitionIntoTriangles", - "description": "Partition vertices into triangles (K3 subgraphs)", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E) with |V| divisible by 3" - } - ] - }, - { - "name": "QUBO", - "description": "Minimize quadratic unconstrained binary objective", - "fields": [ - { - "name": "num_vars", - "type_name": "usize", - "description": "Number of binary variables" - }, - { - "name": "matrix", - "type_name": "Vec>", - "description": "Upper-triangular Q matrix" - } - ] - }, - { - "name": "RuralPostman", - "description": "Find a circuit covering required edges with total length at most B (Rural Postman Problem)", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "edge_weights", - "type_name": "Vec", - "description": "Edge lengths l(e) for each e in E" - }, - { - "name": "required_edges", - "type_name": "Vec", - "description": "Edge indices of the required subset E' ⊆ E" - }, - { - "name": "bound", - "type_name": "W::Sum", - "description": "Upper bound B on total circuit length" - } - ] - }, - { - "name": "Satisfiability", - "description": "Find satisfying assignment for CNF formula", - "fields": [ - { - "name": "num_vars", - "type_name": "usize", - "description": "Number of Boolean variables" - }, - { - "name": "clauses", - "type_name": "Vec", - "description": "Clauses in conjunctive normal form" - } - ] - }, - { - "name": "SequencingWithinIntervals", - "description": "Schedule tasks non-overlappingly within their time windows", - "fields": [ - { - "name": "release_times", - "type_name": "Vec", - "description": "Release time r(t) for each task" - }, - { - "name": "deadlines", - "type_name": "Vec", - "description": "Deadline d(t) for each task" - }, - { - "name": "lengths", - "type_name": "Vec", - "description": "Processing length l(t) for each task" - } - ] - }, - { - "name": "SetBasis", - "description": "Determine whether a collection of sets admits a basis of size k under union", - "fields": [ - { - "name": "universe_size", - "type_name": "usize", - "description": "Size of the ground set S" - }, - { - "name": "collection", - "type_name": "Vec>", - "description": "Collection C of target subsets of S" - }, - { - "name": "k", - "type_name": "usize", - "description": "Required number of basis sets" - } - ] - }, - { - "name": "ShortestCommonSupersequence", - "description": "Find a common supersequence of bounded length for a set of strings", - "fields": [ - { - "name": "alphabet_size", - "type_name": "usize", - "description": "Size of the alphabet" - }, - { - "name": "strings", - "type_name": "Vec>", - "description": "Input strings over the alphabet {0, ..., alphabet_size-1}" - }, - { - "name": "bound", - "type_name": "usize", - "description": "Bound on supersequence length (configuration has exactly this many symbols)" - } - ] - }, - { - "name": "SpinGlass", - "description": "Minimize Ising Hamiltonian on a graph", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The interaction graph" - }, - { - "name": "couplings", - "type_name": "Vec", - "description": "Pairwise couplings J_ij" - }, - { - "name": "fields", - "type_name": "Vec", - "description": "On-site fields h_i" - } - ] - }, - { - "name": "SteinerTree", - "description": "Find minimum weight tree connecting terminal vertices", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "edge_weights", - "type_name": "Vec", - "description": "Edge weights w: E -> R" - }, - { - "name": "terminals", - "type_name": "Vec", - "description": "Terminal vertices T that must be connected" - } - ] - }, - { - "name": "StrongConnectivityAugmentation", - "description": "Add a bounded set of weighted candidate arcs to make a digraph strongly connected", - "fields": [ - { - "name": "graph", - "type_name": "DirectedGraph", - "description": "The initial directed graph G=(V,A)" - }, - { - "name": "candidate_arcs", - "type_name": "Vec<(usize, usize, W)>", - "description": "Candidate augmenting arcs (u, v, w(u,v)) not already present in G" - }, - { - "name": "bound", - "type_name": "W::Sum", - "description": "Upper bound B on the total added weight" - } - ] - }, - { - "name": "SubgraphIsomorphism", - "description": "Determine if host graph G contains a subgraph isomorphic to pattern graph H", - "fields": [ - { - "name": "graph", - "type_name": "SimpleGraph", - "description": "The host graph G = (V_1, E_1) to search in" - }, - { - "name": "pattern", - "type_name": "SimpleGraph", - "description": "The pattern graph H = (V_2, E_2) to find as a subgraph" - } - ] - }, - { - "name": "SubsetSum", - "description": "Find a subset of positive integers that sums to exactly a target value", - "fields": [ - { - "name": "sizes", - "type_name": "Vec", - "description": "Positive integer sizes s(a) for each element" - }, - { - "name": "target", - "type_name": "BigUint", - "description": "Target sum B" - } - ] - }, - { - "name": "TravelingSalesman", - "description": "Find minimum weight Hamiltonian cycle in a graph (Traveling Salesman Problem)", - "fields": [ - { - "name": "graph", - "type_name": "G", - "description": "The underlying graph G=(V,E)" - }, - { - "name": "edge_weights", - "type_name": "Vec", - "description": "Edge weights w: E -> R" - } - ] - }, - { - "name": "UndirectedTwoCommodityIntegralFlow", - "description": "Determine whether two integral commodities can satisfy sink demands in an undirected capacitated graph", - "fields": [ - { - "name": "graph", - "type_name": "SimpleGraph", - "description": "Undirected graph G=(V,E)" - }, - { - "name": "capacities", - "type_name": "Vec", - "description": "Edge capacities c(e) in graph edge order" - }, - { - "name": "source_1", - "type_name": "usize", - "description": "Source vertex s_1 for commodity 1" - }, - { - "name": "sink_1", - "type_name": "usize", - "description": "Sink vertex t_1 for commodity 1" - }, - { - "name": "source_2", - "type_name": "usize", - "description": "Source vertex s_2 for commodity 2" - }, - { - "name": "sink_2", - "type_name": "usize", - "description": "Sink vertex t_2 for commodity 2" - }, - { - "name": "requirement_1", - "type_name": "u64", - "description": "Required net inflow R_1 at sink t_1" - }, - { - "name": "requirement_2", - "type_name": "u64", - "description": "Required net inflow R_2 at sink t_2" - } - ] - } -] \ No newline at end of file diff --git a/docs/src/reductions/reduction_graph.json b/docs/src/reductions/reduction_graph.json deleted file mode 100644 index eb6d01861..000000000 --- a/docs/src/reductions/reduction_graph.json +++ /dev/null @@ -1,1535 +0,0 @@ -{ - "nodes": [ - { - "name": "BMF", - "variant": {}, - "category": "algebraic", - "doc_path": "models/algebraic/struct.BMF.html", - "complexity": "2^(rows * rank + rank * cols)" - }, - { - "name": "BalancedCompleteBipartiteSubgraph", - "variant": {}, - "category": "graph", - "doc_path": "models/graph/struct.BalancedCompleteBipartiteSubgraph.html", - "complexity": "1.3803^num_vertices" - }, - { - "name": "BicliqueCover", - "variant": {}, - "category": "graph", - "doc_path": "models/graph/struct.BicliqueCover.html", - "complexity": "2^num_vertices" - }, - { - "name": "BiconnectivityAugmentation", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.BiconnectivityAugmentation.html", - "complexity": "2^num_potential_edges" - }, - { - "name": "BinPacking", - "variant": { - "weight": "f64" - }, - "category": "misc", - "doc_path": "models/misc/struct.BinPacking.html", - "complexity": "2^num_items" - }, - { - "name": "BinPacking", - "variant": { - "weight": "i32" - }, - "category": "misc", - "doc_path": "models/misc/struct.BinPacking.html", - "complexity": "2^num_items" - }, - { - "name": "BoundedComponentSpanningForest", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.BoundedComponentSpanningForest.html", - "complexity": "3^num_vertices" - }, - { - "name": "CircuitSAT", - "variant": {}, - "category": "formula", - "doc_path": "models/formula/struct.CircuitSAT.html", - "complexity": "2^num_variables" - }, - { - "name": "ClosestVectorProblem", - "variant": { - "weight": "f64" - }, - "category": "algebraic", - "doc_path": "models/algebraic/struct.ClosestVectorProblem.html", - "complexity": "2^num_basis_vectors" - }, - { - "name": "ClosestVectorProblem", - "variant": { - "weight": "i32" - }, - "category": "algebraic", - "doc_path": "models/algebraic/struct.ClosestVectorProblem.html", - "complexity": "2^num_basis_vectors" - }, - { - "name": "ComparativeContainment", - "variant": { - "weight": "One" - }, - "category": "set", - "doc_path": "models/set/struct.ComparativeContainment.html", - "complexity": "2^universe_size" - }, - { - "name": "ComparativeContainment", - "variant": { - "weight": "f64" - }, - "category": "set", - "doc_path": "models/set/struct.ComparativeContainment.html", - "complexity": "2^universe_size" - }, - { - "name": "ComparativeContainment", - "variant": { - "weight": "i32" - }, - "category": "set", - "doc_path": "models/set/struct.ComparativeContainment.html", - "complexity": "2^universe_size" - }, - { - "name": "DirectedTwoCommodityIntegralFlow", - "variant": {}, - "category": "graph", - "doc_path": "models/graph/struct.DirectedTwoCommodityIntegralFlow.html", - "complexity": "(max_capacity + 1)^(2 * num_arcs)" - }, - { - "name": "ExactCoverBy3Sets", - "variant": {}, - "category": "set", - "doc_path": "models/set/struct.ExactCoverBy3Sets.html", - "complexity": "2^universe_size" - }, - { - "name": "Factoring", - "variant": {}, - "category": "misc", - "doc_path": "models/misc/struct.Factoring.html", - "complexity": "exp((m + n)^(1/3) * log(m + n)^(2/3))" - }, - { - "name": "FlowShopScheduling", - "variant": {}, - "category": "misc", - "doc_path": "models/misc/struct.FlowShopScheduling.html", - "complexity": "factorial(num_jobs)" - }, - { - "name": "GraphPartitioning", - "variant": { - "graph": "SimpleGraph" - }, - "category": "graph", - "doc_path": "models/graph/struct.GraphPartitioning.html", - "complexity": "2^num_vertices" - }, - { - "name": "HamiltonianPath", - "variant": { - "graph": "SimpleGraph" - }, - "category": "graph", - "doc_path": "models/graph/struct.HamiltonianPath.html", - "complexity": "1.657^num_vertices" - }, - { - "name": "ILP", - "variant": { - "variable": "bool" - }, - "category": "algebraic", - "doc_path": "models/algebraic/struct.ILP.html", - "complexity": "2^num_vars" - }, - { - "name": "ILP", - "variant": { - "variable": "i32" - }, - "category": "algebraic", - "doc_path": "models/algebraic/struct.ILP.html", - "complexity": "num_vars^num_vars" - }, - { - "name": "IsomorphicSpanningTree", - "variant": {}, - "category": "graph", - "doc_path": "models/graph/struct.IsomorphicSpanningTree.html", - "complexity": "factorial(num_vertices)" - }, - { - "name": "KColoring", - "variant": { - "graph": "SimpleGraph", - "k": "K2" - }, - "category": "graph", - "doc_path": "models/graph/struct.KColoring.html", - "complexity": "num_vertices + num_edges" - }, - { - "name": "KColoring", - "variant": { - "graph": "SimpleGraph", - "k": "K3" - }, - "category": "graph", - "doc_path": "models/graph/struct.KColoring.html", - "complexity": "1.3289^num_vertices" - }, - { - "name": "KColoring", - "variant": { - "graph": "SimpleGraph", - "k": "K4" - }, - "category": "graph", - "doc_path": "models/graph/struct.KColoring.html", - "complexity": "1.7159^num_vertices" - }, - { - "name": "KColoring", - "variant": { - "graph": "SimpleGraph", - "k": "K5" - }, - "category": "graph", - "doc_path": "models/graph/struct.KColoring.html", - "complexity": "2^num_vertices" - }, - { - "name": "KColoring", - "variant": { - "graph": "SimpleGraph", - "k": "KN" - }, - "category": "graph", - "doc_path": "models/graph/struct.KColoring.html", - "complexity": "2^num_vertices" - }, - { - "name": "KSatisfiability", - "variant": { - "k": "K2" - }, - "category": "formula", - "doc_path": "models/formula/struct.KSatisfiability.html", - "complexity": "num_variables + num_clauses" - }, - { - "name": "KSatisfiability", - "variant": { - "k": "K3" - }, - "category": "formula", - "doc_path": "models/formula/struct.KSatisfiability.html", - "complexity": "1.307^num_variables" - }, - { - "name": "KSatisfiability", - "variant": { - "k": "KN" - }, - "category": "formula", - "doc_path": "models/formula/struct.KSatisfiability.html", - "complexity": "2^num_variables" - }, - { - "name": "Knapsack", - "variant": {}, - "category": "misc", - "doc_path": "models/misc/struct.Knapsack.html", - "complexity": "2^(num_items / 2)" - }, - { - "name": "LengthBoundedDisjointPaths", - "variant": { - "graph": "SimpleGraph" - }, - "category": "graph", - "doc_path": "models/graph/struct.LengthBoundedDisjointPaths.html", - "complexity": "2^(num_paths_required * num_vertices)" - }, - { - "name": "LongestCommonSubsequence", - "variant": {}, - "category": "misc", - "doc_path": "models/misc/struct.LongestCommonSubsequence.html", - "complexity": "2^min_string_length" - }, - { - "name": "MaxCut", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MaxCut.html", - "complexity": "2^(2.372 * num_vertices / 3)" - }, - { - "name": "MaximalIS", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MaximalIS.html", - "complexity": "3^(num_vertices / 3)" - }, - { - "name": "MaximumClique", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MaximumClique.html", - "complexity": "1.1996^num_vertices" - }, - { - "name": "MaximumIndependentSet", - "variant": { - "graph": "KingsSubgraph", - "weight": "One" - }, - "category": "graph", - "doc_path": "models/graph/struct.MaximumIndependentSet.html", - "complexity": "2^sqrt(num_vertices)" - }, - { - "name": "MaximumIndependentSet", - "variant": { - "graph": "KingsSubgraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MaximumIndependentSet.html", - "complexity": "2^sqrt(num_vertices)" - }, - { - "name": "MaximumIndependentSet", - "variant": { - "graph": "SimpleGraph", - "weight": "One" - }, - "category": "graph", - "doc_path": "models/graph/struct.MaximumIndependentSet.html", - "complexity": "1.1996^num_vertices" - }, - { - "name": "MaximumIndependentSet", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MaximumIndependentSet.html", - "complexity": "1.1996^num_vertices" - }, - { - "name": "MaximumIndependentSet", - "variant": { - "graph": "TriangularSubgraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MaximumIndependentSet.html", - "complexity": "2^sqrt(num_vertices)" - }, - { - "name": "MaximumIndependentSet", - "variant": { - "graph": "UnitDiskGraph", - "weight": "One" - }, - "category": "graph", - "doc_path": "models/graph/struct.MaximumIndependentSet.html", - "complexity": "2^sqrt(num_vertices)" - }, - { - "name": "MaximumIndependentSet", - "variant": { - "graph": "UnitDiskGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MaximumIndependentSet.html", - "complexity": "2^sqrt(num_vertices)" - }, - { - "name": "MaximumMatching", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MaximumMatching.html", - "complexity": "num_vertices^3" - }, - { - "name": "MaximumSetPacking", - "variant": { - "weight": "One" - }, - "category": "set", - "doc_path": "models/set/struct.MaximumSetPacking.html", - "complexity": "2^num_sets" - }, - { - "name": "MaximumSetPacking", - "variant": { - "weight": "f64" - }, - "category": "set", - "doc_path": "models/set/struct.MaximumSetPacking.html", - "complexity": "2^num_sets" - }, - { - "name": "MaximumSetPacking", - "variant": { - "weight": "i32" - }, - "category": "set", - "doc_path": "models/set/struct.MaximumSetPacking.html", - "complexity": "2^num_sets" - }, - { - "name": "MinimumDominatingSet", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MinimumDominatingSet.html", - "complexity": "1.4969^num_vertices" - }, - { - "name": "MinimumFeedbackArcSet", - "variant": { - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MinimumFeedbackArcSet.html", - "complexity": "2^num_vertices" - }, - { - "name": "MinimumFeedbackVertexSet", - "variant": { - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MinimumFeedbackVertexSet.html", - "complexity": "1.9977^num_vertices" - }, - { - "name": "MinimumMultiwayCut", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MinimumMultiwayCut.html", - "complexity": "1.84^num_terminals * num_vertices^3" - }, - { - "name": "MinimumSetCovering", - "variant": { - "weight": "i32" - }, - "category": "set", - "doc_path": "models/set/struct.MinimumSetCovering.html", - "complexity": "2^num_sets" - }, - { - "name": "MinimumSumMulticenter", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MinimumSumMulticenter.html", - "complexity": "2^num_vertices" - }, - { - "name": "MinimumTardinessSequencing", - "variant": {}, - "category": "misc", - "doc_path": "models/misc/struct.MinimumTardinessSequencing.html", - "complexity": "2^num_tasks" - }, - { - "name": "MinimumVertexCover", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MinimumVertexCover.html", - "complexity": "1.1996^num_vertices" - }, - { - "name": "MultipleChoiceBranching", - "variant": { - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.MultipleChoiceBranching.html", - "complexity": "2^num_arcs" - }, - { - "name": "OptimalLinearArrangement", - "variant": { - "graph": "SimpleGraph" - }, - "category": "graph", - "doc_path": "models/graph/struct.OptimalLinearArrangement.html", - "complexity": "2^num_vertices" - }, - { - "name": "PaintShop", - "variant": {}, - "category": "misc", - "doc_path": "models/misc/struct.PaintShop.html", - "complexity": "2^num_cars" - }, - { - "name": "PartitionIntoTriangles", - "variant": { - "graph": "SimpleGraph" - }, - "category": "graph", - "doc_path": "models/graph/struct.PartitionIntoTriangles.html", - "complexity": "2^num_vertices" - }, - { - "name": "QUBO", - "variant": { - "weight": "f64" - }, - "category": "algebraic", - "doc_path": "models/algebraic/struct.QUBO.html", - "complexity": "2^num_vars" - }, - { - "name": "RuralPostman", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.RuralPostman.html", - "complexity": "2^num_vertices * num_vertices^2" - }, - { - "name": "Satisfiability", - "variant": {}, - "category": "formula", - "doc_path": "models/formula/struct.Satisfiability.html", - "complexity": "2^num_variables" - }, - { - "name": "SequencingWithinIntervals", - "variant": {}, - "category": "misc", - "doc_path": "models/misc/struct.SequencingWithinIntervals.html", - "complexity": "2^num_tasks" - }, - { - "name": "SetBasis", - "variant": {}, - "category": "set", - "doc_path": "models/set/struct.SetBasis.html", - "complexity": "2^(basis_size * universe_size)" - }, - { - "name": "ShortestCommonSupersequence", - "variant": {}, - "category": "misc", - "doc_path": "models/misc/struct.ShortestCommonSupersequence.html", - "complexity": "alphabet_size ^ bound" - }, - { - "name": "SpinGlass", - "variant": { - "graph": "SimpleGraph", - "weight": "f64" - }, - "category": "graph", - "doc_path": "models/graph/struct.SpinGlass.html", - "complexity": "2^num_spins" - }, - { - "name": "SpinGlass", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.SpinGlass.html", - "complexity": "2^num_spins" - }, - { - "name": "SteinerTree", - "variant": { - "graph": "SimpleGraph", - "weight": "One" - }, - "category": "graph", - "doc_path": "models/graph/struct.SteinerTree.html", - "complexity": "3^num_terminals * num_vertices + 2^num_terminals * num_vertices^2" - }, - { - "name": "SteinerTree", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.SteinerTree.html", - "complexity": "3^num_terminals * num_vertices + 2^num_terminals * num_vertices^2" - }, - { - "name": "StrongConnectivityAugmentation", - "variant": { - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.StrongConnectivityAugmentation.html", - "complexity": "2^num_potential_arcs" - }, - { - "name": "SubgraphIsomorphism", - "variant": {}, - "category": "graph", - "doc_path": "models/graph/struct.SubgraphIsomorphism.html", - "complexity": "num_host_vertices ^ num_pattern_vertices" - }, - { - "name": "SubsetSum", - "variant": {}, - "category": "misc", - "doc_path": "models/misc/struct.SubsetSum.html", - "complexity": "2^(num_elements / 2)" - }, - { - "name": "TravelingSalesman", - "variant": { - "graph": "SimpleGraph", - "weight": "i32" - }, - "category": "graph", - "doc_path": "models/graph/struct.TravelingSalesman.html", - "complexity": "2^num_vertices" - }, - { - "name": "UndirectedTwoCommodityIntegralFlow", - "variant": {}, - "category": "graph", - "doc_path": "models/graph/struct.UndirectedTwoCommodityIntegralFlow.html", - "complexity": "5^num_edges" - } - ], - "edges": [ - { - "source": 5, - "target": 19, - "overhead": [ - { - "field": "num_vars", - "formula": "num_items * num_items + num_items" - }, - { - "field": "num_constraints", - "formula": "2 * num_items" - } - ], - "doc_path": "rules/binpacking_ilp/index.html" - }, - { - "source": 7, - "target": 19, - "overhead": [ - { - "field": "num_vars", - "formula": "num_variables + num_assignments" - }, - { - "field": "num_constraints", - "formula": "num_variables + num_assignments" - } - ], - "doc_path": "rules/circuit_ilp/index.html" - }, - { - "source": 7, - "target": 66, - "overhead": [ - { - "field": "num_spins", - "formula": "num_assignments" - }, - { - "field": "num_interactions", - "formula": "num_assignments" - } - ], - "doc_path": "rules/circuit_spinglass/index.html" - }, - { - "source": 15, - "target": 7, - "overhead": [ - { - "field": "num_variables", - "formula": "6 * num_bits_first * num_bits_second + num_bits_first + num_bits_second" - }, - { - "field": "num_assignments", - "formula": "6 * num_bits_first * num_bits_second + num_bits_first + num_bits_second" - } - ], - "doc_path": "rules/factoring_circuit/index.html" - }, - { - "source": 15, - "target": 20, - "overhead": [ - { - "field": "num_vars", - "formula": "num_bits_first * num_bits_second" - }, - { - "field": "num_constraints", - "formula": "num_bits_first * num_bits_second" - } - ], - "doc_path": "rules/factoring_ilp/index.html" - }, - { - "source": 19, - "target": 20, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vars" - }, - { - "field": "num_constraints", - "formula": "num_constraints + num_vars" - } - ], - "doc_path": "rules/ilp_bool_ilp_i32/index.html" - }, - { - "source": 19, - "target": 59, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vars + num_constraints * num_vars" - } - ], - "doc_path": "rules/ilp_qubo/index.html" - }, - { - "source": 23, - "target": 26, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_edges" - } - ], - "doc_path": "rules/kcoloring_casts/index.html" - }, - { - "source": 26, - "target": 19, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vertices^2" - }, - { - "field": "num_constraints", - "formula": "num_vertices + num_vertices * num_edges" - } - ], - "doc_path": "rules/coloring_ilp/index.html" - }, - { - "source": 26, - "target": 59, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vertices^2" - } - ], - "doc_path": "rules/coloring_qubo/index.html" - }, - { - "source": 27, - "target": 29, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vars" - }, - { - "field": "num_clauses", - "formula": "num_clauses" - } - ], - "doc_path": "rules/ksatisfiability_casts/index.html" - }, - { - "source": 27, - "target": 59, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vars" - } - ], - "doc_path": "rules/ksatisfiability_qubo/index.html" - }, - { - "source": 28, - "target": 29, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vars" - }, - { - "field": "num_clauses", - "formula": "num_clauses" - } - ], - "doc_path": "rules/ksatisfiability_casts/index.html" - }, - { - "source": 28, - "target": 59, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vars + num_clauses" - } - ], - "doc_path": "rules/ksatisfiability_qubo/index.html" - }, - { - "source": 28, - "target": 71, - "overhead": [ - { - "field": "num_elements", - "formula": "2 * num_vars + 2 * num_clauses" - } - ], - "doc_path": "rules/ksatisfiability_subsetsum/index.html" - }, - { - "source": 29, - "target": 61, - "overhead": [ - { - "field": "num_clauses", - "formula": "num_clauses" - }, - { - "field": "num_vars", - "formula": "num_vars" - }, - { - "field": "num_literals", - "formula": "num_literals" - } - ], - "doc_path": "rules/sat_ksat/index.html" - }, - { - "source": 30, - "target": 59, - "overhead": [ - { - "field": "num_vars", - "formula": "num_items + num_slack_bits" - } - ], - "doc_path": "rules/knapsack_qubo/index.html" - }, - { - "source": 32, - "target": 19, - "overhead": [ - { - "field": "num_vars", - "formula": "num_chars_first * num_chars_second" - }, - { - "field": "num_constraints", - "formula": "num_chars_first + num_chars_second + (num_chars_first * num_chars_second)^2" - } - ], - "doc_path": "rules/longestcommonsubsequence_ilp/index.html" - }, - { - "source": 33, - "target": 66, - "overhead": [ - { - "field": "num_spins", - "formula": "num_vertices" - }, - { - "field": "num_interactions", - "formula": "num_edges" - } - ], - "doc_path": "rules/spinglass_maxcut/index.html" - }, - { - "source": 35, - "target": 19, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vertices" - }, - { - "field": "num_constraints", - "formula": "num_vertices^2" - } - ], - "doc_path": "rules/maximumclique_ilp/index.html" - }, - { - "source": 35, - "target": 39, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_vertices * (num_vertices + -1 * 1) * 2^-1 + -1 * num_edges" - } - ], - "doc_path": "rules/maximumclique_maximumindependentset/index.html" - }, - { - "source": 36, - "target": 37, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_edges" - } - ], - "doc_path": "rules/maximumindependentset_casts/index.html" - }, - { - "source": 36, - "target": 41, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_edges" - } - ], - "doc_path": "rules/maximumindependentset_casts/index.html" - }, - { - "source": 37, - "target": 42, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_edges" - } - ], - "doc_path": "rules/maximumindependentset_casts/index.html" - }, - { - "source": 38, - "target": 36, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices * num_vertices" - }, - { - "field": "num_edges", - "formula": "num_vertices * num_vertices" - } - ], - "doc_path": "rules/maximumindependentset_gridgraph/index.html" - }, - { - "source": 38, - "target": 39, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_edges" - } - ], - "doc_path": "rules/maximumindependentset_casts/index.html" - }, - { - "source": 38, - "target": 40, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices * num_vertices" - }, - { - "field": "num_edges", - "formula": "num_vertices * num_vertices" - } - ], - "doc_path": "rules/maximumindependentset_triangular/index.html" - }, - { - "source": 38, - "target": 44, - "overhead": [ - { - "field": "num_sets", - "formula": "num_vertices" - }, - { - "field": "universe_size", - "formula": "num_edges" - } - ], - "doc_path": "rules/maximumindependentset_maximumsetpacking/index.html" - }, - { - "source": 39, - "target": 35, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_vertices * (num_vertices + -1 * 1) * 2^-1 + -1 * num_edges" - } - ], - "doc_path": "rules/maximumindependentset_maximumclique/index.html" - }, - { - "source": 39, - "target": 46, - "overhead": [ - { - "field": "num_sets", - "formula": "num_vertices" - }, - { - "field": "universe_size", - "formula": "num_edges" - } - ], - "doc_path": "rules/maximumindependentset_maximumsetpacking/index.html" - }, - { - "source": 39, - "target": 54, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_edges" - } - ], - "doc_path": "rules/minimumvertexcover_maximumindependentset/index.html" - }, - { - "source": 40, - "target": 42, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_edges" - } - ], - "doc_path": "rules/maximumindependentset_casts/index.html" - }, - { - "source": 41, - "target": 38, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_edges" - } - ], - "doc_path": "rules/maximumindependentset_casts/index.html" - }, - { - "source": 41, - "target": 42, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_edges" - } - ], - "doc_path": "rules/maximumindependentset_casts/index.html" - }, - { - "source": 42, - "target": 39, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_edges" - } - ], - "doc_path": "rules/maximumindependentset_casts/index.html" - }, - { - "source": 43, - "target": 19, - "overhead": [ - { - "field": "num_vars", - "formula": "num_edges" - }, - { - "field": "num_constraints", - "formula": "num_vertices" - } - ], - "doc_path": "rules/maximummatching_ilp/index.html" - }, - { - "source": 43, - "target": 46, - "overhead": [ - { - "field": "num_sets", - "formula": "num_edges" - }, - { - "field": "universe_size", - "formula": "num_vertices" - } - ], - "doc_path": "rules/maximummatching_maximumsetpacking/index.html" - }, - { - "source": 44, - "target": 38, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_sets" - }, - { - "field": "num_edges", - "formula": "num_sets^2" - } - ], - "doc_path": "rules/maximumindependentset_maximumsetpacking/index.html" - }, - { - "source": 44, - "target": 46, - "overhead": [ - { - "field": "num_sets", - "formula": "num_sets" - }, - { - "field": "universe_size", - "formula": "universe_size" - } - ], - "doc_path": "rules/maximumsetpacking_casts/index.html" - }, - { - "source": 45, - "target": 59, - "overhead": [ - { - "field": "num_vars", - "formula": "num_sets" - } - ], - "doc_path": "rules/maximumsetpacking_qubo/index.html" - }, - { - "source": 46, - "target": 19, - "overhead": [ - { - "field": "num_vars", - "formula": "num_sets" - }, - { - "field": "num_constraints", - "formula": "universe_size" - } - ], - "doc_path": "rules/maximumsetpacking_ilp/index.html" - }, - { - "source": 46, - "target": 39, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_sets" - }, - { - "field": "num_edges", - "formula": "num_sets^2" - } - ], - "doc_path": "rules/maximumindependentset_maximumsetpacking/index.html" - }, - { - "source": 46, - "target": 45, - "overhead": [ - { - "field": "num_sets", - "formula": "num_sets" - }, - { - "field": "universe_size", - "formula": "universe_size" - } - ], - "doc_path": "rules/maximumsetpacking_casts/index.html" - }, - { - "source": 47, - "target": 19, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vertices" - }, - { - "field": "num_constraints", - "formula": "num_vertices" - } - ], - "doc_path": "rules/minimumdominatingset_ilp/index.html" - }, - { - "source": 49, - "target": 20, - "overhead": [ - { - "field": "num_vars", - "formula": "2 * num_vertices" - }, - { - "field": "num_constraints", - "formula": "num_arcs + 2 * num_vertices" - } - ], - "doc_path": "rules/minimumfeedbackvertexset_ilp/index.html" - }, - { - "source": 50, - "target": 59, - "overhead": [ - { - "field": "num_vars", - "formula": "num_terminals * num_vertices" - } - ], - "doc_path": "rules/minimummultiwaycut_qubo/index.html" - }, - { - "source": 51, - "target": 19, - "overhead": [ - { - "field": "num_vars", - "formula": "num_sets" - }, - { - "field": "num_constraints", - "formula": "universe_size" - } - ], - "doc_path": "rules/minimumsetcovering_ilp/index.html" - }, - { - "source": 54, - "target": 39, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vertices" - }, - { - "field": "num_edges", - "formula": "num_edges" - } - ], - "doc_path": "rules/minimumvertexcover_maximumindependentset/index.html" - }, - { - "source": 54, - "target": 51, - "overhead": [ - { - "field": "num_sets", - "formula": "num_vertices" - }, - { - "field": "universe_size", - "formula": "num_edges" - } - ], - "doc_path": "rules/minimumvertexcover_minimumsetcovering/index.html" - }, - { - "source": 59, - "target": 19, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vars^2" - }, - { - "field": "num_constraints", - "formula": "num_vars^2" - } - ], - "doc_path": "rules/qubo_ilp/index.html" - }, - { - "source": 59, - "target": 65, - "overhead": [ - { - "field": "num_spins", - "formula": "num_vars" - } - ], - "doc_path": "rules/spinglass_qubo/index.html" - }, - { - "source": 61, - "target": 7, - "overhead": [ - { - "field": "num_variables", - "formula": "num_vars + num_clauses + 1" - }, - { - "field": "num_assignments", - "formula": "num_clauses + 2" - } - ], - "doc_path": "rules/sat_circuitsat/index.html" - }, - { - "source": 61, - "target": 23, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_vars + num_literals" - }, - { - "field": "num_edges", - "formula": "num_vars + num_literals" - } - ], - "doc_path": "rules/sat_coloring/index.html" - }, - { - "source": 61, - "target": 28, - "overhead": [ - { - "field": "num_clauses", - "formula": "4 * num_clauses + num_literals" - }, - { - "field": "num_vars", - "formula": "num_vars + 3 * num_clauses + num_literals" - } - ], - "doc_path": "rules/sat_ksat/index.html" - }, - { - "source": 61, - "target": 38, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_literals" - }, - { - "field": "num_edges", - "formula": "num_literals^2" - } - ], - "doc_path": "rules/sat_maximumindependentset/index.html" - }, - { - "source": 61, - "target": 47, - "overhead": [ - { - "field": "num_vertices", - "formula": "3 * num_vars + num_clauses" - }, - { - "field": "num_edges", - "formula": "3 * num_vars + num_literals" - } - ], - "doc_path": "rules/sat_minimumdominatingset/index.html" - }, - { - "source": 65, - "target": 59, - "overhead": [ - { - "field": "num_vars", - "formula": "num_spins" - } - ], - "doc_path": "rules/spinglass_qubo/index.html" - }, - { - "source": 66, - "target": 33, - "overhead": [ - { - "field": "num_vertices", - "formula": "num_spins" - }, - { - "field": "num_edges", - "formula": "num_interactions" - } - ], - "doc_path": "rules/spinglass_maxcut/index.html" - }, - { - "source": 66, - "target": 65, - "overhead": [ - { - "field": "num_spins", - "formula": "num_spins" - }, - { - "field": "num_interactions", - "formula": "num_interactions" - } - ], - "doc_path": "rules/spinglass_casts/index.html" - }, - { - "source": 72, - "target": 19, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vertices^2 + 2 * num_vertices * num_edges" - }, - { - "field": "num_constraints", - "formula": "num_vertices^3 + -1 * 1 * num_vertices^2 + 2 * num_vertices + 4 * num_vertices * num_edges" - } - ], - "doc_path": "rules/travelingsalesman_ilp/index.html" - }, - { - "source": 72, - "target": 59, - "overhead": [ - { - "field": "num_vars", - "formula": "num_vertices^2" - } - ], - "doc_path": "rules/travelingsalesman_qubo/index.html" - } - ] -} \ No newline at end of file diff --git a/src/example_db/fixtures/examples.json b/src/example_db/fixtures/examples.json deleted file mode 100644 index 75e16f6a2..000000000 --- a/src/example_db/fixtures/examples.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "models": [ - {"problem":"BMF","variant":{},"instance":{"k":2,"m":3,"matrix":[[true,true,false],[true,true,true],[false,true,true]],"n":3},"samples":[{"config":[1,0,1,1,0,1,1,1,0,0,1,1],"metric":{"Valid":0}}],"optimal":[{"config":[0,1,1,1,1,0,0,1,1,1,1,0],"metric":{"Valid":0}},{"config":[1,0,1,1,0,1,1,1,0,0,1,1],"metric":{"Valid":0}}]}, - {"problem":"BalancedCompleteBipartiteSubgraph","variant":{},"instance":{"graph":{"edges":[[0,0],[0,1],[0,2],[1,0],[1,1],[1,2],[2,0],[2,1],[2,2],[3,0],[3,1],[3,3]],"left_size":4,"right_size":4},"k":3},"samples":[{"config":[1,1,1,0,1,1,1,0],"metric":true}],"optimal":[{"config":[1,1,1,0,1,1,1,0],"metric":true}]}, - {"problem":"BicliqueCover","variant":{},"instance":{"graph":{"edges":[[0,0],[0,1],[1,1],[1,2]],"left_size":2,"right_size":3},"k":2},"samples":[{"config":[1,0,0,1,1,0,1,1,0,1],"metric":{"Valid":6}}],"optimal":[{"config":[0,1,0,1,0,1,0,1,0,1],"metric":{"Valid":5}},{"config":[1,0,1,0,1,0,1,0,1,0],"metric":{"Valid":5}}]}, - {"problem":"BiconnectivityAugmentation","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"budget":4,"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null]],"node_holes":[],"nodes":[null,null,null,null,null,null]}},"potential_weights":[[0,2,1],[0,3,2],[0,4,3],[1,3,1],[1,4,2],[1,5,3],[2,4,1],[2,5,2],[3,5,1]]},"samples":[{"config":[1,0,0,1,0,0,1,0,1],"metric":true}],"optimal":[{"config":[0,0,1,0,0,0,0,0,1],"metric":true},{"config":[0,1,0,0,0,0,0,1,0],"metric":true},{"config":[0,1,0,0,0,0,1,0,1],"metric":true},{"config":[1,0,0,0,0,1,0,0,0],"metric":true},{"config":[1,0,0,0,1,0,0,0,1],"metric":true},{"config":[1,0,0,1,0,0,0,1,0],"metric":true},{"config":[1,0,0,1,0,0,1,0,1],"metric":true}]}, - {"problem":"BoundedComponentSpanningForest","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[6,7,null],[0,7,null],[1,5,null],[2,6,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null]}},"max_components":3,"max_weight":6,"weights":[2,3,1,2,3,1,2,1]},"samples":[{"config":[0,0,1,1,1,2,2,0],"metric":true}],"optimal":[{"config":[0,0,0,1,1,1,2,2],"metric":true},{"config":[0,0,0,1,1,2,2,2],"metric":true},{"config":[0,0,0,2,2,1,1,1],"metric":true},{"config":[0,0,0,2,2,2,1,1],"metric":true},{"config":[0,0,1,1,1,0,2,2],"metric":true},{"config":[0,0,1,1,1,2,2,0],"metric":true},{"config":[0,0,1,1,1,2,2,2],"metric":true},{"config":[0,0,1,1,2,0,1,1],"metric":true},{"config":[0,0,1,1,2,1,1,0],"metric":true},{"config":[0,0,1,1,2,2,1,0],"metric":true},{"config":[0,0,1,1,2,2,1,1],"metric":true},{"config":[0,0,1,1,2,2,2,0],"metric":true},{"config":[0,0,1,2,2,0,1,1],"metric":true},{"config":[0,0,1,2,2,1,1,0],"metric":true},{"config":[0,0,1,2,2,1,1,1],"metric":true},{"config":[0,0,1,2,2,2,1,0],"metric":true},{"config":[0,0,1,2,2,2,1,1],"metric":true},{"config":[0,0,2,1,1,0,2,2],"metric":true},{"config":[0,0,2,1,1,1,2,0],"metric":true},{"config":[0,0,2,1,1,1,2,2],"metric":true},{"config":[0,0,2,1,1,2,2,0],"metric":true},{"config":[0,0,2,1,1,2,2,2],"metric":true},{"config":[0,0,2,2,1,0,2,2],"metric":true},{"config":[0,0,2,2,1,1,1,0],"metric":true},{"config":[0,0,2,2,1,1,2,0],"metric":true},{"config":[0,0,2,2,1,1,2,2],"metric":true},{"config":[0,0,2,2,1,2,2,0],"metric":true},{"config":[0,0,2,2,2,0,1,1],"metric":true},{"config":[0,0,2,2,2,1,1,0],"metric":true},{"config":[0,0,2,2,2,1,1,1],"metric":true},{"config":[0,1,0,2,2,1,0,0],"metric":true},{"config":[0,1,0,2,2,2,0,0],"metric":true},{"config":[0,1,1,1,2,0,0,0],"metric":true},{"config":[0,1,1,1,2,2,0,0],"metric":true},{"config":[0,1,1,1,2,2,2,0],"metric":true},{"config":[0,1,1,2,2,0,0,0],"metric":true},{"config":[0,1,1,2,2,1,0,0],"metric":true},{"config":[0,1,1,2,2,2,0,0],"metric":true},{"config":[0,1,1,2,2,2,1,0],"metric":true},{"config":[0,1,2,2,2,0,0,0],"metric":true},{"config":[0,1,2,2,2,1,0,0],"metric":true},{"config":[0,1,2,2,2,1,1,0],"metric":true},{"config":[0,2,0,1,1,1,0,0],"metric":true},{"config":[0,2,0,1,1,2,0,0],"metric":true},{"config":[0,2,1,1,1,0,0,0],"metric":true},{"config":[0,2,1,1,1,2,0,0],"metric":true},{"config":[0,2,1,1,1,2,2,0],"metric":true},{"config":[0,2,2,1,1,0,0,0],"metric":true},{"config":[0,2,2,1,1,1,0,0],"metric":true},{"config":[0,2,2,1,1,1,2,0],"metric":true},{"config":[0,2,2,1,1,2,0,0],"metric":true},{"config":[0,2,2,2,1,0,0,0],"metric":true},{"config":[0,2,2,2,1,1,0,0],"metric":true},{"config":[0,2,2,2,1,1,1,0],"metric":true},{"config":[1,0,0,0,2,1,1,1],"metric":true},{"config":[1,0,0,0,2,2,1,1],"metric":true},{"config":[1,0,0,0,2,2,2,1],"metric":true},{"config":[1,0,0,2,2,0,1,1],"metric":true},{"config":[1,0,0,2,2,1,1,1],"metric":true},{"config":[1,0,0,2,2,2,0,1],"metric":true},{"config":[1,0,0,2,2,2,1,1],"metric":true},{"config":[1,0,1,2,2,0,1,1],"metric":true},{"config":[1,0,1,2,2,2,1,1],"metric":true},{"config":[1,0,2,2,2,0,0,1],"metric":true},{"config":[1,0,2,2,2,0,1,1],"metric":true},{"config":[1,0,2,2,2,1,1,1],"metric":true},{"config":[1,1,0,0,0,1,2,2],"metric":true},{"config":[1,1,0,0,0,2,2,1],"metric":true},{"config":[1,1,0,0,0,2,2,2],"metric":true},{"config":[1,1,0,0,2,0,0,1],"metric":true},{"config":[1,1,0,0,2,1,0,0],"metric":true},{"config":[1,1,0,0,2,2,0,0],"metric":true},{"config":[1,1,0,0,2,2,0,1],"metric":true},{"config":[1,1,0,0,2,2,2,1],"metric":true},{"config":[1,1,0,2,2,0,0,0],"metric":true},{"config":[1,1,0,2,2,0,0,1],"metric":true},{"config":[1,1,0,2,2,1,0,0],"metric":true},{"config":[1,1,0,2,2,2,0,0],"metric":true},{"config":[1,1,0,2,2,2,0,1],"metric":true},{"config":[1,1,1,0,0,0,2,2],"metric":true},{"config":[1,1,1,0,0,2,2,2],"metric":true},{"config":[1,1,1,2,2,0,0,0],"metric":true},{"config":[1,1,1,2,2,2,0,0],"metric":true},{"config":[1,1,2,0,0,0,2,1],"metric":true},{"config":[1,1,2,0,0,0,2,2],"metric":true},{"config":[1,1,2,0,0,1,2,2],"metric":true},{"config":[1,1,2,0,0,2,2,1],"metric":true},{"config":[1,1,2,0,0,2,2,2],"metric":true},{"config":[1,1,2,2,0,0,0,1],"metric":true},{"config":[1,1,2,2,0,0,2,1],"metric":true},{"config":[1,1,2,2,0,0,2,2],"metric":true},{"config":[1,1,2,2,0,1,2,2],"metric":true},{"config":[1,1,2,2,0,2,2,1],"metric":true},{"config":[1,1,2,2,2,0,0,0],"metric":true},{"config":[1,1,2,2,2,0,0,1],"metric":true},{"config":[1,1,2,2,2,1,0,0],"metric":true},{"config":[1,2,0,0,0,1,1,1],"metric":true},{"config":[1,2,0,0,0,2,1,1],"metric":true},{"config":[1,2,0,0,0,2,2,1],"metric":true},{"config":[1,2,1,0,0,0,1,1],"metric":true},{"config":[1,2,1,0,0,2,1,1],"metric":true},{"config":[1,2,2,0,0,0,1,1],"metric":true},{"config":[1,2,2,0,0,0,2,1],"metric":true},{"config":[1,2,2,0,0,1,1,1],"metric":true},{"config":[1,2,2,0,0,2,1,1],"metric":true},{"config":[1,2,2,2,0,0,0,1],"metric":true},{"config":[1,2,2,2,0,0,1,1],"metric":true},{"config":[1,2,2,2,0,1,1,1],"metric":true},{"config":[2,0,0,0,1,1,1,2],"metric":true},{"config":[2,0,0,0,1,1,2,2],"metric":true},{"config":[2,0,0,0,1,2,2,2],"metric":true},{"config":[2,0,0,1,1,0,2,2],"metric":true},{"config":[2,0,0,1,1,1,0,2],"metric":true},{"config":[2,0,0,1,1,1,2,2],"metric":true},{"config":[2,0,0,1,1,2,2,2],"metric":true},{"config":[2,0,1,1,1,0,0,2],"metric":true},{"config":[2,0,1,1,1,0,2,2],"metric":true},{"config":[2,0,1,1,1,2,2,2],"metric":true},{"config":[2,0,2,1,1,0,2,2],"metric":true},{"config":[2,0,2,1,1,1,2,2],"metric":true},{"config":[2,1,0,0,0,1,1,2],"metric":true},{"config":[2,1,0,0,0,1,2,2],"metric":true},{"config":[2,1,0,0,0,2,2,2],"metric":true},{"config":[2,1,1,0,0,0,1,2],"metric":true},{"config":[2,1,1,0,0,0,2,2],"metric":true},{"config":[2,1,1,0,0,1,2,2],"metric":true},{"config":[2,1,1,0,0,2,2,2],"metric":true},{"config":[2,1,1,1,0,0,0,2],"metric":true},{"config":[2,1,1,1,0,0,2,2],"metric":true},{"config":[2,1,1,1,0,2,2,2],"metric":true},{"config":[2,1,2,0,0,0,2,2],"metric":true},{"config":[2,1,2,0,0,1,2,2],"metric":true},{"config":[2,2,0,0,0,1,1,1],"metric":true},{"config":[2,2,0,0,0,1,1,2],"metric":true},{"config":[2,2,0,0,0,2,1,1],"metric":true},{"config":[2,2,0,0,1,0,0,2],"metric":true},{"config":[2,2,0,0,1,1,0,0],"metric":true},{"config":[2,2,0,0,1,1,0,2],"metric":true},{"config":[2,2,0,0,1,1,1,2],"metric":true},{"config":[2,2,0,0,1,2,0,0],"metric":true},{"config":[2,2,0,1,1,0,0,0],"metric":true},{"config":[2,2,0,1,1,0,0,2],"metric":true},{"config":[2,2,0,1,1,1,0,0],"metric":true},{"config":[2,2,0,1,1,1,0,2],"metric":true},{"config":[2,2,0,1,1,2,0,0],"metric":true},{"config":[2,2,1,0,0,0,1,1],"metric":true},{"config":[2,2,1,0,0,0,1,2],"metric":true},{"config":[2,2,1,0,0,1,1,1],"metric":true},{"config":[2,2,1,0,0,1,1,2],"metric":true},{"config":[2,2,1,0,0,2,1,1],"metric":true},{"config":[2,2,1,1,0,0,0,2],"metric":true},{"config":[2,2,1,1,0,0,1,1],"metric":true},{"config":[2,2,1,1,0,0,1,2],"metric":true},{"config":[2,2,1,1,0,1,1,2],"metric":true},{"config":[2,2,1,1,0,2,1,1],"metric":true},{"config":[2,2,1,1,1,0,0,0],"metric":true},{"config":[2,2,1,1,1,0,0,2],"metric":true},{"config":[2,2,1,1,1,2,0,0],"metric":true},{"config":[2,2,2,0,0,0,1,1],"metric":true},{"config":[2,2,2,0,0,1,1,1],"metric":true},{"config":[2,2,2,1,1,0,0,0],"metric":true},{"config":[2,2,2,1,1,1,0,0],"metric":true}]}, - {"problem":"CircuitSAT","variant":{},"instance":{"circuit":{"assignments":[{"expr":{"op":{"And":[{"op":{"Var":"x1"}},{"op":{"Var":"x2"}}]}},"outputs":["a"]},{"expr":{"op":{"Or":[{"op":{"Var":"x1"}},{"op":{"Var":"x2"}}]}},"outputs":["b"]},{"expr":{"op":{"Xor":[{"op":{"Var":"a"}},{"op":{"Var":"b"}}]}},"outputs":["c"]}]},"variables":["a","b","c","x1","x2"]},"samples":[{"config":[0,1,1,0,1],"metric":true},{"config":[0,1,1,1,0],"metric":true}],"optimal":[{"config":[0,0,0,0,0],"metric":true},{"config":[0,1,1,0,1],"metric":true},{"config":[0,1,1,1,0],"metric":true},{"config":[1,1,0,1,1],"metric":true}]}, - {"problem":"ClosestVectorProblem","variant":{"weight":"i32"},"instance":{"basis":[[2,0],[1,2]],"bounds":[{"lower":-2,"upper":4},{"lower":-2,"upper":4}],"target":[2.8,1.5]},"samples":[{"config":[3,3],"metric":{"Valid":0.5385164807134505}}],"optimal":[{"config":[3,3],"metric":{"Valid":0.5385164807134505}}]}, - {"problem":"ComparativeContainment","variant":{"weight":"i32"},"instance":{"r_sets":[[0,1,2,3],[0,1]],"r_weights":[2,5],"s_sets":[[0,1,2,3],[2,3]],"s_weights":[3,6],"universe_size":4},"samples":[{"config":[1,0,0,0],"metric":true}],"optimal":[{"config":[0,1,0,0],"metric":true},{"config":[1,0,0,0],"metric":true},{"config":[1,1,0,0],"metric":true}]}, - {"problem":"DirectedTwoCommodityIntegralFlow","variant":{},"instance":{"capacities":[1,1,1,1,1,1,1,1],"graph":{"inner":{"edge_property":"directed","edges":[[0,2,null],[0,3,null],[1,2,null],[1,3,null],[2,4,null],[2,5,null],[3,4,null],[3,5,null]],"node_holes":[],"nodes":[null,null,null,null,null,null]}},"requirement_1":1,"requirement_2":1,"sink_1":4,"sink_2":5,"source_1":0,"source_2":1},"samples":[{"config":[1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1],"metric":true}],"optimal":[{"config":[0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0],"metric":true},{"config":[0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1],"metric":true},{"config":[0,0,0,1,0,0,1,0,0,1,1,0,0,1,0,1],"metric":true},{"config":[0,0,0,1,0,0,1,0,0,1,1,0,1,0,0,1],"metric":true},{"config":[0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0],"metric":true},{"config":[0,0,0,1,0,0,1,0,1,0,1,0,1,1,0,0],"metric":true},{"config":[0,0,0,1,0,0,1,0,1,1,0,0,0,1,0,1],"metric":true},{"config":[0,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1],"metric":true},{"config":[0,0,0,1,0,0,1,0,1,1,1,0,1,1,0,1],"metric":true},{"config":[0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,1],"metric":true},{"config":[0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1],"metric":true},{"config":[0,0,1,0,1,0,0,0,0,1,0,1,0,0,1,1],"metric":true},{"config":[0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0],"metric":true},{"config":[0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,1],"metric":true},{"config":[0,0,1,0,1,0,0,0,1,0,0,1,0,1,1,0],"metric":true},{"config":[0,0,1,0,1,0,0,0,1,1,0,0,0,1,0,1],"metric":true},{"config":[0,0,1,0,1,0,0,0,1,1,0,0,0,1,1,0],"metric":true},{"config":[0,0,1,0,1,0,0,0,1,1,0,1,0,1,1,1],"metric":true},{"config":[0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,1],"metric":true},{"config":[0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,1],"metric":true},{"config":[0,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0],"metric":true},{"config":[0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0],"metric":true},{"config":[0,0,1,1,1,0,1,0,0,1,0,0,0,0,0,1],"metric":true},{"config":[0,0,1,1,1,0,1,0,1,0,0,0,0,1,0,0],"metric":true},{"config":[0,0,1,1,1,0,1,0,1,1,0,0,0,1,0,1],"metric":true},{"config":[0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1],"metric":true},{"config":[0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0],"metric":true},{"config":[0,1,0,0,0,0,1,0,0,0,1,1,0,1,0,1],"metric":true},{"config":[0,1,0,0,0,0,1,0,0,0,1,1,1,0,0,1],"metric":true},{"config":[0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0],"metric":true},{"config":[0,1,0,0,0,0,1,0,1,0,0,1,0,1,0,1],"metric":true},{"config":[0,1,0,0,0,0,1,0,1,0,0,1,1,0,0,1],"metric":true},{"config":[0,1,0,0,0,0,1,0,1,0,1,0,1,1,0,0],"metric":true},{"config":[0,1,0,0,0,0,1,0,1,0,1,1,1,1,0,1],"metric":true},{"config":[0,1,0,1,0,0,1,1,0,0,1,0,0,1,0,0],"metric":true},{"config":[0,1,0,1,0,0,1,1,1,0,0,0,0,1,0,0],"metric":true},{"config":[0,1,0,1,0,0,1,1,1,0,1,0,1,1,0,0],"metric":true},{"config":[0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1],"metric":true},{"config":[0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1],"metric":true},{"config":[0,1,1,0,1,0,0,1,1,0,0,0,0,1,0,0],"metric":true},{"config":[0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0],"metric":true},{"config":[0,1,1,0,1,0,1,0,0,0,0,1,0,0,0,1],"metric":true},{"config":[0,1,1,0,1,0,1,0,1,0,0,0,0,1,0,0],"metric":true},{"config":[0,1,1,0,1,0,1,0,1,0,0,1,0,1,0,1],"metric":true},{"config":[0,1,1,1,1,0,1,1,1,0,0,0,0,1,0,0],"metric":true},{"config":[1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1],"metric":true},{"config":[1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0],"metric":true},{"config":[1,0,0,0,1,0,0,0,0,0,1,1,0,1,0,1],"metric":true},{"config":[1,0,0,0,1,0,0,0,0,0,1,1,0,1,1,0],"metric":true},{"config":[1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1],"metric":true},{"config":[1,0,0,0,1,0,0,0,0,1,0,1,0,0,1,1],"metric":true},{"config":[1,0,0,0,1,0,0,0,0,1,1,0,0,1,0,1],"metric":true},{"config":[1,0,0,0,1,0,0,0,0,1,1,0,0,1,1,0],"metric":true},{"config":[1,0,0,0,1,0,0,0,0,1,1,1,0,1,1,1],"metric":true},{"config":[1,0,0,1,0,1,1,0,0,1,0,0,0,0,0,1],"metric":true},{"config":[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1],"metric":true},{"config":[1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0],"metric":true},{"config":[1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0],"metric":true},{"config":[1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0],"metric":true},{"config":[1,0,0,1,1,0,1,0,0,1,0,0,0,0,0,1],"metric":true},{"config":[1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1],"metric":true},{"config":[1,0,1,0,1,1,0,0,0,0,0,1,0,0,0,1],"metric":true},{"config":[1,0,1,0,1,1,0,0,0,1,0,0,0,0,0,1],"metric":true},{"config":[1,0,1,0,1,1,0,0,0,1,0,1,0,0,1,1],"metric":true},{"config":[1,0,1,1,1,1,1,0,0,1,0,0,0,0,0,1],"metric":true},{"config":[1,1,0,0,0,1,1,0,0,0,0,1,0,0,0,1],"metric":true},{"config":[1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,1],"metric":true},{"config":[1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0],"metric":true},{"config":[1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0],"metric":true},{"config":[1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1],"metric":true},{"config":[1,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0],"metric":true},{"config":[1,1,0,0,1,0,1,0,0,0,1,1,0,1,0,1],"metric":true},{"config":[1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0],"metric":true},{"config":[1,1,1,0,1,1,1,0,0,0,0,1,0,0,0,1],"metric":true}]}, - {"problem":"ExactCoverBy3Sets","variant":{},"instance":{"subsets":[[0,1,2],[0,2,4],[3,4,5],[3,5,7],[6,7,8],[1,4,6],[2,5,8]],"universe_size":9},"samples":[{"config":[1,0,1,0,1,0,0],"metric":true}],"optimal":[{"config":[1,0,1,0,1,0,0],"metric":true}]}, - {"problem":"Factoring","variant":{},"instance":{"m":2,"n":3,"target":15},"samples":[{"config":[1,1,1,0,1],"metric":{"Valid":0}}],"optimal":[{"config":[1,1,1,0,1],"metric":{"Valid":0}}]}, - {"problem":"HamiltonianPath","variant":{"graph":"SimpleGraph"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,3,null],[2,3,null],[3,4,null],[3,5,null],[4,2,null],[5,1,null]],"node_holes":[],"nodes":[null,null,null,null,null,null]}}},"samples":[{"config":[0,2,4,3,1,5],"metric":true}],"optimal":[{"config":[0,1,5,3,2,4],"metric":true},{"config":[0,1,5,3,4,2],"metric":true},{"config":[0,2,4,3,1,5],"metric":true},{"config":[0,2,4,3,5,1],"metric":true},{"config":[1,0,2,4,3,5],"metric":true},{"config":[1,5,3,4,2,0],"metric":true},{"config":[2,0,1,5,3,4],"metric":true},{"config":[2,4,3,5,1,0],"metric":true},{"config":[3,4,2,0,1,5],"metric":true},{"config":[3,5,1,0,2,4],"metric":true},{"config":[4,2,0,1,3,5],"metric":true},{"config":[4,2,0,1,5,3],"metric":true},{"config":[4,2,3,5,1,0],"metric":true},{"config":[4,3,2,0,1,5],"metric":true},{"config":[4,3,5,1,0,2],"metric":true},{"config":[5,1,0,2,3,4],"metric":true},{"config":[5,1,0,2,4,3],"metric":true},{"config":[5,1,3,4,2,0],"metric":true},{"config":[5,3,1,0,2,4],"metric":true},{"config":[5,3,4,2,0,1],"metric":true}]}, - {"problem":"ILP","variant":{"variable":"i32"},"instance":{"constraints":[{"cmp":"Le","rhs":5.0,"terms":[[0,1.0],[1,1.0]]},{"cmp":"Le","rhs":28.0,"terms":[[0,4.0],[1,7.0]]}],"num_vars":2,"objective":[[0,-5.0],[1,-6.0]],"sense":"Minimize"},"samples":[{"config":[0,4],"metric":{"Valid":-24.0}}],"optimal":[{"config":[3,2],"metric":{"Valid":-27.0}}]}, - {"problem":"IsomorphicSpanningTree","variant":{},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[0,3,null],[1,2,null],[1,3,null],[2,3,null]],"node_holes":[],"nodes":[null,null,null,null]}},"tree":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[0,3,null]],"node_holes":[],"nodes":[null,null,null,null]}}},"samples":[{"config":[0,1,2,3],"metric":true}],"optimal":[{"config":[0,1,2,3],"metric":true},{"config":[0,1,3,2],"metric":true},{"config":[0,2,1,3],"metric":true},{"config":[0,2,3,1],"metric":true},{"config":[0,3,1,2],"metric":true},{"config":[0,3,2,1],"metric":true},{"config":[1,0,2,3],"metric":true},{"config":[1,0,3,2],"metric":true},{"config":[1,2,0,3],"metric":true},{"config":[1,2,3,0],"metric":true},{"config":[1,3,0,2],"metric":true},{"config":[1,3,2,0],"metric":true},{"config":[2,0,1,3],"metric":true},{"config":[2,0,3,1],"metric":true},{"config":[2,1,0,3],"metric":true},{"config":[2,1,3,0],"metric":true},{"config":[2,3,0,1],"metric":true},{"config":[2,3,1,0],"metric":true},{"config":[3,0,1,2],"metric":true},{"config":[3,0,2,1],"metric":true},{"config":[3,1,0,2],"metric":true},{"config":[3,1,2,0],"metric":true},{"config":[3,2,0,1],"metric":true},{"config":[3,2,1,0],"metric":true}]}, - {"problem":"KColoring","variant":{"graph":"SimpleGraph","k":"K3"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,3,null],[2,3,null],[2,4,null],[3,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"num_colors":3},"samples":[{"config":[0,1,1,0,2],"metric":true}],"optimal":[{"config":[0,1,1,0,2],"metric":true},{"config":[0,1,1,2,0],"metric":true},{"config":[0,1,2,0,1],"metric":true},{"config":[0,2,1,0,2],"metric":true},{"config":[0,2,2,0,1],"metric":true},{"config":[0,2,2,1,0],"metric":true},{"config":[1,0,0,1,2],"metric":true},{"config":[1,0,0,2,1],"metric":true},{"config":[1,0,2,1,0],"metric":true},{"config":[1,2,0,1,2],"metric":true},{"config":[1,2,2,0,1],"metric":true},{"config":[1,2,2,1,0],"metric":true},{"config":[2,0,0,1,2],"metric":true},{"config":[2,0,0,2,1],"metric":true},{"config":[2,0,1,2,0],"metric":true},{"config":[2,1,0,2,1],"metric":true},{"config":[2,1,1,0,2],"metric":true},{"config":[2,1,1,2,0],"metric":true}]}, - {"problem":"KSatisfiability","variant":{"k":"K3"},"instance":{"clauses":[{"literals":[1,2,3]},{"literals":[-1,-2,3]},{"literals":[1,-2,-3]}],"num_vars":3},"samples":[{"config":[1,0,1],"metric":true}],"optimal":[{"config":[0,0,1],"metric":true},{"config":[0,1,0],"metric":true},{"config":[1,0,0],"metric":true},{"config":[1,0,1],"metric":true},{"config":[1,1,1],"metric":true}]}, - {"problem":"LengthBoundedDisjointPaths","variant":{"graph":"SimpleGraph"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,6,null],[0,2,null],[2,3,null],[3,6,null],[0,4,null],[4,5,null],[5,6,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null]}},"max_length":3,"num_paths_required":2,"sink":6,"source":0},"samples":[{"config":[1,1,0,0,0,0,1,1,0,1,1,0,0,1],"metric":true}],"optimal":[{"config":[1,0,0,0,1,1,1,1,0,1,1,0,0,1],"metric":true},{"config":[1,0,0,0,1,1,1,1,1,0,0,0,0,1],"metric":true},{"config":[1,0,1,1,0,0,1,1,0,0,0,1,1,1],"metric":true},{"config":[1,0,1,1,0,0,1,1,1,0,0,0,0,1],"metric":true},{"config":[1,1,0,0,0,0,1,1,0,0,0,1,1,1],"metric":true},{"config":[1,1,0,0,0,0,1,1,0,1,1,0,0,1],"metric":true}]}, - {"problem":"MaxCut","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[1,1,1,1,1,1],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,3,null],[2,3,null],[2,4,null],[3,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}}},"samples":[{"config":[1,0,0,1,0],"metric":{"Valid":5}}],"optimal":[{"config":[0,1,1,0,0],"metric":{"Valid":5}},{"config":[0,1,1,0,1],"metric":{"Valid":5}},{"config":[1,0,0,1,0],"metric":{"Valid":5}},{"config":[1,0,0,1,1],"metric":{"Valid":5}}]}, - {"problem":"MaximalIS","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[2,3,null],[3,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"weights":[1,1,1,1,1]},"samples":[{"config":[0,1,0,1,0],"metric":{"Valid":2}},{"config":[1,0,1,0,1],"metric":{"Valid":3}}],"optimal":[{"config":[1,0,1,0,1],"metric":{"Valid":3}}]}, - {"problem":"MaximumClique","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,3,null],[2,3,null],[2,4,null],[3,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"weights":[1,1,1,1,1]},"samples":[{"config":[0,0,1,1,1],"metric":{"Valid":3}}],"optimal":[{"config":[0,0,1,1,1],"metric":{"Valid":3}}]}, - {"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"One"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,0,null],[5,7,null],[7,9,null],[9,6,null],[6,8,null],[8,5,null],[0,5,null],[1,6,null],[2,7,null],[3,8,null],[4,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]},"samples":[{"config":[0,1,0,1,0,1,0,0,0,1],"metric":{"Valid":4}}],"optimal":[{"config":[0,0,1,0,1,1,1,0,0,0],"metric":{"Valid":4}},{"config":[0,1,0,0,1,0,0,1,1,0],"metric":{"Valid":4}},{"config":[0,1,0,1,0,1,0,0,0,1],"metric":{"Valid":4}},{"config":[1,0,0,1,0,0,1,1,0,0],"metric":{"Valid":4}},{"config":[1,0,1,0,0,0,0,0,1,1],"metric":{"Valid":4}}]}, - {"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,0,null],[5,7,null],[7,9,null],[9,6,null],[6,8,null],[8,5,null],[0,5,null],[1,6,null],[2,7,null],[3,8,null],[4,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[5,1,1,1,1,3,1,1,1,3]},"samples":[{"config":[1,0,1,0,0,0,0,0,1,1],"metric":{"Valid":10}}],"optimal":[{"config":[1,0,1,0,0,0,0,0,1,1],"metric":{"Valid":10}}]}, - {"problem":"MaximumMatching","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[1,1,1,1,1,1],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,3,null],[2,3,null],[2,4,null],[3,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}}},"samples":[{"config":[1,0,0,0,1,0],"metric":{"Valid":2}}],"optimal":[{"config":[0,0,1,0,1,0],"metric":{"Valid":2}},{"config":[0,1,0,0,0,1],"metric":{"Valid":2}},{"config":[0,1,1,0,0,0],"metric":{"Valid":2}},{"config":[1,0,0,0,0,1],"metric":{"Valid":2}},{"config":[1,0,0,0,1,0],"metric":{"Valid":2}},{"config":[1,0,0,1,0,0],"metric":{"Valid":2}}]}, - {"problem":"MaximumSetPacking","variant":{"weight":"i32"},"instance":{"sets":[[0,1],[1,2],[2,3],[3,4]],"weights":[1,1,1,1]},"samples":[{"config":[1,0,1,0],"metric":{"Valid":2}}],"optimal":[{"config":[0,1,0,1],"metric":{"Valid":2}},{"config":[1,0,0,1],"metric":{"Valid":2}},{"config":[1,0,1,0],"metric":{"Valid":2}}]}, - {"problem":"MinimumDominatingSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,3,null],[2,3,null],[2,4,null],[3,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"weights":[1,1,1,1,1]},"samples":[{"config":[0,0,1,1,0],"metric":{"Valid":2}}],"optimal":[{"config":[0,0,1,1,0],"metric":{"Valid":2}},{"config":[0,1,0,0,1],"metric":{"Valid":2}},{"config":[0,1,0,1,0],"metric":{"Valid":2}},{"config":[0,1,1,0,0],"metric":{"Valid":2}},{"config":[1,0,0,0,1],"metric":{"Valid":2}},{"config":[1,0,0,1,0],"metric":{"Valid":2}},{"config":[1,0,1,0,0],"metric":{"Valid":2}}]}, - {"problem":"MinimumFeedbackVertexSet","variant":{"weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"directed","edges":[[0,1,null],[1,2,null],[2,0,null],[0,3,null],[3,4,null],[4,1,null],[4,2,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"weights":[1,1,1,1,1]},"samples":[{"config":[1,0,0,0,0],"metric":{"Valid":1}}],"optimal":[{"config":[0,0,1,0,0],"metric":{"Valid":1}},{"config":[1,0,0,0,0],"metric":{"Valid":1}}]}, - {"problem":"MinimumMultiwayCut","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[2,3,1,2,4,5],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[0,4,null],[1,3,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"terminals":[0,2,4]},"samples":[{"config":[1,0,0,1,1,0],"metric":{"Valid":8}}],"optimal":[{"config":[1,0,0,1,1,0],"metric":{"Valid":8}}]}, - {"problem":"MinimumSetCovering","variant":{"weight":"i32"},"instance":{"sets":[[0,1,2],[1,3],[2,3,4]],"universe_size":5,"weights":[1,1,1]},"samples":[{"config":[1,0,1],"metric":{"Valid":2}}],"optimal":[{"config":[1,0,1],"metric":{"Valid":2}}]}, - {"problem":"MinimumSumMulticenter","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_lengths":[1,1,1,1,1,1,1,1],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[0,6,null],[2,5,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null]}},"k":2,"vertex_weights":[1,1,1,1,1,1,1]},"samples":[{"config":[0,0,1,0,0,1,0],"metric":{"Valid":6}}],"optimal":[{"config":[0,0,0,1,0,0,1],"metric":{"Valid":6}},{"config":[0,0,1,0,0,0,1],"metric":{"Valid":6}},{"config":[0,0,1,0,0,1,0],"metric":{"Valid":6}},{"config":[0,1,0,0,0,1,0],"metric":{"Valid":6}},{"config":[0,1,0,0,1,0,0],"metric":{"Valid":6}},{"config":[1,0,0,0,0,1,0],"metric":{"Valid":6}},{"config":[1,0,0,0,1,0,0],"metric":{"Valid":6}},{"config":[1,0,0,1,0,0,0],"metric":{"Valid":6}},{"config":[1,0,1,0,0,0,0],"metric":{"Valid":6}}]}, - {"problem":"MinimumTardinessSequencing","variant":{},"instance":{"deadlines":[2,3,1,4],"num_tasks":4,"precedences":[[0,2]]},"samples":[{"config":[0,0,0,0],"metric":{"Valid":1}}],"optimal":[{"config":[0,0,0,0],"metric":{"Valid":1}},{"config":[0,0,1,0],"metric":{"Valid":1}},{"config":[0,1,0,0],"metric":{"Valid":1}},{"config":[0,2,0,0],"metric":{"Valid":1}},{"config":[1,0,0,0],"metric":{"Valid":1}},{"config":[1,0,1,0],"metric":{"Valid":1}},{"config":[3,0,0,0],"metric":{"Valid":1}}]}, - {"problem":"MinimumVertexCover","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,3,null],[2,3,null],[2,4,null],[3,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"weights":[1,1,1,1,1]},"samples":[{"config":[1,0,0,1,1],"metric":{"Valid":3}}],"optimal":[{"config":[0,1,1,0,1],"metric":{"Valid":3}},{"config":[0,1,1,1,0],"metric":{"Valid":3}},{"config":[1,0,0,1,1],"metric":{"Valid":3}},{"config":[1,0,1,1,0],"metric":{"Valid":3}}]}, - {"problem":"MultipleChoiceBranching","variant":{"weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"directed","edges":[[0,1,null],[0,2,null],[1,3,null],[2,3,null],[1,4,null],[3,5,null],[4,5,null],[2,4,null]],"node_holes":[],"nodes":[null,null,null,null,null,null]}},"partition":[[0,1],[2,3],[4,7],[5,6]],"threshold":10,"weights":[3,2,4,1,2,3,1,3]},"samples":[{"config":[1,0,1,0,0,1,0,1],"metric":true}],"optimal":[{"config":[0,0,1,0,0,1,0,1],"metric":true},{"config":[0,1,1,0,0,0,1,1],"metric":true},{"config":[0,1,1,0,0,1,0,1],"metric":true},{"config":[0,1,1,0,1,1,0,0],"metric":true},{"config":[1,0,0,1,0,1,0,1],"metric":true},{"config":[1,0,1,0,0,0,0,1],"metric":true},{"config":[1,0,1,0,0,0,1,1],"metric":true},{"config":[1,0,1,0,0,1,0,0],"metric":true},{"config":[1,0,1,0,0,1,0,1],"metric":true},{"config":[1,0,1,0,1,0,1,0],"metric":true},{"config":[1,0,1,0,1,1,0,0],"metric":true}]}, - {"problem":"PaintShop","variant":{},"instance":{"car_labels":["A","B","C"],"is_first":[true,true,false,true,false,false],"num_cars":3,"sequence_indices":[0,1,0,2,1,2]},"samples":[{"config":[0,0,1],"metric":{"Valid":2}}],"optimal":[{"config":[0,0,1],"metric":{"Valid":2}},{"config":[0,1,1],"metric":{"Valid":2}},{"config":[1,0,0],"metric":{"Valid":2}},{"config":[1,1,0],"metric":{"Valid":2}}]}, - {"problem":"PartitionIntoTriangles","variant":{"graph":"SimpleGraph"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,2,null],[3,4,null],[3,5,null],[4,5,null],[0,3,null]],"node_holes":[],"nodes":[null,null,null,null,null,null]}}},"samples":[{"config":[0,0,0,1,1,1],"metric":true}],"optimal":[{"config":[0,0,0,1,1,1],"metric":true},{"config":[1,1,1,0,0,0],"metric":true}]}, - {"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[-1.0,2.0,0.0],[0.0,-1.0,2.0],[0.0,0.0,-1.0]],"num_vars":3},"samples":[{"config":[1,0,1],"metric":{"Valid":-2.0}}],"optimal":[{"config":[1,0,1],"metric":{"Valid":-2.0}}]}, - {"problem":"Satisfiability","variant":{},"instance":{"clauses":[{"literals":[1,2]},{"literals":[-1,3]},{"literals":[-2,-3]}],"num_vars":3},"samples":[{"config":[1,0,1],"metric":true}],"optimal":[{"config":[0,1,0],"metric":true},{"config":[1,0,1],"metric":true}]}, - {"problem":"SequencingWithinIntervals","variant":{},"instance":{"deadlines":[11,11,11,11,6],"lengths":[3,1,2,4,1],"release_times":[0,0,0,0,5]},"samples":[{"config":[0,6,3,7,0],"metric":true}],"optimal":[{"config":[0,6,3,7,0],"metric":true},{"config":[0,10,3,6,0],"metric":true},{"config":[2,6,0,7,0],"metric":true},{"config":[2,10,0,6,0],"metric":true},{"config":[6,0,9,1,0],"metric":true},{"config":[6,4,9,0,0],"metric":true},{"config":[8,0,6,1,0],"metric":true},{"config":[8,4,6,0,0],"metric":true}]}, - {"problem":"SetBasis","variant":{},"instance":{"collection":[[0,1],[1,2],[0,2],[0,1,2]],"k":3,"universe_size":4},"samples":[{"config":[1,0,0,0,0,1,0,0,0,0,1,0],"metric":true}],"optimal":[{"config":[0,0,1,0,0,1,0,0,1,0,0,0],"metric":true},{"config":[0,0,1,0,1,0,0,0,0,1,0,0],"metric":true},{"config":[0,1,0,0,0,0,1,0,1,0,0,0],"metric":true},{"config":[0,1,0,0,1,0,0,0,0,0,1,0],"metric":true},{"config":[0,1,1,0,1,0,1,0,1,1,0,0],"metric":true},{"config":[0,1,1,0,1,1,0,0,1,0,1,0],"metric":true},{"config":[1,0,0,0,0,0,1,0,0,1,0,0],"metric":true},{"config":[1,0,0,0,0,1,0,0,0,0,1,0],"metric":true},{"config":[1,0,1,0,0,1,1,0,1,1,0,0],"metric":true},{"config":[1,0,1,0,1,1,0,0,0,1,1,0],"metric":true},{"config":[1,1,0,0,0,1,1,0,1,0,1,0],"metric":true},{"config":[1,1,0,0,1,0,1,0,0,1,1,0],"metric":true}]}, - {"problem":"ShortestCommonSupersequence","variant":{},"instance":{"alphabet_size":3,"bound":4,"strings":[[0,1,2],[1,0,2]]},"samples":[{"config":[1,0,1,2],"metric":true}],"optimal":[{"config":[0,1,0,2],"metric":true},{"config":[1,0,1,2],"metric":true}]}, - {"problem":"SpinGlass","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"couplings":[1,1,1,1,1,1,1],"fields":[0,0,0,0,0],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[3,4,null],[0,3,null],[1,3,null],[1,4,null],[2,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}}},"samples":[{"config":[1,0,1,1,0],"metric":{"Valid":-3}}],"optimal":[{"config":[0,0,1,1,0],"metric":{"Valid":-3}},{"config":[0,1,0,0,1],"metric":{"Valid":-3}},{"config":[0,1,0,1,0],"metric":{"Valid":-3}},{"config":[0,1,1,1,0],"metric":{"Valid":-3}},{"config":[1,0,0,0,1],"metric":{"Valid":-3}},{"config":[1,0,1,0,1],"metric":{"Valid":-3}},{"config":[1,0,1,1,0],"metric":{"Valid":-3}},{"config":[1,1,0,0,1],"metric":{"Valid":-3}}]}, - {"problem":"SteinerTree","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[2,5,2,1,5,6,1],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,3,null],[1,2,null],[1,3,null],[2,3,null],[2,4,null],[3,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"terminals":[0,2,4]},"samples":[{"config":[1,0,1,1,0,0,1],"metric":{"Valid":6}}],"optimal":[{"config":[1,0,1,1,0,0,1],"metric":{"Valid":6}}]}, - {"problem":"StrongConnectivityAugmentation","variant":{"weight":"i32"},"instance":{"bound":1,"candidate_arcs":[[3,0,5],[3,1,3],[3,2,4],[4,0,6],[4,1,2],[4,2,7],[5,0,4],[5,1,3],[5,2,1],[0,3,8],[0,4,3],[0,5,2],[1,3,6],[1,4,4],[1,5,5],[2,4,3],[2,5,7],[1,0,2]],"graph":{"inner":{"edge_property":"directed","edges":[[0,1,null],[1,2,null],[2,0,null],[3,4,null],[4,3,null],[2,3,null],[4,5,null],[5,3,null]],"node_holes":[],"nodes":[null,null,null,null,null,null]}}},"samples":[{"config":[0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],"metric":true},{"config":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"metric":false}],"optimal":[{"config":[0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],"metric":true}]}, - {"problem":"TravelingSalesman","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[1,3,2,2,3,1],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[0,3,null],[1,2,null],[1,3,null],[2,3,null]],"node_holes":[],"nodes":[null,null,null,null]}}},"samples":[{"config":[1,0,1,1,0,1],"metric":{"Valid":6}}],"optimal":[{"config":[1,0,1,1,0,1],"metric":{"Valid":6}}]}, - {"problem":"UndirectedTwoCommodityIntegralFlow","variant":{},"instance":{"capacities":[1,1,2],"graph":{"inner":{"edge_property":"undirected","edges":[[0,2,null],[1,2,null],[2,3,null]],"node_holes":[],"nodes":[null,null,null,null]}},"requirement_1":1,"requirement_2":1,"sink_1":3,"sink_2":3,"source_1":0,"source_2":1},"samples":[{"config":[1,0,0,0,0,0,1,0,1,0,1,0],"metric":true}],"optimal":[{"config":[0,0,1,0,1,0,0,0,1,0,1,0],"metric":true},{"config":[1,0,0,0,0,0,1,0,1,0,1,0],"metric":true}]} - ], - "rules": [ - {"source":{"problem":"BinPacking","variant":{"weight":"i32"},"instance":{"capacity":10,"sizes":[6,5,5,4,3]}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Eq","rhs":1.0,"terms":[[0,1.0],[1,1.0],[2,1.0],[3,1.0],[4,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[5,1.0],[6,1.0],[7,1.0],[8,1.0],[9,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[10,1.0],[11,1.0],[12,1.0],[13,1.0],[14,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[15,1.0],[16,1.0],[17,1.0],[18,1.0],[19,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[20,1.0],[21,1.0],[22,1.0],[23,1.0],[24,1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[0,6.0],[5,5.0],[10,5.0],[15,4.0],[20,3.0],[25,-10.0]]},{"cmp":"Le","rhs":0.0,"terms":[[1,6.0],[6,5.0],[11,5.0],[16,4.0],[21,3.0],[26,-10.0]]},{"cmp":"Le","rhs":0.0,"terms":[[2,6.0],[7,5.0],[12,5.0],[17,4.0],[22,3.0],[27,-10.0]]},{"cmp":"Le","rhs":0.0,"terms":[[3,6.0],[8,5.0],[13,5.0],[18,4.0],[23,3.0],[28,-10.0]]},{"cmp":"Le","rhs":0.0,"terms":[[4,6.0],[9,5.0],[14,5.0],[19,4.0],[24,3.0],[29,-10.0]]}],"num_vars":30,"objective":[[25,1.0],[26,1.0],[27,1.0],[28,1.0],[29,1.0]],"sense":"Minimize"}},"solutions":[{"source_config":[2,1,0,0,2],"target_config":[0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,0,0]}]}, - {"source":{"problem":"CircuitSAT","variant":{},"instance":{"circuit":{"assignments":[{"expr":{"op":{"Xor":[{"op":{"Var":"a"}},{"op":{"Var":"b"}}]}},"outputs":["t"]},{"expr":{"op":{"Xor":[{"op":{"Var":"t"}},{"op":{"Var":"cin"}}]}},"outputs":["sum"]},{"expr":{"op":{"And":[{"op":{"Var":"a"}},{"op":{"Var":"b"}}]}},"outputs":["ab"]},{"expr":{"op":{"And":[{"op":{"Var":"cin"}},{"op":{"Var":"t"}}]}},"outputs":["cin_t"]},{"expr":{"op":{"Or":[{"op":{"Var":"ab"}},{"op":{"Var":"cin_t"}}]}},"outputs":["cout"]}]},"variables":["a","ab","b","cin","cin_t","cout","sum","t"]}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Le","rhs":0.0,"terms":[[8,1.0],[0,-1.0],[2,-1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[8,1.0],[0,-1.0],[2,1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[8,1.0],[0,1.0],[2,-1.0]]},{"cmp":"Le","rhs":2.0,"terms":[[8,1.0],[0,1.0],[2,1.0]]},{"cmp":"Eq","rhs":0.0,"terms":[[7,1.0],[8,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[9,1.0],[7,-1.0],[3,-1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[9,1.0],[7,-1.0],[3,1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[9,1.0],[7,1.0],[3,-1.0]]},{"cmp":"Le","rhs":2.0,"terms":[[9,1.0],[7,1.0],[3,1.0]]},{"cmp":"Eq","rhs":0.0,"terms":[[6,1.0],[9,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[10,1.0],[0,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[10,1.0],[2,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[10,1.0],[0,-1.0],[2,-1.0]]},{"cmp":"Eq","rhs":0.0,"terms":[[1,1.0],[10,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[11,1.0],[3,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[11,1.0],[7,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[11,1.0],[3,-1.0],[7,-1.0]]},{"cmp":"Eq","rhs":0.0,"terms":[[4,1.0],[11,-1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[12,1.0],[1,-1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[12,1.0],[4,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[12,1.0],[1,-1.0],[4,-1.0]]},{"cmp":"Eq","rhs":0.0,"terms":[[5,1.0],[12,-1.0]]}],"num_vars":13,"objective":[],"sense":"Minimize"}},"solutions":[{"source_config":[0,0,0,0,0,0,0,0],"target_config":[0,0,0,0,0,0,0,0,0,0,0,0,0]}]}, - {"source":{"problem":"CircuitSAT","variant":{},"instance":{"circuit":{"assignments":[{"expr":{"op":{"Xor":[{"op":{"Var":"a"}},{"op":{"Var":"b"}}]}},"outputs":["t"]},{"expr":{"op":{"Xor":[{"op":{"Var":"t"}},{"op":{"Var":"cin"}}]}},"outputs":["sum"]},{"expr":{"op":{"And":[{"op":{"Var":"a"}},{"op":{"Var":"b"}}]}},"outputs":["ab"]},{"expr":{"op":{"And":[{"op":{"Var":"cin"}},{"op":{"Var":"t"}}]}},"outputs":["cin_t"]},{"expr":{"op":{"Or":[{"op":{"Var":"ab"}},{"op":{"Var":"cin_t"}}]}},"outputs":["cout"]}]},"variables":["a","ab","b","cin","cin_t","cout","sum","t"]}},"target":{"problem":"SpinGlass","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"couplings":[2,-1,-2,-2,-1,-2,-2,2,-4,2,-1,-2,-2,-1,-2,-2,2,-4,-4,1,-2,-4,-2,-4],"fields":[-2,-2,1,2,-2,-2,1,2,0,2,1,2,1,-2,0],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[0,3,null],[0,9,null],[1,2,null],[1,3,null],[1,9,null],[2,3,null],[2,4,null],[4,5,null],[4,6,null],[4,7,null],[4,11,null],[5,6,null],[5,7,null],[5,11,null],[6,7,null],[6,8,null],[9,10,null],[10,12,null],[10,13,null],[11,12,null],[12,13,null],[13,14,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}}}},"solutions":[{"source_config":[0,0,0,0,0,0,0,0],"target_config":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}]}, - {"source":{"problem":"Factoring","variant":{},"instance":{"m":3,"n":3,"target":35}},"target":{"problem":"CircuitSAT","variant":{},"instance":{"circuit":{"assignments":[{"expr":{"op":{"And":[{"op":{"Var":"p1"}},{"op":{"Var":"q1"}}]}},"outputs":["a_1_1"]},{"expr":{"op":{"Xor":[{"op":{"Var":"a_1_1"}},{"op":{"Const":false}}]}},"outputs":["axs_1_1"]},{"expr":{"op":{"Xor":[{"op":{"Var":"axs_1_1"}},{"op":{"Const":false}}]}},"outputs":["s1_1"]},{"expr":{"op":{"And":[{"op":{"Var":"axs_1_1"}},{"op":{"Const":false}}]}},"outputs":["axsc_1_1"]},{"expr":{"op":{"And":[{"op":{"Var":"a_1_1"}},{"op":{"Const":false}}]}},"outputs":["as_1_1"]},{"expr":{"op":{"Or":[{"op":{"Var":"axsc_1_1"}},{"op":{"Var":"as_1_1"}}]}},"outputs":["c1_1"]},{"expr":{"op":{"And":[{"op":{"Var":"p1"}},{"op":{"Var":"q2"}}]}},"outputs":["a_1_2"]},{"expr":{"op":{"Xor":[{"op":{"Var":"a_1_2"}},{"op":{"Const":false}}]}},"outputs":["axs_1_2"]},{"expr":{"op":{"Xor":[{"op":{"Var":"axs_1_2"}},{"op":{"Var":"c1_1"}}]}},"outputs":["s1_2"]},{"expr":{"op":{"And":[{"op":{"Var":"axs_1_2"}},{"op":{"Var":"c1_1"}}]}},"outputs":["axsc_1_2"]},{"expr":{"op":{"And":[{"op":{"Var":"a_1_2"}},{"op":{"Const":false}}]}},"outputs":["as_1_2"]},{"expr":{"op":{"Or":[{"op":{"Var":"axsc_1_2"}},{"op":{"Var":"as_1_2"}}]}},"outputs":["c1_2"]},{"expr":{"op":{"And":[{"op":{"Var":"p1"}},{"op":{"Var":"q3"}}]}},"outputs":["a_1_3"]},{"expr":{"op":{"Xor":[{"op":{"Var":"a_1_3"}},{"op":{"Const":false}}]}},"outputs":["axs_1_3"]},{"expr":{"op":{"Xor":[{"op":{"Var":"axs_1_3"}},{"op":{"Var":"c1_2"}}]}},"outputs":["s1_3"]},{"expr":{"op":{"And":[{"op":{"Var":"axs_1_3"}},{"op":{"Var":"c1_2"}}]}},"outputs":["axsc_1_3"]},{"expr":{"op":{"And":[{"op":{"Var":"a_1_3"}},{"op":{"Const":false}}]}},"outputs":["as_1_3"]},{"expr":{"op":{"Or":[{"op":{"Var":"axsc_1_3"}},{"op":{"Var":"as_1_3"}}]}},"outputs":["c1_3"]},{"expr":{"op":{"And":[{"op":{"Var":"p2"}},{"op":{"Var":"q1"}}]}},"outputs":["a_2_1"]},{"expr":{"op":{"Xor":[{"op":{"Var":"a_2_1"}},{"op":{"Var":"s1_2"}}]}},"outputs":["axs_2_1"]},{"expr":{"op":{"Xor":[{"op":{"Var":"axs_2_1"}},{"op":{"Const":false}}]}},"outputs":["s2_1"]},{"expr":{"op":{"And":[{"op":{"Var":"axs_2_1"}},{"op":{"Const":false}}]}},"outputs":["axsc_2_1"]},{"expr":{"op":{"And":[{"op":{"Var":"a_2_1"}},{"op":{"Var":"s1_2"}}]}},"outputs":["as_2_1"]},{"expr":{"op":{"Or":[{"op":{"Var":"axsc_2_1"}},{"op":{"Var":"as_2_1"}}]}},"outputs":["c2_1"]},{"expr":{"op":{"And":[{"op":{"Var":"p2"}},{"op":{"Var":"q2"}}]}},"outputs":["a_2_2"]},{"expr":{"op":{"Xor":[{"op":{"Var":"a_2_2"}},{"op":{"Var":"s1_3"}}]}},"outputs":["axs_2_2"]},{"expr":{"op":{"Xor":[{"op":{"Var":"axs_2_2"}},{"op":{"Var":"c2_1"}}]}},"outputs":["s2_2"]},{"expr":{"op":{"And":[{"op":{"Var":"axs_2_2"}},{"op":{"Var":"c2_1"}}]}},"outputs":["axsc_2_2"]},{"expr":{"op":{"And":[{"op":{"Var":"a_2_2"}},{"op":{"Var":"s1_3"}}]}},"outputs":["as_2_2"]},{"expr":{"op":{"Or":[{"op":{"Var":"axsc_2_2"}},{"op":{"Var":"as_2_2"}}]}},"outputs":["c2_2"]},{"expr":{"op":{"And":[{"op":{"Var":"p2"}},{"op":{"Var":"q3"}}]}},"outputs":["a_2_3"]},{"expr":{"op":{"Xor":[{"op":{"Var":"a_2_3"}},{"op":{"Var":"c1_3"}}]}},"outputs":["axs_2_3"]},{"expr":{"op":{"Xor":[{"op":{"Var":"axs_2_3"}},{"op":{"Var":"c2_2"}}]}},"outputs":["s2_3"]},{"expr":{"op":{"And":[{"op":{"Var":"axs_2_3"}},{"op":{"Var":"c2_2"}}]}},"outputs":["axsc_2_3"]},{"expr":{"op":{"And":[{"op":{"Var":"a_2_3"}},{"op":{"Var":"c1_3"}}]}},"outputs":["as_2_3"]},{"expr":{"op":{"Or":[{"op":{"Var":"axsc_2_3"}},{"op":{"Var":"as_2_3"}}]}},"outputs":["c2_3"]},{"expr":{"op":{"And":[{"op":{"Var":"p3"}},{"op":{"Var":"q1"}}]}},"outputs":["a_3_1"]},{"expr":{"op":{"Xor":[{"op":{"Var":"a_3_1"}},{"op":{"Var":"s2_2"}}]}},"outputs":["axs_3_1"]},{"expr":{"op":{"Xor":[{"op":{"Var":"axs_3_1"}},{"op":{"Const":false}}]}},"outputs":["s3_1"]},{"expr":{"op":{"And":[{"op":{"Var":"axs_3_1"}},{"op":{"Const":false}}]}},"outputs":["axsc_3_1"]},{"expr":{"op":{"And":[{"op":{"Var":"a_3_1"}},{"op":{"Var":"s2_2"}}]}},"outputs":["as_3_1"]},{"expr":{"op":{"Or":[{"op":{"Var":"axsc_3_1"}},{"op":{"Var":"as_3_1"}}]}},"outputs":["c3_1"]},{"expr":{"op":{"And":[{"op":{"Var":"p3"}},{"op":{"Var":"q2"}}]}},"outputs":["a_3_2"]},{"expr":{"op":{"Xor":[{"op":{"Var":"a_3_2"}},{"op":{"Var":"s2_3"}}]}},"outputs":["axs_3_2"]},{"expr":{"op":{"Xor":[{"op":{"Var":"axs_3_2"}},{"op":{"Var":"c3_1"}}]}},"outputs":["s3_2"]},{"expr":{"op":{"And":[{"op":{"Var":"axs_3_2"}},{"op":{"Var":"c3_1"}}]}},"outputs":["axsc_3_2"]},{"expr":{"op":{"And":[{"op":{"Var":"a_3_2"}},{"op":{"Var":"s2_3"}}]}},"outputs":["as_3_2"]},{"expr":{"op":{"Or":[{"op":{"Var":"axsc_3_2"}},{"op":{"Var":"as_3_2"}}]}},"outputs":["c3_2"]},{"expr":{"op":{"And":[{"op":{"Var":"p3"}},{"op":{"Var":"q3"}}]}},"outputs":["a_3_3"]},{"expr":{"op":{"Xor":[{"op":{"Var":"a_3_3"}},{"op":{"Var":"c2_3"}}]}},"outputs":["axs_3_3"]},{"expr":{"op":{"Xor":[{"op":{"Var":"axs_3_3"}},{"op":{"Var":"c3_2"}}]}},"outputs":["s3_3"]},{"expr":{"op":{"And":[{"op":{"Var":"axs_3_3"}},{"op":{"Var":"c3_2"}}]}},"outputs":["axsc_3_3"]},{"expr":{"op":{"And":[{"op":{"Var":"a_3_3"}},{"op":{"Var":"c2_3"}}]}},"outputs":["as_3_3"]},{"expr":{"op":{"Or":[{"op":{"Var":"axsc_3_3"}},{"op":{"Var":"as_3_3"}}]}},"outputs":["c3_3"]},{"expr":{"op":{"Const":true}},"outputs":["s1_1"]},{"expr":{"op":{"Const":true}},"outputs":["s2_1"]},{"expr":{"op":{"Const":false}},"outputs":["s3_1"]},{"expr":{"op":{"Const":false}},"outputs":["s3_2"]},{"expr":{"op":{"Const":false}},"outputs":["s3_3"]},{"expr":{"op":{"Const":true}},"outputs":["c3_3"]}]},"variables":["a_1_1","a_1_2","a_1_3","a_2_1","a_2_2","a_2_3","a_3_1","a_3_2","a_3_3","as_1_1","as_1_2","as_1_3","as_2_1","as_2_2","as_2_3","as_3_1","as_3_2","as_3_3","axs_1_1","axs_1_2","axs_1_3","axs_2_1","axs_2_2","axs_2_3","axs_3_1","axs_3_2","axs_3_3","axsc_1_1","axsc_1_2","axsc_1_3","axsc_2_1","axsc_2_2","axsc_2_3","axsc_3_1","axsc_3_2","axsc_3_3","c1_1","c1_2","c1_3","c2_1","c2_2","c2_3","c3_1","c3_2","c3_3","p1","p2","p3","q1","q2","q3","s1_1","s1_2","s1_3","s2_1","s2_2","s2_3","s3_1","s3_2","s3_3"]}},"solutions":[{"source_config":[1,0,1,1,1,1],"target_config":[1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,0,0]}]}, - {"source":{"problem":"Factoring","variant":{},"instance":{"m":3,"n":3,"target":35}},"target":{"problem":"ILP","variant":{"variable":"i32"},"instance":{"constraints":[{"cmp":"Le","rhs":0.0,"terms":[[6,1.0],[0,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[6,1.0],[3,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[6,1.0],[0,-1.0],[3,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[7,1.0],[0,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[7,1.0],[4,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[7,1.0],[0,-1.0],[4,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[8,1.0],[0,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[8,1.0],[5,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[8,1.0],[0,-1.0],[5,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[9,1.0],[1,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[9,1.0],[3,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[9,1.0],[1,-1.0],[3,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[10,1.0],[1,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[10,1.0],[4,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[10,1.0],[1,-1.0],[4,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[11,1.0],[1,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[11,1.0],[5,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[11,1.0],[1,-1.0],[5,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[12,1.0],[2,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[12,1.0],[3,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[12,1.0],[2,-1.0],[3,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[13,1.0],[2,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[13,1.0],[4,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[13,1.0],[2,-1.0],[4,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[14,1.0],[2,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[14,1.0],[5,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[14,1.0],[2,-1.0],[5,-1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[6,1.0],[15,-2.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[7,1.0],[9,1.0],[15,1.0],[16,-2.0]]},{"cmp":"Eq","rhs":0.0,"terms":[[8,1.0],[10,1.0],[12,1.0],[16,1.0],[17,-2.0]]},{"cmp":"Eq","rhs":0.0,"terms":[[11,1.0],[13,1.0],[17,1.0],[18,-2.0]]},{"cmp":"Eq","rhs":0.0,"terms":[[14,1.0],[18,1.0],[19,-2.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[19,1.0],[20,-2.0]]},{"cmp":"Eq","rhs":0.0,"terms":[[20,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[0,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[3,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[4,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[5,1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[15,1.0]]},{"cmp":"Le","rhs":3.0,"terms":[[15,1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[16,1.0]]},{"cmp":"Le","rhs":3.0,"terms":[[16,1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[17,1.0]]},{"cmp":"Le","rhs":3.0,"terms":[[17,1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[18,1.0]]},{"cmp":"Le","rhs":3.0,"terms":[[18,1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[19,1.0]]},{"cmp":"Le","rhs":3.0,"terms":[[19,1.0]]},{"cmp":"Ge","rhs":0.0,"terms":[[20,1.0]]},{"cmp":"Le","rhs":3.0,"terms":[[20,1.0]]}],"num_vars":21,"objective":[],"sense":"Minimize"}},"solutions":[{"source_config":[1,0,1,1,1,1],"target_config":[1,0,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,1,1,1,0]}]}, - {"source":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Le","rhs":10.0,"terms":[[0,3.0],[1,2.0],[2,5.0],[3,4.0],[4,2.0],[5,3.0]]},{"cmp":"Le","rhs":2.0,"terms":[[0,1.0],[1,1.0],[2,1.0]]},{"cmp":"Le","rhs":2.0,"terms":[[3,1.0],[4,1.0],[5,1.0]]}],"num_vars":6,"objective":[[0,10.0],[1,7.0],[2,12.0],[3,8.0],[4,6.0],[5,9.0]],"sense":"Maximize"}},"target":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[-3628.0,938.0,2144.0,1608.0,804.0,1206.0,402.0,804.0,1608.0,3216.0,134.0,268.0,0.0,0.0],[0.0,-2620.0,1474.0,1072.0,536.0,804.0,268.0,536.0,1072.0,2144.0,134.0,268.0,0.0,0.0],[0.0,0.0,-5238.0,2680.0,1340.0,2010.0,670.0,1340.0,2680.0,5360.0,134.0,268.0,0.0,0.0],[0.0,0.0,0.0,-4497.0,1206.0,1742.0,536.0,1072.0,2144.0,4288.0,0.0,0.0,134.0,268.0],[0.0,0.0,0.0,0.0,-2619.0,938.0,268.0,536.0,1072.0,2144.0,0.0,0.0,134.0,268.0],[0.0,0.0,0.0,0.0,0.0,-3627.0,402.0,804.0,1608.0,3216.0,0.0,0.0,134.0,268.0],[0.0,0.0,0.0,0.0,0.0,0.0,-1273.0,268.0,536.0,1072.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,-2412.0,1072.0,2144.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-4288.0,4288.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-6432.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-201.0,268.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-268.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-201.0,268.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-268.0]],"num_vars":14}},"solutions":[{"source_config":[1,1,0,0,1,1],"target_config":[1,1,0,0,1,1,0,0,0,0,0,0,0,0]}]}, - {"source":{"problem":"KColoring","variant":{"graph":"SimpleGraph","k":"KN"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"num_colors":3}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Eq","rhs":1.0,"terms":[[0,1.0],[1,1.0],[2,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[3,1.0],[4,1.0],[5,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[6,1.0],[7,1.0],[8,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[9,1.0],[10,1.0],[11,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[12,1.0],[13,1.0],[14,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[15,1.0],[16,1.0],[17,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[18,1.0],[19,1.0],[20,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[21,1.0],[22,1.0],[23,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[24,1.0],[25,1.0],[26,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[27,1.0],[28,1.0],[29,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[3,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0],[4,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0],[5,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[12,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0],[13,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0],[14,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[15,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0],[16,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0],[17,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[3,1.0],[6,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[4,1.0],[7,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[5,1.0],[8,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[3,1.0],[18,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[4,1.0],[19,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[5,1.0],[20,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[6,1.0],[9,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[7,1.0],[10,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[8,1.0],[11,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[6,1.0],[21,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[7,1.0],[22,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[8,1.0],[23,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[9,1.0],[12,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[10,1.0],[13,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[11,1.0],[14,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[9,1.0],[24,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[10,1.0],[25,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[11,1.0],[26,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[12,1.0],[27,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[13,1.0],[28,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[14,1.0],[29,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[15,1.0],[21,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[16,1.0],[22,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[17,1.0],[23,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[15,1.0],[24,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[16,1.0],[25,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[17,1.0],[26,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[18,1.0],[24,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[19,1.0],[25,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[20,1.0],[26,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[18,1.0],[27,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[19,1.0],[28,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[20,1.0],[29,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[21,1.0],[27,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[22,1.0],[28,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[23,1.0],[29,1.0]]}],"num_vars":30,"objective":[],"sense":"Minimize"}},"solutions":[{"source_config":[0,2,0,1,2,1,1,2,0,0],"target_config":[1,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0]}]}, - {"source":{"problem":"KColoring","variant":{"graph":"SimpleGraph","k":"KN"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,3,null],[2,3,null],[2,4,null],[3,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"num_colors":3}},"target":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[-6.0,12.0,12.0,3.0,0.0,0.0,3.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.0,-6.0,12.0,0.0,3.0,0.0,0.0,3.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.0,0.0,-6.0,0.0,0.0,3.0,0.0,0.0,3.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,-6.0,12.0,12.0,0.0,0.0,0.0,3.0,0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,-6.0,12.0,0.0,0.0,0.0,0.0,3.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,-6.0,0.0,0.0,0.0,0.0,0.0,3.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,-6.0,12.0,12.0,3.0,0.0,0.0,3.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,-6.0,12.0,0.0,3.0,0.0,0.0,3.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-6.0,0.0,0.0,3.0,0.0,0.0,3.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-6.0,12.0,12.0,3.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-6.0,12.0,0.0,3.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-6.0,0.0,0.0,3.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-6.0,12.0,12.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-6.0,12.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-6.0]],"num_vars":15}},"solutions":[{"source_config":[1,2,2,1,0],"target_config":[0,1,0,0,0,1,0,0,1,0,1,0,1,0,0]}]}, - {"source":{"problem":"KSatisfiability","variant":{"k":"K2"},"instance":{"clauses":[{"literals":[1,2]},{"literals":[-1,3]},{"literals":[-2,4]},{"literals":[-3,-4]}],"num_vars":4}},"target":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[0.0,1.0,-1.0,0.0],[0.0,0.0,0.0,-1.0],[0.0,0.0,0.0,1.0],[0.0,0.0,0.0,0.0]],"num_vars":4}},"solutions":[{"source_config":[0,1,0,1],"target_config":[0,1,0,1]}]}, - {"source":{"problem":"KSatisfiability","variant":{"k":"K3"},"instance":{"clauses":[{"literals":[1,2,-3]},{"literals":[-1,3,4]},{"literals":[2,-4,5]},{"literals":[-2,3,-5]},{"literals":[1,-3,5]},{"literals":[-1,-2,4]},{"literals":[3,-4,-5]}],"num_vars":5}},"target":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[0.0,4.0,-4.0,0.0,0.0,4.0,-4.0,0.0,0.0,4.0,-4.0,0.0],[0.0,0.0,-2.0,-2.0,0.0,4.0,0.0,4.0,-4.0,0.0,-4.0,0.0],[0.0,0.0,2.0,-2.0,0.0,1.0,4.0,0.0,4.0,-4.0,0.0,4.0],[0.0,0.0,0.0,4.0,0.0,0.0,-1.0,-4.0,0.0,0.0,-1.0,-4.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0,1.0,-1.0,0.0,1.0],[0.0,0.0,0.0,0.0,0.0,-2.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,3.0,0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0]],"num_vars":12}},"solutions":[{"source_config":[0,0,0,0,0],"target_config":[0,0,0,0,0,1,0,0,0,0,0,0]}]}, - {"source":{"problem":"KSatisfiability","variant":{"k":"K3"},"instance":{"clauses":[{"literals":[1,2,3]},{"literals":[-1,-2,3]}],"num_vars":3}},"target":{"problem":"SubsetSum","variant":{},"instance":{"sizes":["10010","10001","1010","1001","111","100","10","20","1","2"],"target":"11144"}},"solutions":[{"source_config":[0,0,1],"target_config":[0,1,0,1,1,0,1,1,1,0]}]}, - {"source":{"problem":"KSatisfiability","variant":{"k":"KN"},"instance":{"clauses":[{"literals":[1,-2,3]},{"literals":[-1,3,4]},{"literals":[2,-3,-4]}],"num_vars":4}},"target":{"problem":"Satisfiability","variant":{},"instance":{"clauses":[{"literals":[1,-2,3]},{"literals":[-1,3,4]},{"literals":[2,-3,-4]}],"num_vars":4}},"solutions":[{"source_config":[1,1,1,0],"target_config":[1,1,1,0]}]}, - {"source":{"problem":"Knapsack","variant":{},"instance":{"capacity":7,"values":[3,4,5,7],"weights":[2,3,4,5]}},"target":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[-483.0,240.0,320.0,400.0,80.0,160.0,320.0],[0.0,-664.0,480.0,600.0,120.0,240.0,480.0],[0.0,0.0,-805.0,800.0,160.0,320.0,640.0],[0.0,0.0,0.0,-907.0,200.0,400.0,800.0],[0.0,0.0,0.0,0.0,-260.0,80.0,160.0],[0.0,0.0,0.0,0.0,0.0,-480.0,320.0],[0.0,0.0,0.0,0.0,0.0,0.0,-800.0]],"num_vars":7}},"solutions":[{"source_config":[1,0,0,1],"target_config":[1,0,0,1,0,0,0]}]}, - {"source":{"problem":"LongestCommonSubsequence","variant":{},"instance":{"strings":[[65,66,65,67],[66,65,67,65]]}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[1,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[3,1.0],[4,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[5,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[3,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[5,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0],[4,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[2,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0],[2,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0],[3,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0],[5,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[4,1.0],[5,1.0]]}],"num_vars":6,"objective":[[0,1.0],[1,1.0],[2,1.0],[3,1.0],[4,1.0],[5,1.0]],"sense":"Maximize"}},"solutions":[{"source_config":[0,1,1,1],"target_config":[0,0,1,1,0,1]}]}, - {"source":{"problem":"MaxCut","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}}}},"target":{"problem":"SpinGlass","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"couplings":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"fields":[0,0,0,0,0,0,0,0,0,0],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}}}},"solutions":[{"source_config":[0,1,0,1,0,1,0,0,0,1],"target_config":[0,1,0,1,0,1,0,0,0,1]}]}, - {"source":{"problem":"MaximumClique","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[0,3,null],[0,4,null],[1,2,null],[1,3,null],[1,5,null],[2,4,null],[2,5,null],[3,4,null],[3,5,null],[4,5,null]],"node_holes":[],"nodes":[null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1]}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[5,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0],[4,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0],[3,1.0]]}],"num_vars":6,"objective":[[0,1.0],[1,1.0],[2,1.0],[3,1.0],[4,1.0],[5,1.0]],"sense":"Maximize"}},"solutions":[{"source_config":[1,1,1,0,0,0],"target_config":[1,1,1,0,0,0]}]}, - {"source":{"problem":"MaximumClique","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[2,3,null]],"node_holes":[],"nodes":[null,null,null,null]}},"weights":[1,1,1,1]}},"target":{"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,2,null],[0,3,null],[1,3,null]],"node_holes":[],"nodes":[null,null,null,null]}},"weights":[1,1,1,1]}},"solutions":[{"source_config":[0,1,1,0],"target_config":[0,1,1,0]}]}, - {"source":{"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"One"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"target":{"problem":"MaximumSetPacking","variant":{"weight":"One"},"instance":{"sets":[[0,1,2],[0,3,4],[3,5,6],[5,7,8],[1,7,9],[2,10,11],[4,12,13],[6,10,14],[8,11,12],[9,13,14]],"weights":[1,1,1,1,1,1,1,1,1,1]}},"solutions":[{"source_config":[1,0,0,1,0,0,1,1,0,0],"target_config":[1,0,0,1,0,0,1,1,0,0]}]}, - {"source":{"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[2,3,null],[3,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"weights":[1,1,1,1,1]}},"target":{"problem":"MaximumClique","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,2,null],[0,3,null],[0,4,null],[1,3,null],[1,4,null],[2,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"weights":[1,1,1,1,1]}},"solutions":[{"source_config":[1,0,1,0,1],"target_config":[1,0,1,0,1]}]}, - {"source":{"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"target":{"problem":"MaximumSetPacking","variant":{"weight":"i32"},"instance":{"sets":[[0,1,2],[0,3,4],[3,5,6],[5,7,8],[1,7,9],[2,10,11],[4,12,13],[6,10,14],[8,11,12],[9,13,14]],"weights":[1,1,1,1,1,1,1,1,1,1]}},"solutions":[{"source_config":[1,0,0,1,0,0,1,1,0,0],"target_config":[1,0,0,1,0,0,1,1,0,0]}]}, - {"source":{"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"target":{"problem":"MinimumVertexCover","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"solutions":[{"source_config":[1,0,0,1,0,0,1,1,0,0],"target_config":[0,1,1,0,1,1,0,0,1,1]}]}, - {"source":{"problem":"MaximumMatching","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}}}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[1,1.0],[2,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[3,1.0],[4,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[3,1.0],[5,1.0],[6,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[5,1.0],[7,1.0],[8,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0],[7,1.0],[9,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0],[10,1.0],[11,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[4,1.0],[12,1.0],[13,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[6,1.0],[10,1.0],[14,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[8,1.0],[11,1.0],[12,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[9,1.0],[13,1.0],[14,1.0]]}],"num_vars":15,"objective":[[0,1.0],[1,1.0],[2,1.0],[3,1.0],[4,1.0],[5,1.0],[6,1.0],[7,1.0],[8,1.0],[9,1.0],[10,1.0],[11,1.0],[12,1.0],[13,1.0],[14,1.0]],"sense":"Maximize"}},"solutions":[{"source_config":[0,0,1,1,0,0,0,1,0,0,0,0,1,0,1],"target_config":[0,0,1,1,0,0,0,1,0,0,0,0,1,0,1]}]}, - {"source":{"problem":"MaximumMatching","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}}}},"target":{"problem":"MaximumSetPacking","variant":{"weight":"i32"},"instance":{"sets":[[0,1],[0,4],[0,5],[1,2],[1,6],[2,3],[2,7],[3,4],[3,8],[4,9],[5,7],[5,8],[6,8],[6,9],[7,9]],"weights":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}},"solutions":[{"source_config":[0,0,1,1,0,0,0,1,0,0,0,0,1,0,1],"target_config":[0,0,1,1,0,0,0,1,0,0,0,0,1,0,1]}]}, - {"source":{"problem":"MaximumSetPacking","variant":{"weight":"One"},"instance":{"sets":[[0,1,2],[2,3],[4,5,6],[1,5,7],[3,6]],"weights":[1,1,1,1,1]}},"target":{"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"One"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,3,null],[1,4,null],[2,3,null],[2,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"weights":[1,1,1,1,1]}},"solutions":[{"source_config":[1,0,0,0,1],"target_config":[1,0,0,0,1]}]}, - {"source":{"problem":"MaximumSetPacking","variant":{"weight":"f64"},"instance":{"sets":[[0,1,2],[2,3,4],[4,5,6],[6,7,0],[1,3,5],[0,4,7]],"weights":[1.0,1.0,1.0,1.0,1.0,1.0]}},"target":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[-1.0,7.0,0.0,7.0,7.0,7.0],[0.0,-1.0,7.0,0.0,7.0,7.0],[0.0,0.0,-1.0,7.0,7.0,7.0],[0.0,0.0,0.0,-1.0,0.0,7.0],[0.0,0.0,0.0,0.0,-1.0,0.0],[0.0,0.0,0.0,0.0,0.0,-1.0]],"num_vars":6}},"solutions":[{"source_config":[0,0,0,1,1,0],"target_config":[0,0,0,1,1,0]}]}, - {"source":{"problem":"MaximumSetPacking","variant":{"weight":"i32"},"instance":{"sets":[[0,1,2],[2,3,4],[4,5,6],[6,7,0],[1,3,5],[0,4,7]],"weights":[1,1,1,1,1,1]}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[3,1.0],[5,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[4,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[0,1.0],[1,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0],[4,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0],[2,1.0],[5,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0],[4,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0],[3,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[3,1.0],[5,1.0]]}],"num_vars":6,"objective":[[0,1.0],[1,1.0],[2,1.0],[3,1.0],[4,1.0],[5,1.0]],"sense":"Maximize"}},"solutions":[{"source_config":[0,0,0,1,1,0],"target_config":[0,0,0,1,1,0]}]}, - {"source":{"problem":"MaximumSetPacking","variant":{"weight":"i32"},"instance":{"sets":[[0,1,2],[2,3],[4,5,6],[1,5,7],[3,6]],"weights":[1,1,1,1,1]}},"target":{"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,3,null],[1,4,null],[2,3,null],[2,4,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"weights":[1,1,1,1,1]}},"solutions":[{"source_config":[1,0,0,0,1],"target_config":[1,0,0,0,1]}]}, - {"source":{"problem":"MinimumDominatingSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Ge","rhs":1.0,"terms":[[0,1.0],[5,1.0],[4,1.0],[1,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[1,1.0],[6,1.0],[2,1.0],[0,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[2,1.0],[7,1.0],[3,1.0],[1,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[3,1.0],[8,1.0],[4,1.0],[2,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[4,1.0],[9,1.0],[3,1.0],[0,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[5,1.0],[8,1.0],[7,1.0],[0,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[6,1.0],[9,1.0],[8,1.0],[1,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[7,1.0],[9,1.0],[5,1.0],[2,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[8,1.0],[6,1.0],[5,1.0],[3,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[9,1.0],[7,1.0],[6,1.0],[4,1.0]]}],"num_vars":10,"objective":[[0,1.0],[1,1.0],[2,1.0],[3,1.0],[4,1.0],[5,1.0],[6,1.0],[7,1.0],[8,1.0],[9,1.0]],"sense":"Minimize"}},"solutions":[{"source_config":[0,0,1,0,0,1,0,0,0,1],"target_config":[0,0,1,0,0,1,0,0,0,1]}]}, - {"source":{"problem":"MinimumFeedbackVertexSet","variant":{"weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"directed","edges":[[0,1,null],[1,2,null],[2,0,null]],"node_holes":[],"nodes":[null,null,null]}},"weights":[1,1,1]}},"target":{"problem":"ILP","variant":{"variable":"i32"},"instance":{"constraints":[{"cmp":"Le","rhs":1.0,"terms":[[0,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[1,1.0]]},{"cmp":"Le","rhs":1.0,"terms":[[2,1.0]]},{"cmp":"Le","rhs":2.0,"terms":[[3,1.0]]},{"cmp":"Le","rhs":2.0,"terms":[[4,1.0]]},{"cmp":"Le","rhs":2.0,"terms":[[5,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[4,1.0],[3,-1.0],[0,3.0],[1,3.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[5,1.0],[4,-1.0],[1,3.0],[2,3.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[3,1.0],[5,-1.0],[2,3.0],[0,3.0]]}],"num_vars":6,"objective":[[0,1.0],[1,1.0],[2,1.0]],"sense":"Minimize"}},"solutions":[{"source_config":[0,1,0],"target_config":[0,1,0,1,0,0]}]}, - {"source":{"problem":"MinimumMultiwayCut","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[2,3,1,2,4,5],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[0,4,null],[1,3,null]],"node_holes":[],"nodes":[null,null,null,null,null]}},"terminals":[0,2,4]}},"target":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[-18.0,36.0,36.0,0.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.0,4.0],[0.0,0.0,36.0,2.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,4.0,0.0,4.0],[0.0,0.0,0.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.0,4.0,0.0],[0.0,0.0,0.0,-18.0,36.0,36.0,0.0,3.0,3.0,0.0,5.0,5.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,-18.0,36.0,3.0,0.0,3.0,5.0,0.0,5.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,-18.0,3.0,3.0,0.0,5.0,5.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,36.0,36.0,0.0,1.0,1.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,-18.0,36.0,1.0,0.0,1.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-18.0,36.0,36.0,0.0,2.0,2.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-18.0,36.0,2.0,0.0,2.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-18.0,2.0,2.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,36.0,36.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,36.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-18.0]],"num_vars":15}},"solutions":[{"source_config":[1,0,0,1,1,0],"target_config":[1,0,0,0,1,0,0,1,0,0,1,0,0,0,1]}]}, - {"source":{"problem":"MinimumSetCovering","variant":{"weight":"i32"},"instance":{"sets":[[0,1,2],[2,3,4],[4,5,6],[6,7,0],[1,3,5],[0,4,7]],"universe_size":8,"weights":[1,1,1,1,1,1]}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Ge","rhs":1.0,"terms":[[0,1.0],[3,1.0],[5,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[0,1.0],[4,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[0,1.0],[1,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[1,1.0],[4,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[1,1.0],[2,1.0],[5,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[2,1.0],[4,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[2,1.0],[3,1.0]]},{"cmp":"Ge","rhs":1.0,"terms":[[3,1.0],[5,1.0]]}],"num_vars":6,"objective":[[0,1.0],[1,1.0],[2,1.0],[3,1.0],[4,1.0],[5,1.0]],"sense":"Minimize"}},"solutions":[{"source_config":[0,1,0,1,1,0],"target_config":[0,1,0,1,1,0]}]}, - {"source":{"problem":"MinimumVertexCover","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"target":{"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"solutions":[{"source_config":[0,1,1,0,1,1,0,0,1,1],"target_config":[1,0,0,1,0,0,1,1,0,0]}]}, - {"source":{"problem":"MinimumVertexCover","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1]}},"target":{"problem":"MinimumSetCovering","variant":{"weight":"i32"},"instance":{"sets":[[0,1,2],[0,3,4],[3,5,6],[5,7,8],[1,7,9],[2,10,11],[4,12,13],[6,10,14],[8,11,12],[9,13,14]],"universe_size":15,"weights":[1,1,1,1,1,1,1,1,1,1]}},"solutions":[{"source_config":[0,1,1,0,1,1,0,0,1,1],"target_config":[0,1,1,0,1,1,0,0,1,1]}]}, - {"source":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[-2.0,1.0,0.0,0.0],[0.0,-3.0,2.0,0.0],[0.0,0.0,-1.0,-1.0],[0.0,0.0,0.0,-4.0]],"num_vars":4}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Le","rhs":0.0,"terms":[[4,1.0],[0,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[4,1.0],[1,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[4,1.0],[0,-1.0],[1,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[5,1.0],[1,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[5,1.0],[2,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[5,1.0],[1,-1.0],[2,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[6,1.0],[2,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[6,1.0],[3,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[6,1.0],[2,-1.0],[3,-1.0]]}],"num_vars":7,"objective":[[0,-2.0],[1,-3.0],[2,-1.0],[3,-4.0],[4,1.0],[5,2.0],[6,-1.0]],"sense":"Minimize"}},"solutions":[{"source_config":[1,1,1,1],"target_config":[1,1,1,1,1,1,1]}]}, - {"source":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[-1.0,2.0,0.0,0.0,-1.5,2.0,0.0,0.0,0.0,0.0],[0.0,-0.8,-1.5,0.0,0.0,0.0,2.0,0.0,0.0,0.0],[0.0,0.0,-0.6,-1.5,0.0,0.0,0.0,2.0,0.0,0.0],[0.0,0.0,0.0,-0.3999999999999999,-1.5,0.0,0.0,0.0,2.0,0.0],[0.0,0.0,0.0,0.0,-0.19999999999999996,0.0,0.0,0.0,0.0,-1.5],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,-1.5,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.20000000000000018,0.0,2.0,-1.5],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40000000000000013,0.0,2.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6000000000000001,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8]],"num_vars":10}},"target":{"problem":"SpinGlass","variant":{"graph":"SimpleGraph","weight":"f64"},"instance":{"couplings":[0.5,-0.375,0.5,-0.375,0.5,-0.375,0.5,-0.375,0.5,-0.375,0.5,-0.375,0.5,-0.375,0.5],"fields":[0.125,0.22499999999999998,-0.55,-0.44999999999999996,-1.225,0.625,0.7250000000000001,1.7000000000000002,0.925,0.15000000000000002],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}}}},"solutions":[{"source_config":[1,0,1,1,1,0,1,0,0,1],"target_config":[1,0,1,1,1,0,1,0,0,1]}]}, - {"source":{"problem":"Satisfiability","variant":{},"instance":{"clauses":[{"literals":[1,-2,3]},{"literals":[-1,2]},{"literals":[2,3]}],"num_vars":3}},"target":{"problem":"CircuitSAT","variant":{},"instance":{"circuit":{"assignments":[{"expr":{"op":{"Or":[{"op":{"Var":"x1"}},{"op":{"Not":{"op":{"Var":"x2"}}}},{"op":{"Var":"x3"}}]}},"outputs":["__clause_0"]},{"expr":{"op":{"Or":[{"op":{"Not":{"op":{"Var":"x1"}}}},{"op":{"Var":"x2"}}]}},"outputs":["__clause_1"]},{"expr":{"op":{"Or":[{"op":{"Var":"x2"}},{"op":{"Var":"x3"}}]}},"outputs":["__clause_2"]},{"expr":{"op":{"And":[{"op":{"Var":"__clause_0"}},{"op":{"Var":"__clause_1"}},{"op":{"Var":"__clause_2"}}]}},"outputs":["__out"]},{"expr":{"op":{"Const":true}},"outputs":["__out"]}]},"variables":["__clause_0","__clause_1","__clause_2","__out","x1","x2","x3"]}},"solutions":[{"source_config":[1,1,1],"target_config":[1,1,1,1,1,1,1]}]}, - {"source":{"problem":"Satisfiability","variant":{},"instance":{"clauses":[{"literals":[1]},{"literals":[-3]},{"literals":[5]}],"num_vars":5}},"target":{"problem":"KColoring","variant":{"graph":"SimpleGraph","k":"K3"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,2,null],[3,2,null],[8,2,null],[3,8,null],[4,2,null],[9,2,null],[4,9,null],[5,2,null],[10,2,null],[5,10,null],[6,2,null],[11,2,null],[6,11,null],[7,2,null],[12,2,null],[7,12,null],[3,2,null],[3,1,null],[10,2,null],[10,1,null],[7,2,null],[7,1,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null,null,null,null]}},"num_colors":3}},"solutions":[{"source_config":[1,1,0,1,1],"target_config":[2,1,0,2,2,1,2,2,1,1,2,1,1]}]}, - {"source":{"problem":"Satisfiability","variant":{},"instance":{"clauses":[{"literals":[1]},{"literals":[2,-3]},{"literals":[-1,3,4]},{"literals":[2,-4,5]},{"literals":[1,-2,3,-5]},{"literals":[-1,2,-3,4,5]}],"num_vars":5}},"target":{"problem":"KSatisfiability","variant":{"k":"K3"},"instance":{"clauses":[{"literals":[1,6,7]},{"literals":[1,6,-7]},{"literals":[1,-6,8]},{"literals":[1,-6,-8]},{"literals":[2,-3,9]},{"literals":[2,-3,-9]},{"literals":[-1,3,4]},{"literals":[2,-4,5]},{"literals":[1,-2,10]},{"literals":[-10,3,-5]},{"literals":[-1,2,11]},{"literals":[-11,-3,12]},{"literals":[-12,4,5]}],"num_vars":12}},"solutions":[{"source_config":[1,1,1,0,1],"target_config":[1,1,1,0,1,0,0,0,0,1,1,1]}]}, - {"source":{"problem":"Satisfiability","variant":{},"instance":{"clauses":[{"literals":[1,2,-3]},{"literals":[-1,3,4]},{"literals":[2,-4,5]},{"literals":[-2,3,-5]},{"literals":[1,-3,5]},{"literals":[-1,-2,4]},{"literals":[3,-4,-5]}],"num_vars":5}},"target":{"problem":"MaximumIndependentSet","variant":{"graph":"SimpleGraph","weight":"One"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,2,null],[3,4,null],[3,5,null],[4,5,null],[6,7,null],[6,8,null],[7,8,null],[9,10,null],[9,11,null],[10,11,null],[12,13,null],[12,14,null],[13,14,null],[15,16,null],[15,17,null],[16,17,null],[18,19,null],[18,20,null],[19,20,null],[0,3,null],[0,15,null],[1,9,null],[1,16,null],[2,4,null],[2,10,null],[2,18,null],[3,12,null],[4,13,null],[5,7,null],[5,19,null],[6,9,null],[6,16,null],[7,17,null],[8,11,null],[8,20,null],[10,13,null],[11,14,null],[12,15,null],[13,18,null],[14,20,null],[17,19,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}},"solutions":[{"source_config":[1,1,1,1,0],"target_config":[1,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0]}]}, - {"source":{"problem":"Satisfiability","variant":{},"instance":{"clauses":[{"literals":[1,2,-3]},{"literals":[-1,3,4]},{"literals":[2,-4,5]},{"literals":[-2,3,-5]},{"literals":[1,-3,5]},{"literals":[-1,-2,4]},{"literals":[3,-4,-5]}],"num_vars":5}},"target":{"problem":"MinimumDominatingSet","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,2,null],[3,4,null],[3,5,null],[4,5,null],[6,7,null],[6,8,null],[7,8,null],[9,10,null],[9,11,null],[10,11,null],[12,13,null],[12,14,null],[13,14,null],[0,15,null],[3,15,null],[7,15,null],[1,16,null],[6,16,null],[9,16,null],[3,17,null],[10,17,null],[12,17,null],[4,18,null],[6,18,null],[13,18,null],[0,19,null],[7,19,null],[12,19,null],[1,20,null],[4,20,null],[9,20,null],[6,21,null],[10,21,null],[13,21,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}},"weights":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}},"solutions":[{"source_config":[1,0,1,1,1],"target_config":[1,0,0,0,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0]}]}, - {"source":{"problem":"SpinGlass","variant":{"graph":"SimpleGraph","weight":"f64"},"instance":{"couplings":[1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0],"fields":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}}}},"target":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[-2.0,4.0,0.0,0.0,-4.0,4.0,0.0,0.0,0.0,0.0],[0.0,-2.0,-4.0,0.0,0.0,0.0,4.0,0.0,0.0,0.0],[0.0,0.0,2.0,-4.0,0.0,0.0,0.0,4.0,0.0,0.0],[0.0,0.0,0.0,2.0,-4.0,0.0,0.0,0.0,4.0,0.0],[0.0,0.0,0.0,0.0,6.0,0.0,0.0,0.0,0.0,-4.0],[0.0,0.0,0.0,0.0,0.0,-2.0,0.0,4.0,-4.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,-2.0,0.0,4.0,-4.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,-6.0,0.0,4.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-2.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0]],"num_vars":10}},"solutions":[{"source_config":[1,0,1,1,1,0,1,0,0,1],"target_config":[1,0,1,1,1,0,1,0,0,1]}]}, - {"source":{"problem":"SpinGlass","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"couplings":[1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1],"fields":[0,0,0,0,0,0,0,0,0,0],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}}}},"target":{"problem":"MaxCut","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,4,null],[0,5,null],[1,2,null],[1,6,null],[2,3,null],[2,7,null],[3,4,null],[3,8,null],[4,9,null],[5,7,null],[5,8,null],[6,8,null],[6,9,null],[7,9,null]],"node_holes":[],"nodes":[null,null,null,null,null,null,null,null,null,null]}}}},"solutions":[{"source_config":[1,0,1,1,1,0,1,0,0,1],"target_config":[1,0,1,1,1,0,1,0,0,1]}]}, - {"source":{"problem":"TravelingSalesman","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[10,15,20,35,25,30],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[0,3,null],[1,2,null],[1,3,null],[2,3,null]],"node_holes":[],"nodes":[null,null,null,null]}}}},"target":{"problem":"ILP","variant":{"variable":"bool"},"instance":{"constraints":[{"cmp":"Eq","rhs":1.0,"terms":[[0,1.0],[1,1.0],[2,1.0],[3,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[4,1.0],[5,1.0],[6,1.0],[7,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[8,1.0],[9,1.0],[10,1.0],[11,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[12,1.0],[13,1.0],[14,1.0],[15,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[0,1.0],[4,1.0],[8,1.0],[12,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[1,1.0],[5,1.0],[9,1.0],[13,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[2,1.0],[6,1.0],[10,1.0],[14,1.0]]},{"cmp":"Eq","rhs":1.0,"terms":[[3,1.0],[7,1.0],[11,1.0],[15,1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[16,1.0],[0,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[16,1.0],[5,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[16,1.0],[0,-1.0],[5,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[17,1.0],[4,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[17,1.0],[1,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[17,1.0],[4,-1.0],[1,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[18,1.0],[1,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[18,1.0],[6,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[18,1.0],[1,-1.0],[6,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[19,1.0],[5,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[19,1.0],[2,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[19,1.0],[5,-1.0],[2,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[20,1.0],[2,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[20,1.0],[7,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[20,1.0],[2,-1.0],[7,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[21,1.0],[6,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[21,1.0],[3,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[21,1.0],[6,-1.0],[3,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[22,1.0],[3,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[22,1.0],[4,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[22,1.0],[3,-1.0],[4,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[23,1.0],[7,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[23,1.0],[0,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[23,1.0],[7,-1.0],[0,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[24,1.0],[0,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[24,1.0],[9,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[24,1.0],[0,-1.0],[9,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[25,1.0],[8,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[25,1.0],[1,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[25,1.0],[8,-1.0],[1,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[26,1.0],[1,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[26,1.0],[10,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[26,1.0],[1,-1.0],[10,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[27,1.0],[9,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[27,1.0],[2,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[27,1.0],[9,-1.0],[2,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[28,1.0],[2,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[28,1.0],[11,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[28,1.0],[2,-1.0],[11,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[29,1.0],[10,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[29,1.0],[3,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[29,1.0],[10,-1.0],[3,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[30,1.0],[3,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[30,1.0],[8,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[30,1.0],[3,-1.0],[8,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[31,1.0],[11,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[31,1.0],[0,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[31,1.0],[11,-1.0],[0,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[32,1.0],[0,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[32,1.0],[13,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[32,1.0],[0,-1.0],[13,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[33,1.0],[12,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[33,1.0],[1,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[33,1.0],[12,-1.0],[1,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[34,1.0],[1,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[34,1.0],[14,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[34,1.0],[1,-1.0],[14,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[35,1.0],[13,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[35,1.0],[2,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[35,1.0],[13,-1.0],[2,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[36,1.0],[2,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[36,1.0],[15,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[36,1.0],[2,-1.0],[15,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[37,1.0],[14,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[37,1.0],[3,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[37,1.0],[14,-1.0],[3,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[38,1.0],[3,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[38,1.0],[12,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[38,1.0],[3,-1.0],[12,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[39,1.0],[15,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[39,1.0],[0,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[39,1.0],[15,-1.0],[0,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[40,1.0],[4,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[40,1.0],[9,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[40,1.0],[4,-1.0],[9,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[41,1.0],[8,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[41,1.0],[5,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[41,1.0],[8,-1.0],[5,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[42,1.0],[5,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[42,1.0],[10,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[42,1.0],[5,-1.0],[10,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[43,1.0],[9,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[43,1.0],[6,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[43,1.0],[9,-1.0],[6,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[44,1.0],[6,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[44,1.0],[11,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[44,1.0],[6,-1.0],[11,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[45,1.0],[10,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[45,1.0],[7,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[45,1.0],[10,-1.0],[7,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[46,1.0],[7,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[46,1.0],[8,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[46,1.0],[7,-1.0],[8,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[47,1.0],[11,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[47,1.0],[4,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[47,1.0],[11,-1.0],[4,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[48,1.0],[4,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[48,1.0],[13,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[48,1.0],[4,-1.0],[13,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[49,1.0],[12,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[49,1.0],[5,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[49,1.0],[12,-1.0],[5,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[50,1.0],[5,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[50,1.0],[14,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[50,1.0],[5,-1.0],[14,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[51,1.0],[13,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[51,1.0],[6,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[51,1.0],[13,-1.0],[6,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[52,1.0],[6,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[52,1.0],[15,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[52,1.0],[6,-1.0],[15,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[53,1.0],[14,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[53,1.0],[7,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[53,1.0],[14,-1.0],[7,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[54,1.0],[7,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[54,1.0],[12,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[54,1.0],[7,-1.0],[12,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[55,1.0],[15,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[55,1.0],[4,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[55,1.0],[15,-1.0],[4,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[56,1.0],[8,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[56,1.0],[13,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[56,1.0],[8,-1.0],[13,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[57,1.0],[12,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[57,1.0],[9,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[57,1.0],[12,-1.0],[9,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[58,1.0],[9,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[58,1.0],[14,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[58,1.0],[9,-1.0],[14,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[59,1.0],[13,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[59,1.0],[10,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[59,1.0],[13,-1.0],[10,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[60,1.0],[10,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[60,1.0],[15,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[60,1.0],[10,-1.0],[15,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[61,1.0],[14,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[61,1.0],[11,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[61,1.0],[14,-1.0],[11,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[62,1.0],[11,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[62,1.0],[12,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[62,1.0],[11,-1.0],[12,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[63,1.0],[15,-1.0]]},{"cmp":"Le","rhs":0.0,"terms":[[63,1.0],[8,-1.0]]},{"cmp":"Ge","rhs":-1.0,"terms":[[63,1.0],[15,-1.0],[8,-1.0]]}],"num_vars":64,"objective":[[16,10.0],[17,10.0],[18,10.0],[19,10.0],[20,10.0],[21,10.0],[22,10.0],[23,10.0],[24,15.0],[25,15.0],[26,15.0],[27,15.0],[28,15.0],[29,15.0],[30,15.0],[31,15.0],[32,20.0],[33,20.0],[34,20.0],[35,20.0],[36,20.0],[37,20.0],[38,20.0],[39,20.0],[40,35.0],[41,35.0],[42,35.0],[43,35.0],[44,35.0],[45,35.0],[46,35.0],[47,35.0],[48,25.0],[49,25.0],[50,25.0],[51,25.0],[52,25.0],[53,25.0],[54,25.0],[55,25.0],[56,30.0],[57,30.0],[58,30.0],[59,30.0],[60,30.0],[61,30.0],[62,30.0],[63,30.0]],"sense":"Minimize"}},"solutions":[{"source_config":[1,1,0,0,1,1],"target_config":[1,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0]}]}, - {"source":{"problem":"TravelingSalesman","variant":{"graph":"SimpleGraph","weight":"i32"},"instance":{"edge_weights":[1,2,3],"graph":{"inner":{"edge_property":"undirected","edges":[[0,1,null],[0,2,null],[1,2,null]],"node_holes":[],"nodes":[null,null,null]}}}},"target":{"problem":"QUBO","variant":{"weight":"f64"},"instance":{"matrix":[[-14.0,14.0,14.0,14.0,1.0,1.0,14.0,2.0,2.0],[0.0,-14.0,14.0,1.0,14.0,1.0,2.0,14.0,2.0],[0.0,0.0,-14.0,1.0,1.0,14.0,2.0,2.0,14.0],[0.0,0.0,0.0,-14.0,14.0,14.0,14.0,3.0,3.0],[0.0,0.0,0.0,0.0,-14.0,14.0,3.0,14.0,3.0],[0.0,0.0,0.0,0.0,0.0,-14.0,3.0,3.0,14.0],[0.0,0.0,0.0,0.0,0.0,0.0,-14.0,14.0,14.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,-14.0,14.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-14.0]],"num_vars":9}},"solutions":[{"source_config":[1,1,1],"target_config":[0,0,1,1,0,0,0,1,0]}]} - ] -} From bf81873eb1264b01a091f3ebe51a4e9fae23c948 Mon Sep 17 00:00:00 2001 From: GiggleLiu Date: Thu, 19 Mar 2026 15:39:07 +0800 Subject: [PATCH 6/7] fix: alphabetical ordering in mod.rs and rustfmt Co-Authored-By: Claude Opus 4.6 (1M context) --- src/rules/minimummultiwaycut_qubo.rs | 3 +-- src/rules/mod.rs | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/rules/minimummultiwaycut_qubo.rs b/src/rules/minimummultiwaycut_qubo.rs index 4806a5fb0..787a6dc66 100644 --- a/src/rules/minimummultiwaycut_qubo.rs +++ b/src/rules/minimummultiwaycut_qubo.rs @@ -143,8 +143,7 @@ pub(crate) fn canonical_rule_example_specs() -> Vec, _>(source, |_, _| true) }, diff --git a/src/rules/mod.rs b/src/rules/mod.rs index 2a0c6d259..b60c7086c 100644 --- a/src/rules/mod.rs +++ b/src/rules/mod.rs @@ -24,8 +24,8 @@ mod maximumindependentset_triangular; pub(crate) mod maximummatching_maximumsetpacking; mod maximumsetpacking_casts; pub(crate) mod maximumsetpacking_qubo; -pub(crate) mod minimumvertexcover_maximumindependentset; pub(crate) mod minimummultiwaycut_qubo; +pub(crate) mod minimumvertexcover_maximumindependentset; pub(crate) mod minimumvertexcover_minimumsetcovering; pub(crate) mod sat_circuitsat; pub(crate) mod sat_coloring; @@ -93,8 +93,8 @@ pub(crate) fn canonical_rule_example_specs() -> Vec Date: Thu, 19 Mar 2026 15:50:26 +0800 Subject: [PATCH 7/7] fix: update canonical example to use rule_example_with_witness API The direct_best_example function was removed on main. Update to use the current rule_example_with_witness API with explicit solution pair. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/rules/minimummultiwaycut_qubo.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/rules/minimummultiwaycut_qubo.rs b/src/rules/minimummultiwaycut_qubo.rs index 787a6dc66..610ec7397 100644 --- a/src/rules/minimummultiwaycut_qubo.rs +++ b/src/rules/minimummultiwaycut_qubo.rs @@ -137,6 +137,8 @@ impl ReduceTo> for MinimumMultiwayCut { #[cfg(feature = "example-db")] pub(crate) fn canonical_rule_example_specs() -> Vec { + use crate::export::SolutionPair; + vec![crate::example_db::specs::RuleExampleSpec { id: "minimummultiwaycut_to_qubo", build: || { @@ -145,7 +147,13 @@ pub(crate) fn canonical_rule_example_specs() -> Vec, _>(source, |_, _| true) + crate::example_db::specs::rule_example_with_witness::<_, QUBO>( + source, + SolutionPair { + source_config: vec![1, 0, 0, 1, 1, 0], + target_config: vec![1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1], + }, + ) }, }] }