Bare Bones Particle Swarm Optimization

Implement the Bare Bones Particle Swarm Optimization (BBPSO) algorithm (see the book).

In this variant of the Particle Swarm Optimization (PSO) algorithm one dispences with the particle's velocity and instead updates the position of the particle according to the following rule,

xiG((pi+g)/2 , ‖pi-g) ,
where xi is the particle's position, pi is the particle's best position, g is the global best, ‖…‖ signify the norm of the vector, and G(m,σ) is the multi-dimensional Gaussian (normal) distribution with the mean m and variance σ.

Hint: The normal distribution can be approximated as n=12 Irwin-Hall distribution (read the book),

G(0,1)≈Σi=1…12u(0,1) - 6
where u(0,1) is a rangom number from the uniform [0,1] distribution.