Skip to content

feat: Iterated Local Search (ILS) - #69

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

eprifti merged 1 commit into
mainfrom
feat/ils

Conversation

@eprifti

@eprifti eprifti commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

Fastest algorithm (0.05s), sparsest models (k=22). 2 tests pass. Closes #62.

Loop: local search → perturbate → local search → repeat.
Reuses SA's propose_neighbor for moves.

Qin2014 benchmark (ternary:prevalence):
  ILS:   Test AUC 0.813, k=22,  0.05s (fastest, sparsest)
  SA:    Test AUC 0.911, k=48,  0.3s
  LASSO: Test AUC 0.853, k=177, 0.1s

Params: max_iterations, perturbation_size, local_search_steps,
        max_no_improve, k_min/k_max

2 tests: basic run, reproducibility

Closes #62
@eprifti
eprifti merged commit a6eea8d 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 Iterated Local Search (ILS)

1 participant