diff --git a/tig-challenges/Cargo.toml b/tig-challenges/Cargo.toml index 64511a6..b85d20b 100644 --- a/tig-challenges/Cargo.toml +++ b/tig-challenges/Cargo.toml @@ -25,6 +25,7 @@ flate2 = { version = "1.0", optional = true } base64 = { version = "0.21", optional = true } [features] +pub_baseline = [] bincode_solution = ["bincode", "flate2", "base64"] c001 = [] satisfiability = ["c001"] diff --git a/tig-challenges/src/hypergraph.rs b/tig-challenges/src/hypergraph.rs index 4e90b3d..8616d92 100644 --- a/tig-challenges/src/hypergraph.rs +++ b/tig-challenges/src/hypergraph.rs @@ -9,7 +9,10 @@ use std::sync::Arc; #[derive(Serialize, Deserialize, Debug, Clone)] pub struct Difficulty { pub num_hyperedges: u32, + #[cfg(feature = "pub_baseline")] pub better_than_baseline: u32, + #[cfg(not(feature = "pub_baseline"))] + better_than_baseline: u32, } impl From> for Difficulty { @@ -75,7 +78,10 @@ pub struct SubInstance { pub d_node_degrees: CudaSlice, pub d_node_offsets: CudaSlice, pub d_node_hyperedges: CudaSlice, + #[cfg(feature = "pub_baseline")] pub baseline_connectivity_metric: u32, + #[cfg(not(feature = "pub_baseline"))] + max_distance: f32, } pub const NUM_SUB_INSTANCES: usize = 4; diff --git a/tig-challenges/src/knapsack.rs b/tig-challenges/src/knapsack.rs index 2b7fc0d..5a4b050 100644 --- a/tig-challenges/src/knapsack.rs +++ b/tig-challenges/src/knapsack.rs @@ -10,7 +10,10 @@ use std::collections::HashSet; #[derive(Serialize, Deserialize, Debug, Clone)] pub struct Difficulty { pub num_items: usize, + #[cfg(feature = "pub_baseline")] pub better_than_baseline: u32, + #[cfg(not(feature = "pub_baseline"))] + better_than_baseline: u32, } impl From> for Difficulty { @@ -69,7 +72,10 @@ pub struct SubInstance { pub values: Vec, pub interaction_values: Vec>, pub max_weight: u32, + #[cfg(feature = "pub_baseline")] pub baseline_value: u32, + #[cfg(not(feature = "pub_baseline"))] + baseline_value: u32, } pub const NUM_SUB_INSTANCES: usize = 16; diff --git a/tig-challenges/src/vector_search.rs b/tig-challenges/src/vector_search.rs index 5e92429..a3528c2 100644 --- a/tig-challenges/src/vector_search.rs +++ b/tig-challenges/src/vector_search.rs @@ -11,7 +11,10 @@ use std::sync::Arc; #[derive(Serialize, Deserialize, Debug, Copy, Clone)] pub struct Difficulty { pub num_queries: u32, + #[cfg(feature = "pub_baseline")] pub better_than_baseline: u32, + #[cfg(not(feature = "pub_baseline"))] + better_than_baseline: u32, } impl From> for Difficulty { @@ -56,7 +59,10 @@ pub struct Challenge { pub database_size: u32, pub d_database_vectors: CudaSlice, pub d_query_vectors: CudaSlice, + #[cfg(feature = "pub_baseline")] pub max_distance: f32, + #[cfg(not(feature = "pub_baseline"))] + max_distance: f32, } pub const MAX_THREADS_PER_BLOCK: u32 = 1024; diff --git a/tig-challenges/src/vehicle_routing.rs b/tig-challenges/src/vehicle_routing.rs index 1c74d4f..ab9c7fa 100644 --- a/tig-challenges/src/vehicle_routing.rs +++ b/tig-challenges/src/vehicle_routing.rs @@ -11,7 +11,10 @@ use std::collections::{HashMap, HashSet}; #[derive(Serialize, Deserialize, Debug, Copy, Clone)] pub struct Difficulty { pub num_nodes: usize, + #[cfg(feature = "pub_baseline")] pub better_than_baseline: u32, + #[cfg(not(feature = "pub_baseline"))] + better_than_baseline: u32, } impl From> for Difficulty { @@ -68,7 +71,10 @@ pub struct SubInstance { pub difficulty: Difficulty, pub demands: Vec, pub distance_matrix: Vec>, + #[cfg(feature = "pub_baseline")] pub baseline_total_distance: i32, + #[cfg(not(feature = "pub_baseline"))] + baseline_total_distance: i32, pub max_capacity: i32, pub fleet_size: usize, pub service_time: i32,