Undefined
Undefined

Reputation: 1929

Implementing Simulated Annealing

I think I understand the basic concept of simulated annealing. It's basically adding random solutions to cover a better area of the search space at the beginning then slowly reducing the randomness as the algorithm continues running.

I'm a little confused on how I would implement this into my genetic algorithm.

Can anyone give me a simple explanation of what I need to do and clarify that my understand of how simulated annealing works is correct?

Upvotes: 1

Views: 1519

Answers (1)

Novak
Novak

Reputation: 4783

When constructing a new generation of individuals in a genetic algorithm, there are three random aspects to it:

  1. Matching parent individuals to parent individuals, with preference according to their proportional fitness,
  2. Choosing the crossover point, and,
  3. Mutating the offspring.

There's not much you can do about the second one, since that's typically a uniform random distribution. You could conceivably try to add some random factor to the roulette wheel as you're selecting your parent individuals, and then slowly decrease that random function. But that goes against the spirit of the genetic algorithm and (more importantly) I don't think it will do much good. I think it would hurt, actually.

That leaves the third factor-- change the mutation rate from high mutation to low mutation as the generations go by.

It's really not any more complicated than that.

Upvotes: 2

Related Questions