In Lbest PSO, how is the local best position in a neighbourhood defined? I am implementing a couple of PSO (particle swarm optimization) algorithms, and I got stuck on a bit of detail which I could not clearly determine from the papers I have read. In lbest PSO, for each particle, the velocity update step takes the best particle's position in that particle's neighbourhood into account. What I am not 100% clear on is how that "best particle" is defined. To my understanding, it could be

(a) the best current position of each particle in the neighbourhood,

(b) the best pbest position (in memory) of each particle in the neighbourhood, or

(c) the best lbest psoition of each such particle, which could be initially determined from (a) or (b) as above, but over time allow information about other neighbourhoods' best positions to distribute across the swarm.

I realize that each of the above may be a valid and published version of PSO. I just want to know which version is usually referred to as "lbest PSO".
In general option b) is how a Lbest PSO is implemented. 

This makes sense, as the Lbest particle is meant to be the social influence, and from an optimization perspective you would utilize the best candidate solution information from you neighborhood, which would inherently be the best of the pbest positions.