Fortran implementation of PSO for N-dimensional objective functions.