Question

I'm experimenting with particle swarm optimisation and am trying to determine the best approach for the following simple scenario:

  • Optimizing a 1-dimensional function (i.e. particles are moving along a single line)
  • The function to be optimised can be sampled at any point on the line
  • The "value" sampled for each position is very noisy
  • The underlying function to optimise (excluding the noise) is quite simple (e.g. a pyramid with a single global maximum, or two humps with different heights)

What would be the best particle swarm design to solve this problem, i.e to efficiently discover the optimum with the minimum number of samples?

Was it helpful?

Solution

I do not think that Particle Swarm Optimization is suitable for your case...

PSO stores the maximum value found so far and its location.. So if that largest value was caused only by the noise, it will stuck there all along the way..

You must modify the ordinary PSO in order to consider the weighted average of recently found maximums (not the ultimate global maximum)

I recommend to you looking at: Fuzzy Particle Swarm Optimization But that subject is still in research phase, so you may find it hard to get to it...

You may also go to Simulated annealing, that suits your case better...

OTHER TIPS

Try adding a range to the fitness function and evaluating statistical values like mean, variation, and the difference between your particle's y value and the surrounding standard deviation.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top