0

I have used a random mutation hill climbing algorithm as part of a project that I am working on, but was wondering whether it would be better to use simulated annealing to minimise the chance of getting stuck in any local optima.

The question I have is which one tends to be generally faster from your experience? Obviously there is a huge wealth of applications for both algorithms; this is more of a generalised pondering, if you like.

Thank you.

Mus
  • 7,290
  • 24
  • 86
  • 130
  • 2
    It probably depends on the problem and the topology of the hill you're climbing. – duffymo Mar 26 '12 at 20:46
  • Your question is quite open-ended. Can you constrain the domain or give more concrete requirements to make your question less discussion-based? – sgmorrison Mar 26 '12 at 20:55
  • I am searching an image (~424 x ~424) in order to locate the best ellipse within the image. – Mus Mar 26 '12 at 21:02
  • 2
    Be aware that you can apply simulated annealing to many random mutation procedure. All that is needed is that you can scale the "size" of the mutation by some "temperature" parameter that you turn down as time passes... – dmckee --- ex-moderator kitten Mar 26 '12 at 22:34
  • 1
    BTW--If you can make the question more specific it would be a good fit for the [Scientific Computation beta site](http://scicomp.stackexchange.com/) (the possible advantage to you being a focused audience with--hopefully--domain specific experience). – dmckee --- ex-moderator kitten Mar 26 '12 at 22:35
  • @dmckee - It's been a very long day - I was looking for something like that on the list of StackExchange sites before posting on SO.com, but must have missed it! Thank you. – Mus Mar 26 '12 at 23:05
  • @dmckee - if you post your previous post as an answer I can accept it. – Mus Mar 26 '12 at 23:06

1 Answers1

1

There's no way to tell in advance (unless your project is a 100% match to a well studied academic problem like a pure TSP - and even then ...). It depends on your project's constraints and your project's size (and if you implement the algorithms correctly).

So, to be sure, you have to implement both algorithms (and many others, like Tabu Search, ...) and use a Benchmarker like this one to compare them.

That being said, I 'd put my money on Simulated Annealing over Random Mutation Hill Climbing any day :)

Note: Simulated Annealing is a short but difficult algorithm: I only got it right in my 3th implementation and I 've seen see plenty of wrong implementations (that still output a pretty ok solution) in blogs, etc. It's easier just to reuse optimization algorithms.

Geoffrey De Smet
  • 26,223
  • 11
  • 73
  • 120
  • Thank you - I used SA approximately one year ago for the TSP alongside three other algorithms and SA produced significantly better results. SA is difficult, yes; but, once correct, it works brilliantly! – Mus Mar 30 '12 at 21:12