1

Simulated annealing is a meta-heuristic for optimization. Essentially it does hill-climbing with the possibility of jumping from one hill to another -- even if the jump is to a lower place on the second hill.

Such negative jumps are allowed less and less often as the "temperature" cools and the system settles into a solution. See this pseudo-code. The point of allowing the jumps is to enable the system to move from a hill leading to a local maximum to one leading to a global maximum.

My confusion concerns how the system keeps itself from jumping from a hill leading to a global maximum to one leading to only a local maximum.

RussAbbott
  • 2,660
  • 4
  • 24
  • 37

1 Answers1

0

I think your understanding of simulated annealing (SA) is slightly flawed.

When solving a problem with SA, at any point in time your feasible solution will be in a hill, somewhere in the solution space. Unless you do standard hill climbing on every hill you visit (you're not) there is no way for you to know where the hill you're currently on leads. All you know is at what height you currently are. So in any iteration, you could very well be jumping from a hill leading to a global optimum to a hill leading to a local optimum.

That being said, with SA you will tend to end up on higher hills, since the lowering temperature gradually drives you towards hills where there is still the possibility of taking a step up.