# Calibrated configuration (v2) for T-ALNS-RRD Reproduction # Key changes from default: # - 60 customers (was 47), 100kg capacity (was 120kg) # - Tighter time windows (30-90min vs 60-150min) # - θ=50 for CES scaling (was 1.0) # - 1000 iterations, 30 seeds, statistical testing # - More frequent & impactful RRD events # Problem scale - HARDER THAN DEFAULT problem: n_customers: 55 n_vehicles: 4 depot_count: 1 vehicle_capacity_kg: 115 # 120 → 115 (slightly tighter, still feasible) service_time_min: 4 area_width_km: 8.0 area_height_km: 10.0 operating_start: 360 operating_end: 1080 n_time_intervals: 12 # Customer generation - MORE CONSTRAINED customers: demand_min_kg: 3 demand_max_kg: 13 # 3 → 13 (was 15 - keep feasible) window_length_min: 30 # NEW: shortest window (min) window_length_max: 90 # NEW: longest window (min) 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"] # Road network (unchanged) 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 congestion - SCALED CES 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 # 1.0 → 50.0 (CES into paper range) risk_aversion_beta: 0.3 uncertainty_base: 0.05 # Cost function weights (unchanged) cost: lambda_lateness: 1.0 lambda_congestion: 1.0 lambda_stability: 0.3 # ALNS parameters - MORE ITERATIONS alns: max_iterations: 1000 # Always run full iterations 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: 400 # 200 → 400 (allow longer search) max_attempts: 5 reward_global_best: 1.0 reward_improvement: 0.5 reward_accepted: 0.2 reward_rejected: 0.0 # Tabu memory parameters (unchanged) 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 parameters - MORE EVENTS rrd: rollout: horizon_min_min: 30 horizon_max_min: 120 urgency_alpha: 1.0 n_sim_min: 5 # 2 → 5 n_sim_max: 30 # 50 → 30 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.3 # 0.5 → 0.3 (easier to trigger) event_probability: 0.5 # NEW: event check probability event_check_interval: 5 # NEW: check every N iterations 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 # Experiment settings - MORE SEEDS + STATISTICAL TESTING experiments: random_seeds: 30 # 5 → 30 (paper standard) seed_start: 1 report_mean_std: true statistical_testing: true # NEW: run paired t-tests 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]