Skip to content

feat: Simulated Annealing (SA) algorithm - #67

Merged
eprifti merged 1 commit into
mainfrom
feat/sa
Mar 24, 2026
Merged

eprifti merged 1 commit into
mainfrom
feat/sa

Conversation

@eprifti

@eprifti eprifti commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

Best test AUC on Qin2014 (0.911 vs GA 0.791, ACO 0.802). Fastest (0.3s). 5 tests pass. Closes #61.

Single-solution metaheuristic with Metropolis acceptance criterion:
- Propose moves: add/remove/swap features, flip coefficient signs
- Temperature-controlled acceptance of worse solutions
- Snapshot-based generation tracking for visualization

Qin2014 benchmark (ternary:prevalence, k_max=50):
  SA:  Test AUC 0.911, FBM 0.892, k=48, 0.3s
  GA:  Test AUC 0.791, FBM 0.788, k=48, 0.5s
  ACO: Test AUC 0.802, FBM 0.834, k=52, 7.1s

Params: initial_temperature, cooling_rate, min_temperature,
        max_iterations, snapshot_interval, k_min/k_max

5 tests: basic run, reproducibility, k bounds, neighbor proposal

Closes #61
@eprifti
eprifti merged commit 9b3c374 into main Mar 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Simulated Annealing (SA) heuristic

1 participant