How to make neighborhoods and how to evaluate solutions are important. SA: The temperature has role to control probability function. At first of program execution, it should be enough high to be able to leave a local minimum. At last of execution, it should be enough low to spend much time to search around the global minimum.
In a simulated annealing, there are basically two probability functions:
- one used to choose a neighborhood,
- one to decide whether accept a bad neighborhood or don't.
The most important thing in MM is observing the problem
and making good problem-specific-heuristics.
I think we should learn many nice
instances of greedy algorithm, rather than many meta-heuristics.
- https://togetter.com/li/607979 "lecture of simulated annealing"
- http://shindannin.hatenadiary.com/entry/20121224/1356364040 "tips of simulated annealing"
- http://hakomof.hatenablog.com/entry/2018/04/26/210717 "writeup of MM100 by hakomo"
- https://noshi91.github.io/algorithm-encyclopedia/
- https://hakomof.hatenablog.com/entry/2021/03/14/202411
- https://shindannin.hatenadiary.com/entry/2017/05/04/230832
- https://chokudai.hatenablog.com/entry/2017/04/12/055515