Skip to content

Add multi-platform CMake workflow configuration#3

Open
thtran97 wants to merge 1 commit into
mainfrom
add-github-workflow
Open

Add multi-platform CMake workflow configuration#3
thtran97 wants to merge 1 commit into
mainfrom
add-github-workflow

Conversation

@thtran97

Copy link
Copy Markdown
Owner

No description provided.

thtran97 pushed a commit that referenced this pull request Jun 18, 2026
Re-enables conflict learning for one iteration after each restart.
Controlled by KBILSSolverConfig::adaptive_learning (default false).
New bench variant KB-F = KB-C + adaptive_learning for comparison.

Result on Cordeau pr01-pr20 (10s, seed=42, 1 vehicle):
KB-F rewards identical to KB-C on all 20 instances.
KB-F accumulates 10-100x more clauses (68K vs 618 on pr01) with no
quality gain — post-restart infeasible pairs are largely duplicates of
conflicts learned in iterations 0-99. KB structural convergence is fast.

Conclusion: adaptive_learning does not improve solution quality on this
benchmark; KB-C (static, 100 iterations) remains the recommended config.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhpxDkKFqtsxX9XMHPwVqy
thtran97 pushed a commit that referenced this pull request Jun 18, 2026
RouteOrder: for a failed insertion (c, v), find the insertion position
minimising detour cost in vehicle v's route, then take a window of
(max_scope_size-1) consecutive route clients centred on that position
as the xplainer scope (kb_ls.cpp:guess_conflict_scope).

Revert adaptive_learning: remove the flag and just_restarted logic from
KBILSSolverConfig / do_solve — the negative result from #3 is committed
in the prior message; keeping a dead flag in the API adds no value.

Evaluation on Cordeau pr01-pr20 (10s, iterations=0, seed=42, 1 vehicle):
- KB-G (RouteOrder) generates ~0 KB clauses on 16/20 instances. Route
  neighbours are already feasible together, so no TW conflict exists
  within the chosen scope. NearestTW (picking clients with similar TW
  midpoints) is the right heuristic for conflict extraction.
- KB-C = KB-G = ILS09 on all 20 instances under fair comparison.
  Earlier apparent gains (e.g. pr03: 377→387) were artefacts of
  different iteration budgets (1000 vs unlimited). Under matched budgets,
  ConflictStore variant #1 neither helps nor hurts on this benchmark.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhpxDkKFqtsxX9XMHPwVqy
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.

1 participant