I am new to PSO method. I wrote the codes following the standard approach. First initialise the position and velocity of each individual within the swarm, then set the target iterative rounds to search for optimal solution and run the program.
Somehow the optimal solution comes out early at the initialisation stage and stays there forever for plausible reasons. The program does not need to go into the iterative updates of the swarm position to attain the optimal solution.
The reason might be that there are multiple optimal solutions to my problem and it is pretty easy to catch one of them, esp. when I am using rand() generators to distribute the initial positions of the particles.
I did try to validate my iterative search codes by changing the swarm size to just 1 particle and got no good return of optimal solution.
I guess my question is whether my approach is still PSO oriented though it did produce the correct outcome. How I can make the program run properly so I can show the convergence and efficiency of the PSO algorithm vs the iteration number?