문제

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?

도움이 되었습니까?

해결책

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...

다른 팁

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top