# T-ALNS-RRD 论文复现完整计划 ## 0. 文档概要 **论文标题**: Optimizing urban last mile delivery efficiency through dynamic vehicle routing heuristics and traffic flow analysis **作者**: Lu Liu, Tianxia Wang (Yibin Vocational and Technical College) **发表**: 2025, Scientific Reports **复现类型**: 基于合成数据的算法机制复现 (Methodological Reproduction) --- ## 1. 复现目标体系 ### 1.1 核心目标 复现论文提出的 T-ALNS-RRD 框架的核心算法链: ``` Static-VRPTW → TA-VRPTW-Greedy → ALNS-Base → T-ALNS → T-ALNS-RRD ``` ### 1.2 验证目标 (5 个量化趋势) | # | 趋势 | 预期方向 | |---|------|---------| | 1 | 交通感知成本降低拥堵暴露 | TA-Greedy CES < Static CES | | 2 | ALNS 相比贪婪算法进一步降低总成本 | ALNS TotalCost < TA-Greedy | | 3 | Tabu memory 减少重复搜索,提高解稳定性 | T-ALNS σ < ALNS σ | | 4 | RRD 实时调度减少突发事件下的延误 | T-ALNS-RRD Delay < T-ALNS Delay | | 5 | 各模块叠加后整体表现优于静态规划 | T-ALNS-RRD 全指标最优 | ### 1.3 成功标准 1. 生成可重复的合成数据集 2. 运行至少 4 个算法版本 (Static, TA-Greedy, ALNS, T-ALNS) 3. 输出统一评价指标 4. 展示逐模块改进趋势 5. **优先级**: 先完成 Static → TA-Greedy → ALNS → T-ALNS 四个版本 6. RRD 作为增强实验,可用简化交通事故案例展示 --- ## 2. 数据集设计 (与论文 Table 2 对齐) ### 2.1 基本规模参数 | 参数 | 值 | 来源 | |------|-----|------| | 客户数 n | 47 | 论文 §4.2 | | 仓库 | 1 (node 0) | 论文 §4.2 | | 车辆数 m | 4 | 论文 §4.2 | | 车辆容量 Q | 120 kg | 论文 §4.2 | | 服务时间 s_i | 4 min/customer | 论文 §4.2 | | 时间窗口 | 3 类 (morning/afternoon/evening) | 论文 §4.2 | | 运营时间 | 6:00-18:00 (12 hours) | 论文 §4.3 | | 时间段 H | 12 (1h each) | 论文 §4.3 | | 区域范围 | 8 km × 10 km | 论文 §4.1 | | 路网规模 | 48 nodes, 2256 arcs | 论文 Table 2 | ### 2.2 客户数据生成 每个客户属性: ``` customer_id, x (km), y (km), demand (kg), service_time (min), earliest_time, latest_time, priority ``` 生成规则: - `x ∈ [0, 8] km`, `y ∈ [0, 10] km` - `demand ∈ [3, 12] kg` (均匀或带簇偏差) - `service_time = 4 min` - 时间窗口分 3 类: - Morning: 9:00-12:00 - Afternoon: 13:00-16:00 - Evening: 17:00-20:00 **空间分布**: 生成 3 个客户簇 (住宅区/商业区/办公区),增加路径优化意义 ### 2.3 路网与弧数据 **初版方案**: 完全图 (complete graph),每对节点一条弧 每条弧属性: ``` from_node, to_node, distance (欧氏), base_travel_time, road_type (arterial/collector/residential) ``` 道路速度: | Road Type | Speed | |-----------|-------| | Arterial | 45 km/h | | Collector | 30 km/h | | Residential | 20 km/h | 升级方案 (Phase 2+): 使用 networkx 生成网格路网模拟真实道路 ### 2.4 时间依赖交通矩阵 (3 个张量) 为每个 `(i, j, h)` 组合计算,其中 `h ∈ {0, 1, ..., 11}`: ```python travel_time[i, j, h] # 行驶时间 congestion[i, j, h] # 拥堵权重 γ ∈ [0, 1] uncertainty[i, j, h] # 可靠性不确定性 η ``` **交通拥堵乘子** (论文 §3.2): | 时间段 | 时段 | 拥堵乘子 | |--------|------|---------| | 6:00-7:00 | 早间 | 1.0 | | 7:00-9:00 | 早高峰 | 1.6 | | 9:00-11:00 | 上午 | 1.2 | | 11:00-13:00 | 午间 | 1.0 | | 13:00-16:00 | 午后 | 1.2 | | 16:00-18:00 | 晚高峰 | 1.7 | 行驶时间计算: ``` t_ij^(h) = base_time_ij × traffic_multiplier_h × road_noise ``` 拥堵权重 (论文 Eq.9): ``` ρ_ij(T_i) = θ × γ_ij^(h), if T_i ∈ τ_h ``` 风险调整时间 (论文 Eq.10): ``` t'_ij^(h) = t_ij^(h) + β × η_ij^(h) ``` **需要满足 FIFO 一致性** (论文 Eq.11): ``` T_i^1 ≤ T_i^2 ⇒ T_i^1 + t_ij(T_i^1) ≤ T_i^2 + t_ij(T_i^2) ``` --- ## 3. 问题建模与目标函数 ### 3.1 DVRPTW-TA 形式化 (论文 §3.1) 在完全图 G=(N, A) 上建模,N = {0, 1, ..., 47},A ⊆ N × N。 ### 3.2 复合成本函数 (论文 Eq.1) ``` Cost = Σ_k Σ_(i,j) x_ijk [t_ij(T_i) + λ₂ρ_ij(T_i)] + λ₁ Σ_j δ_j 其中: δ_j = max{0, S_j - l_j} - 迟到惩罚 (论文 Eq.2) t_ij(T_i) - 时间依赖行驶时间 ρ_ij(T_i) - 拥堵惩罚 λ₁ - 迟到惩罚权重 λ₂ - 拥堵暴露权重 ``` ### 3.3 约束条件 1. **每个客户服务一次** (Eq.3): `Σ_k Σ_j x_ijk = 1, ∀i ∈ N\{0}` 2. **车辆容量** (Eq.4): `Σ_i d_i Σ_j x_ijk ≤ Q, ∀k` 3. **时间可行性** (Eq.5): `A_j ≥ T_i + t_ij(T_i), S_j ≥ max{A_j, e_j}` 4. **软时间窗** (Eq.6): `S_j ≤ l_j + ε_j, ε_j ≥ 0` 5. **子回路消除** (Eq.7): MTZ 约束 --- ## 4. 算法实现详细设计 ### 4.1 Baseline 1: Static-VRPTW **特点**: 不考虑时间变化、不考虑拥堵惩罚 **方法**: Greedy insertion heuristic **输入**: 固定 base_travel_time **输出**: 车辆路径方案 ``` Algorithm: 1. 所有车辆从 depot 出发 2. 对每个未分配客户,计算插入各车辆当前路径各位置的最小边际成本 3. 选择边际成本增量最小的 (customer, vehicle, position) 4. 满足容量和时间窗约束则插入 5. 重复直到所有客户分配完毕 ``` ### 4.2 Baseline 2: TA-VRPTW-Greedy **特点**: 考虑 time-dependent travel time + congestion penalty,但不使用 ALNS **方法**: 与 Static 相同框架,但使用 t_ij(T_i) 和 ρ_ij(T_i) **与 Static 的关键差异**: 边际成本计算使用 time-dependent travel time ### 4.3 Baseline 3: ALNS-Base (论文 §3.3.1 + Algorithm 1) **核心组件**: ``` Destroy Operators (论文 §3.3.1): - Random Removal: 均匀随机移除 α×n 个客户 - Worst Removal: 移除造成最大延迟/拥堵成本的客户 - Relatedness Removal: 移除地理或时间特征相似的客户 移除数量: |C| = ⌊α × n⌋, α ∈ [0.1, 0.4] (论文 Eq.15) Repair Operators: - Greedy Insertion: 最小化边际成本 (论文 Eq.16-17) - Regret-2 Insertion: 最小化最优和次优插入位置差距 - Time-Window-Aware Insertion: 最小化时间窗违规 Acceptance: Simulated Annealing (论文 Eq.20-21) P_accept = 1 if f(S') < f(S) = exp(-(f(S') - f(S)) / τ_t) otherwise τ_{t+1} = γ × τ_t, γ ∈ (0, 1) Adaptive Operator Weights (论文 Eq.18-19): p_h(t) = ω_h(t) / Σ ω_j(t) ω_h(t+1) = (1-ξ) ω_h(t) + ξ × θ_r 奖励等级: σ₁: 找到全局最优解 σ₂: 改善当前解 σ₃: 被接受但未改善 σ₄: 被拒绝 终止条件: max_iter = 1000 (论文 §4.8) time_limit = 600s stall: 连续 T_stall 代无改进 ``` **插入成本计算** (论文 Eq.16-17): ``` Δf_ijk(T_j) = t_ji(T_j) + s_i + t_ik(T_j + t_ji + s_i) - t_jk(T_j) + λ₁ × δ_i(T_i) + λ₂ × ρ_ji(T_j) ΔF_jik = Δf_jik^local + Σ_(u,v)∈Asuffix [t_uv(T') + λ₁δ_v + λ₂ρ_uv] - Σ_(u,v)∈Asuffix_old [t_uv + λ₁δ_v + λ₂ρ_uv] ``` ### 4.4 Baseline 4: T-ALNS (论文 §3.3.2 + Algorithm 2) 在 ALNS 基础上增加三层 Tabu Memory: #### Move-Based Tabu (论文 Eq.22-23) ``` 存储: (C_removed, h_d, h_r, t_iter) 元组 判定: 如果存在记录 (Ĉ, ĥ_d, ĥ_r, ť) 满足: |C_removed ∩ Ĉ| ≥ μ × min(|C_removed|, |Ĉ|) AND t_current - ť ≤ τ_move 则为 Tabu 自适应 tenure (论文 Eq.32): τ_move(t+1) = min(τ_move+1, τ_max) if no improvement in τ_stall = max(τ_move-1, τ_min) if improvement found ``` #### Solution-Based Tabu (论文 Eq.23-24) ``` 哈希函数: H(S) = Σ_k Σ_i φ(v_ki, v_k(i+1)) mod P 存储: H(S') 作为环形缓冲区 (最大 1000 或 2^⌈log₂(n)⌉) Tabu: 如果 H(S') ∈ T_sol 且在最近 τ_sol 代内记录 ``` #### Frequency Memory (论文 Eq.24-26) ``` 客户-车辆分配频率: F^cv_ik(t+1) = F^cv_ik(t) + 1_[i∈R_k(S)] 时间位置频率: F^tp_ij(t+1) = F^tp_ij(t) + Σ_k 1_[v_kj = i] 拥堵加权 (Eq.33): F^cv_ik(t+1) = F^cv_ik(t) + 1_[i∈R_k] × (1 + Σ_j ρ_ji(T_j)) 定期归一化 (Eq.32): F ← ⌊F/κ⌋ 每 ν 代 ``` #### 多样化强度控制 (论文 Eq.26-28) ``` δ(t) = ω₁ × (t - t_last_best)/T_max + ω₂ × |T_move|/|T_move|_max + ω₃ × σ(F^cv) if δ(t) > δ_max: 切换到多样化模式 p'_h(t) = η × p_h(t) + (1-η) × div_h(t)/Σ div_j(t) ``` #### 赦免准则 (论文 Eq.29-31) 1. **全局最优赦免**: f(S') < f(S*) 2. **低频赦免**: min F^cv_ik < β × F̄^cv (鼓励未用分配) 3. **交通适应赦免**: 拥堵成本显著降低 ### 4.5 Proposed: T-ALNS-RRD (论文 §3.3.3 + Algorithm 3) #### 事件检测与分类 ``` 事件类型 (论文 §3.3.3): E1: 关键交通事故 (道路封闭/事故/严重拥堵) E2: 紧急订单插入 (高优先级、紧时间窗) E3: 容量违规 (需求波动超过车辆容量) E4: 服务时间违规 (累计延迟威胁时间窗) 紧急度评分 (论文 Eq.35): Ψ(e,t) = α_e × (t_deadline - t_current)/t_horizon + β_e × impact(e) + γ_e × cost_increase(e) ``` #### 候选动作空间 ``` E1 - 局部改道: K_s=5 条 FIFO 一致的 k-shortest-time 绕行 预算 Δ_max=8 min E1 - 客户重分配: 3km 范围内、≤10min ETA 差的车辆 每车 top-2 regret 位置 E2 - 紧急插入: top-r 插入位置 (Eq.16) 延迟变体: ≤30min 偏移,惩罚 λ₁δ_j 全部不可行则 subcontract E3 - 负载重分配: 最小可行子集转移,最多 3 次 E4 - 加速/放宽: 局部 2-opt 重排 不可行则临时容差 ϵ_tolerance 最大动作数 |A_e| ≤ 20 ``` #### Rollout 仿真 (论文 Eq.36-39) ``` 价值函数 (Eq.36): V^rollout(s,a,H) = E[ Σ_h Σ_k Σ_(i,j)∈A^h_k [t_ij + λ₂ρ_ij] + λ₁ Σ_j δ_j(S^h_j) ] 交通演化 (Eq.38): t^rollout_ij(T_i + s) = t^(r)_ij + s/Δt × (t^(r+1)_ij - t^(r)_ij) Tabu 调整价值 (Eq.39): V^adjusted = V^rollout - τ_penalty × 1_[Tabu(a)] + τ_bonus × Diversification(a) 复合决策分数 (Eq.40): Σ(a,e,s) = ω₁ × V^adjusted + ω₂ × Stability(a,s) + ω₃ × Recovery(a,s) 稳定性 (Eq.41): Stability(a,s) = Σ_k |R^a_k ∩ R^s_k| / |R^a_k ∪ R^s_k| 恢复性 (Eq.42): Recovery(a,s) = -Σ_k Σ_i |OptimalPosition(i) - CurrentPosition(i,a)| ``` #### 自适应资源分配 (论文 Eq.43-44) ``` H_rollout = max(H_min, H_max - α_urgency × Ψ(e,t)) N_sim = max(N_min, ⌊(T_available - T_overhead) / T_sim⌋) ``` --- ## 5. 评价指标体系 (论文 §4.4) ### 5.1 主要指标 | 指标 | 定义 | 公式 | |------|------|------| | Total Cost | 综合运营成本 | Eq.1 | | Travel Time Cost | 总行驶时间成本 | Σ t_ij(T_i) | | Delay Penalty | 迟到惩罚 | λ₁ Σ δ_j | | Congestion Cost | 拥堵成本 | Σ ρ_ij(T_i) | | OTDR | 准时送达率 | N_ontime / (n-1) (Eq.45) | | Average Delay | 平均迟到时间 | Σ δ_j / n_late | | Max Delay | 最大迟到时间 | max δ_j | | Late Customers | 迟到客户数 | count(S_j > l_j) | | CES | 拥堵暴露分数 | Σ ρ_ij(T_i) (Eq.47) | | Average Route Duration | 平均路线时长 | (1/m) Σ (T_k^end - T_k^start) (Eq.46) | ### 5.2 算法性能指标 | 指标 | 定义 | |------|------| | Computation Time | 算法运行时间 | | Iterations to Best | 找到最优解的迭代次数 | | Convergence Rate | 收敛速度 (improvements/iteration) | | Solution Stability (σ) | 解的稳定性 (标准差) | ### 5.3 RRD 专属指标 | 指标 | 定义 | |------|------| | Event Response Rate | 事件响应成功率 | | Avg Response Time | 平均响应时间 (ms) | | Cost Reduction via RRD | RRD 带来的成本降低 | | Adaptation Success Rate | 自适应成功率 | --- ## 6. 实验设计 (论文 §5) ### 6.1 实验一: 主对比实验 (对应论文 Table 5-7, Fig 8-10) **算法**: Static / TA-Greedy / ALNS-Base / T-ALNS / T-ALNS-RRD **配置**: - 30 个随机种子 (论文 §5.1: seeds 1-30) - max_iter = 1000 - time_limit = 600s (可缩短) - 实验结果求均值 ± 标准差 **输出表格**: ``` Algorithm | TotalCost | TravelTime | DelayPenalty | Congestion | OTDR | CES | CompTime ``` ### 6.2 实验二: 消融实验 (对应论文 Table 11, Fig 13) **配置**: ``` Base ALNS + Move Tabu Only + Solution Tabu Only + Frequency Memory Only Full T-ALNS + Traffic Events Only + Urgent Delivery Only + All RRD Events (Full T-ALNS-RRD) ``` ### 6.3 实验三: 交通不确定性鲁棒性实验 (对应论文 Table 14, Fig 15) **配置**: ``` σ ∈ {0.1, 0.2, 0.3, 0.5} 每组重复 30 次 ``` **输出指标**: 各 σ 下的 TotalCost、OTDR、CES、Robustness Index ### 6.4 实验四: 参数敏感性实验 (对应论文 Table 3) **维度**: | 参数 | 取值 | |------|------| | 客户数 | 30, 40, 47, 60 | | 车辆数 | 2, 3, 4, 5, 6 | | 车辆容量 (kg) | 80, 100, 120, 140, 160 | ### 6.5 实验五: 实时事件响应实验 (对应论文 Table 8, Fig 11) **事件类型** (最低实现 3 类): ``` 1. Traffic incident: 某边 travel_time 临时 × 2-3 2. Urgent order: 中途新增一个客户 3. Time-window risk: 预测某客户即将迟到 ``` **输出**: Event Type | Frequency | Success Rate | Cost Reduction | Response Time ### 6.6 收敛性分析 (对应论文 Table 9-10, Fig 12) 记录 epoch-level 的 cost 下降: ``` Epoch 5, 10, 15, ..., 50 绘制 ALNS-Base vs T-ALNS vs T-ALNS-RRD 收敛曲线 ``` --- ## 7. 可视化要求 (论文 Fig 7-16) | 图编号 | 内容 | 类型 | |--------|------|------| | Fig 1 | 路线图: 仓库、47 客户、4 条路径 | 空间散点 + 连线 | | Fig 2 | 算法框架图: ALNS → Tabu → RRD | 流程图 | | Fig 3 | 主实验: Total Cost / OTDR / CES 柱状图 | 分组柱状图 | | Fig 4 | 收敛曲线: ALNS vs T-ALNS vs T-ALNS-RRD | 折线图 | | Fig 5 | 消融实验: 各模块贡献瀑布图 | 柱状图 | | Fig 6 | RRD 示例: 扰动前后路线变化对比 | 双面板空间图 | --- ## 8. 项目代码结构 ``` t_alns_rrd_reproduction/ ├── README.md ├── requirements.txt # numpy, pandas, matplotlib, networkx, pyyaml, tqdm ├── configs/ │ ├── default.yaml # 全局默认参数 │ ├── experiment_main.yaml # 主对比实验配置 │ ├── experiment_ablation.yaml # 消融实验配置 │ └── experiment_robustness.yaml ├── src/ │ ├── __init__.py │ ├── data_generator.py # 合成数据集生成 │ ├── problem.py # DVRPTW-TA 问题定义、Solution 数据结构 │ ├── cost.py # 成本函数计算 (Eq.1, Eq.16-17) │ ├── schedule.py # 调度评估 (时间传播) │ ├── baselines/ │ │ ├── __init__.py │ │ ├── static_vrptw.py # Baseline 1: Static-VRPTW greedy │ │ └── ta_greedy.py # Baseline 2: TA-VRPTW-Greedy │ ├── alns/ │ │ ├── __init__.py │ │ ├── operators_destroy.py # Random/Worst/Relatedness Removal │ │ ├── operators_repair.py # Greedy/Regret-2/Time-Window-Aware Insertion │ │ ├── acceptance.py # Simulated Annealing │ │ └── alns_base.py # ALNS-Base (Algorithm 1) │ ├── tabu/ │ │ ├── __init__.py │ │ ├── move_tabu.py # Move-based Tabu list (Eq.22-23) │ │ ├── solution_tabu.py # Solution hash memory (Eq.24) │ │ ├── frequency_memory.py # Frequency matrices (Eq.25-26) │ │ └── t_alns.py # T-ALNS (Algorithm 2) │ ├── rrd/ │ │ ├── __init__.py │ │ ├── event_generator.py # 事件检测与分类 (Eq.35) │ │ ├── candidate_actions.py # 候选动作生成 │ │ ├── rollout.py # Rollout 仿真 (Eq.36-39) │ │ ├── dispatch.py # 调度决策 (Eq.40-42) │ │ └── t_alns_rrd.py # T-ALNS-RRD (Algorithm 3) │ ├── experiments/ │ │ ├── run_main_comparison.py │ │ ├── run_ablation.py │ │ ├── run_robustness.py │ │ ├── run_sensitivity.py │ │ └── run_convergence.py │ └── visualization/ │ ├── plot_routes.py # 路线地图 │ ├── plot_convergence.py # 收敛曲线 │ ├── plot_results.py # 实验结果柱状图 │ └── plot_rrd.py # RRD 前后对比图 ├── data/ │ └── synthetic/ # 生成的合成数据 ├── results/ │ ├── tables/ │ ├── figures/ │ └── logs/ └── tests/ # 可选: 关键逻辑单元测试 ``` --- ## 9. 分阶段实施计划 ### 阶段 1: 基础可运行 (预计 2-3 天) **目标**: 数据生成 + 两个 baseline 可运行 ``` 实现内容: 1. data_generator.py # 生成客户、路网、交通矩阵 2. problem.py # Solution 数据结构、约束检查 3. cost.py # Eq.1 成本计算 4. schedule.py # 时间传播 5. static_vrptw.py # Static-VRPTW greedy 6. ta_greedy.py # TA-VRPTW-Greedy 验收标准: - 能生成 47 客户、4 车、12 时段的完整数据集 - Static-VRPTW 和 TA-Greedy 能输出可行路径 - 能计算 Total Cost, OTDR, CES - 两个算法的 CES 差异体现交通感知效果 ``` ### 阶段 2: 核心算法复现 (预计 3-4 天) **目标**: ALNS + T-ALNS 可运行,产消融表、收敛图 ``` 实现内容: 1. operators_destroy.py # 3 种 destroy 算子 2. operators_repair.py # 3 种 repair 算子 (含 Eq.16-17) 3. acceptance.py # SA 接受准则 (Eq.20-21) 4. alns_base.py # ALNS 主循环 (Algorithm 1) 5. move_tabu.py # 移动 Tabu (Eq.22-23, 32) 6. solution_tabu.py # 解 Tabu (Eq.24) 7. frequency_memory.py # 频率记忆 (Eq.25-26, 33) 8. t_alns.py # T-ALNS (Algorithm 2) 验收标准: - ALNS-Base 能运行 1000 代并输出最优解 - T-ALNS 相比 ALNS-Base 有改善 (Total Cost ↓, OTDR ↑) - 不同 Tabu 模块可独立开关进行消融 - 收敛曲线显示 T-ALNS 更快收敛 ``` ### 阶段 3: 实时调度增强 (预计 2-3 天) **目标**: T-ALNS-RRD 可运行,产事件响应表 ``` 实现内容: 1. event_generator.py # 4 种事件检测 (Eq.35) 2. candidate_actions.py # 候选动作枚举 (含验证) 3. rollout.py # Rollout 仿真 (Eq.36-39) 4. dispatch.py # 复合决策 (Eq.40-42) 5. t_alns_rrd.py # T-ALNS-RRD (Algorithm 3) 验收标准: - 能模拟至少 Traffic Incident 和 Urgent Order - Rollout 能在 120s 内返回调度决策 - 调度后 OTDR 相比不调度有所提升 - 路线变化可视化 (before/after 对比) ``` ### 阶段 4: 实验与可视化 (预计 2 天) **目标**: 跑完全部实验,产出论文风格图表 ``` 实现内容: 1. run_main_comparison.py 2. run_ablation.py 3. run_robustness.py 4. run_sensitivity.py 5. 6 张可视化图 验收标准: - 5 个实验全部可执行 - 产出至少 5 张可放入 PPT 的图表 - 表格数据保存在 results/tables/ - 图保存在 results/figures/ ``` --- ## 10. 技术栈与依赖 ``` Python 3.11 numpy - 矩阵运算、随机数 pandas - 数据管理、表格输出 matplotlib - 可视化 networkx - 路网建模 (Phase 2+ 可选) pyyaml - 配置文件 tqdm - 进度条 ``` --- ## 11. 关键参数默认值 (论文参数) | 参数 | 默认值 | 来源 | |------|--------|------| | λ₁ (lateness) | 1.0 | 论文 Eq.1 | | λ₂ (congestion) | 1.0 | 论文 Eq.1 | | θ (congestion scale) | 1.0 | 论文 Eq.9 | | β (risk aversion) | 0.3 | 论文 Eq.10 | | α (destroy ratio) | [0.1, 0.4] | 论文 Eq.15 | | τ₀ (initial temp) | 0.05 × Z(S⁰) | Algorithm 1 | | γ (cooling rate) | 0.99975 | Algorithm 1 | | ξ (reaction factor) | 0.1 | 论文 Eq.19 | | τ_move (move tenure) | 7 | 论文 Table 4 | | τ_sol (solution tenure) | 15 | 论文 Table 4 | | μ (overlap threshold) | 0.5 | 论文 Eq.23 | | δ_max (diversification) | 0.7 | 论文 Eq.27 | | H_rollout | 30-120 min | 论文 Eq.43 | | N_sim | 2-50 | 论文 Eq.44 | | ω₁, ω₂, ω₃ (composite) | 0.4, 0.3, 0.3 | 论文 Eq.40 | --- ## 12. 风险与应对 | 风险 | 应对 | |------|------| | 完全图计算量过大 (47² = 2209 arcs × 12h × 3 params) | 完全图可行,约 81000 条数据,numpy 可处理 | | ALNS 收敛慢 | 放宽 stall 条件,适当增加 max_iter | | T-ALNS Tabu 逻辑复杂 | 先实现 Move Tabu Only,验证效果再加其他 | | RRD rollout 耗时 | 降低 H_rollout 到 30min,减少 N_sim 到 10 | | 结果与论文差异大 | 这是合成数据复现,重点是趋势验证而非精确复刻 | --- ## 13. 复现声明模板 最终汇报时使用如下定位: > 由于原文数据集需向作者合理请求,且目前尚未获得完整数据与代码,本项目采用与论文实验规模和数据结构相近的自定义合成数据集,复现其核心算法流程和对比实验框架。复现重点在于验证不同算法模块对总成本、准时率、拥堵暴露和实时扰动响应能力的相对影响,而非逐项复刻原文数值结果。本项目属于基于合成数据的算法机制复现 (methodological reproduction)。 --- ## 14. 预估时间线 | 阶段 | 内容 | 预估时间 | |------|------|---------| | 阶段 1 | 数据集 + 2 个 baseline | 2-3 天 | | 阶段 2 | ALNS + T-ALNS | 3-4 天 | | 阶段 3 | RRD 实时调度 | 2-3 天 | | 阶段 4 | 实验跑全 + 可视化 | 2 天 | | **总计** | | **9-12 天** |