4eta/boku-no-kanngaeta-saikyo-yakinamashi-tips
Overview
This skill helps you improve a Simulated Annealing (SA) solver by analyzing current code, logs, and scores, then proposing concrete algorithmic and implementation changes. It organizes improvement ideas, prioritizes actions, and gives a small next-step implementation plan you can follow immediately.
How this skill works
Provide the SA code snippet and recent run logs or score traces. The skill inspects temperature schedule, neighbor generation, acceptance criterion, cooling & restart logic, termination rules, and logging. It returns targeted suggestions and a step-by-step next change to implement and test.
When to use it
- Current SA runs converge too quickly or get stuck in local minima
- Solution quality plateaus across many runs or seeds
- You need a prioritized, low-effort improvement plan for SA
- Logs show erratic acceptance rates or temperature drops
- You want to compare alternative schedules or neighbor operators
Best practices
- Start with small, isolated changes and A/B test each improvement
- Collect time-series of score, temperature, acceptance rate, and move sizes
- Use a fixed random seed when comparing algorithmic changes
- Prefer reproducible small experiments (short runs) before full-scale runs
- Profile neighbor-generation for hotspots before optimizing code
Example use cases
- Suggest a better cooling schedule and provide parameter ranges to try
- Recommend improved neighbor operators and a plan to test them
- Add adaptive temperature or reheating when acceptance rate falls
- Convert single-run SA into parallel tempering or multi-start restarts
- Improve logging and metrics to make future tuning faster
FAQ
I propose specific schedules (geometric, logarithmic, adaptive) with recommended initial temperature, cooling factor ranges, and test durations, plus a short experiment plan.
Will you change my neighbor operator for me?
I will recommend concrete neighbor modifications (swap, shift, variable-step, adaptive radius) and a minimal test to measure impact; implementation remains with you.
How do I validate an improvement reliably?
Run multiple seeded trials, compare best and median scores, track acceptance rates and runtime, and perform statistical checks (e.g., paired tests) on results from short controlled experiments.