fix ALNS rewards and tabu diversification

This commit is contained in:
皇甫其逊
2026-06-02 22:11:54 +08:00
parent 6d829fe7d9
commit 5da471b67f
5 changed files with 43 additions and 5 deletions

View File

@@ -41,3 +41,21 @@ python src/experiments/run_main_comparison.py --config paper --seeds 30 --iterat
### Interpretation rule
- Check whether Static > TA-Greedy > ALNS-Base > T-ALNS > T-ALNS-RRD in total cost, CES decreases, and OTDR improves.
- If the paper trend is not reproduced, keep the generated tables and record the failed metrics honestly instead of tuning results by hand.
## 2026-06-02 follow-up algorithm fidelity fix
### Findings addressed
- ALNS, T-ALNS, and T-ALNS-RRD did not distinguish `sigma_2` current-solution improvements from `sigma_3` simulated-annealing accepted non-improving moves.
- T-ALNS diversification intensity used adaptive Tabu tenure instead of the paper's actual move-memory occupancy `|T_move| / |T_move|max`.
### Changes made
- Reward assignment now follows the paper's four levels:
- `reward_global_best` for new global best.
- `reward_improvement` for accepted moves that improve the previous current solution.
- `reward_accepted` for accepted non-improving moves.
- `reward_rejected` for rejected moves.
- Added `MoveTabu.utilization` and changed Eq.27 diversification intensity to use actual move Tabu list occupancy.
### Local validation
- Per user instruction, no local Python tests, smoke tests, or full experiments were run.
- Static checks only: source inspection and `git diff --check`.