Implementation details: This PSO version uses a static intertial weight. You can easily change the velocity update function in file "psoiterate.m" if you want to implement some dynamic change, or even using a different PSO technique such is a constriction factor instead of inertial weighting.
Much thanks for this excellent software. I just have a question about the specifics of your implementation. Are you using an inertia weight in the update velocity, and if so does that weight decrease? It is recommended by some of the original PSO guys in "Defining a Standard for Particle Swarm Optimization" - Daniel Bratton and James Kennedy. It can cause a good space search in beginning and fine tuning toward the end.
Also, how do you deal with particles going over the bound? Are you preventing them from going out entirely, or letting them go out without evaluation the cost function (which will make the particle eventually pull back into the allowable search space)? The reason I ask is that preventing the particles from going out entirely can cause some bias toward the center of the search space.
Thanks again! I have had great success using your implementation.