Can you describe the main idea of Particle Swarm Optimization in a few words?
A group of individuals (initially randomly positionned) randomly searching for the optimal (suboptimal) solution for a problem by (minimizing or maximizing a certain criterion; the cost) and the search is informed (the individuals know the best solutions
given by the others). The search is performed by moving the individuals towards those who are the best (with random steps). Examples of problems: identification of dynamical systems (induction motors, PMSM, ... training neural nets, ..., obtaining the
best controllers, etc).
In particular: does it run quicker because of the swarm (why),
No in general. but yes; when considering the random initialization for each individual.
And surely yes when using parallel computing (GPU). The PSO algorithm is parallelizable.
or is just easier to write than a single particle trying all possibilities
Exhaustive search is impossible when the dimension of the search space is high (number of unkowns grows: e.g. for Induction motor: we have 7 paramters: Rs, Ld, Lq, f, J, P, and for PMSM: Rs, Ld, Lq, phi, f, J, P, and neural nets with hundreds or
thousands of weights).
(and possibly marking unsuccessful areas like, e.g., Ant Colony Optimization)?
I think that PSO algorithm always converges given the good choice of its parameters : C1, C2 and ki and the sufficient number of individuals and iterations.
Another hint: we can restart the algorithm with the last obtained best solution (use it for randomly initializing the individuals in the neighborhood (near at some extent) of that best solution).
Also, we can avoid local traps (local minima or maxima). The PSO gives the global best solution or solutions (optimal or suboptimal with a certain given tolerance).
Ahmed
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)