Closed mateuszbaran closed 8 months ago
That does sounds reasonable, but it would be great to back that up with (Riemannian or Euclidean) literature on that.
The closest thing I could find is move forcing: https://arxiv.org/pdf/1906.08867.pdf . Do you have any literature that uses the current stopping criterion?
No, sadly I do not, I think that came up as a spontaneous idea during the bachelor thesis, this code was part of.
OK, then it's not any better in this regard :wink:
That is exactly where my careful request about the citation comes from. If we improve it then with a reasonable source for that
It's effectively very similar in the idea, very easy to implement and much faster, I don't see any drawbacks. Standard stopping criteria for PSO are usually more simple, see https://web2.qatar.cmu.edu/~gdicaro/15382/additional/CompIntelligence-Engelbrecht-ch16.pdf . Here is a practical example: https://www.mathworks.com/help/gads/particleswarm.html .
I see, then sure, let's go for the one that's easier to compute :)
Compared to your idea of the change of the iterate / global best, Matlab at least has something like “if it has not changed for the last X iterations”, which for me also sounds reasonable.
Currently it is distance between old and new swarm but IMO norm of velocities would make more sense. Ref #345 .