fix T-ALNS-RRD reproduction fidelity
This commit is contained in:
137
t_alns_rrd_reproduction/configs/paper.yaml
Normal file
137
t_alns_rrd_reproduction/configs/paper.yaml
Normal file
@@ -0,0 +1,137 @@
|
||||
# Canonical paper-aligned configuration for T-ALNS-RRD reproduction.
|
||||
# This is the primary server-run config. It preserves the paper's controlled
|
||||
# mid-scale instance: 47 customers, 4 homogeneous vehicles, 120 kg capacity,
|
||||
# 12 one-hour traffic intervals from 6:00 to 18:00, and 30 seeds.
|
||||
|
||||
problem:
|
||||
n_customers: 47
|
||||
n_vehicles: 4
|
||||
depot_count: 1
|
||||
vehicle_capacity_kg: 120
|
||||
service_time_min: 4
|
||||
area_width_km: 8.0
|
||||
area_height_km: 10.0
|
||||
operating_start: 360
|
||||
operating_end: 1080
|
||||
n_time_intervals: 12
|
||||
|
||||
customers:
|
||||
demand_min_kg: 3
|
||||
demand_max_kg: 12
|
||||
window_length_min: 60
|
||||
window_length_max: 150
|
||||
time_window_categories:
|
||||
morning:
|
||||
earliest: 540
|
||||
latest: 720
|
||||
afternoon:
|
||||
earliest: 780
|
||||
latest: 960
|
||||
evening:
|
||||
earliest: 1020
|
||||
latest: 1200
|
||||
num_clusters: 3
|
||||
cluster_labels: ["residential", "commercial", "office"]
|
||||
|
||||
roads:
|
||||
types:
|
||||
arterial:
|
||||
speed_kmh: 45
|
||||
proportion: 0.25
|
||||
collector:
|
||||
speed_kmh: 30
|
||||
proportion: 0.35
|
||||
residential:
|
||||
speed_kmh: 20
|
||||
proportion: 0.40
|
||||
noise_std: 0.05
|
||||
use_complete_graph: true
|
||||
|
||||
traffic:
|
||||
multipliers: [1.0, 1.0, 1.6, 1.6, 1.2, 1.2, 1.0, 1.0, 1.2, 1.2, 1.7, 1.7]
|
||||
congestion_scale_theta: 50.0
|
||||
risk_aversion_beta: 0.3
|
||||
uncertainty_base: 0.05
|
||||
|
||||
cost:
|
||||
lambda_lateness: 1.0
|
||||
lambda_congestion: 1.0
|
||||
lambda_stability: 0.3
|
||||
|
||||
alns:
|
||||
max_iterations: 1000
|
||||
time_limit_sec: 600
|
||||
destroy_ratio_min: 0.1
|
||||
destroy_ratio_max: 0.4
|
||||
initial_temperature_factor: 0.05
|
||||
cooling_rate: 0.99975
|
||||
reaction_factor: 0.1
|
||||
segment_length: 100
|
||||
stall_limit: 200
|
||||
max_attempts: 5
|
||||
reward_global_best: 1.0
|
||||
reward_improvement: 0.5
|
||||
reward_accepted: 0.2
|
||||
reward_rejected: 0.0
|
||||
|
||||
tabu:
|
||||
move_tabu:
|
||||
tenure: 7
|
||||
tenure_min: 3
|
||||
tenure_max: 12
|
||||
overlap_threshold: 0.5
|
||||
stall_for_increase: 50
|
||||
solution_tabu:
|
||||
tenure: 15
|
||||
buffer_size: 1000
|
||||
hash_prime: 1000000007
|
||||
frequency:
|
||||
normalization_factor: 2
|
||||
normalization_interval: 50
|
||||
diversification:
|
||||
delta_max: 0.7
|
||||
eta_balance: 0.5
|
||||
weights: [0.4, 0.3, 0.3]
|
||||
aspiration:
|
||||
beta_threshold: 0.3
|
||||
gamma_threshold: 0.8
|
||||
|
||||
rrd:
|
||||
rollout:
|
||||
horizon_min_min: 30
|
||||
horizon_max_min: 120
|
||||
urgency_alpha: 1.0
|
||||
n_sim_min: 2
|
||||
n_sim_max: 50
|
||||
mc_iterations: 50
|
||||
time_overhead_ms: 10
|
||||
time_per_sim_ms: 50
|
||||
dispatch:
|
||||
weight_rollout: 0.4
|
||||
weight_stability: 0.3
|
||||
weight_recovery: 0.3
|
||||
tabu:
|
||||
penalty: 50.0
|
||||
bonus: 25.0
|
||||
events:
|
||||
urgency_threshold: 0.5
|
||||
event_probability: 0.3
|
||||
event_check_interval: 10
|
||||
weights:
|
||||
E1_traffic: [0.5, 0.3, 0.2]
|
||||
E2_urgent: [0.7, 0.1, 0.2]
|
||||
E3_capacity: [0.3, 0.4, 0.3]
|
||||
E4_timewindow: [0.8, 0.1, 0.1]
|
||||
max_actions: 20
|
||||
|
||||
experiments:
|
||||
random_seeds: 30
|
||||
seed_start: 1
|
||||
report_mean_std: true
|
||||
statistical_testing: true
|
||||
sensitivity:
|
||||
fleet_sizes: [2, 3, 4, 5, 6]
|
||||
customer_counts: [30, 40, 47, 60]
|
||||
capacities: [80, 100, 120, 140, 160]
|
||||
robustness:
|
||||
sigma_values: [0.1, 0.2, 0.3, 0.5]
|
||||
Reference in New Issue
Block a user