• No results found

1.1 Different methods of managing a multi-agent system

1.1.2 Methods based on Particle Swarm Optimization

Particle Swarm Optimization (PSO) was introduced by [Eberhart and Kennedy,1995;Shi and

Eberhart, 1998], who cited Reynolds flocking as an inspiration. It mimics the evolution of a

swarm of particles in an arbitrary number of dimensions to optimize nonlinear functions. In this context, it can be seen as an application of a simple behavioral model to an abstract multi-agent system. This optimization method is particularly appreciated as it makes no assumptions on the function being optimized. Since the algorithm makes no use of the gradient of the function, it does not need the function to be differentiable and can handle noisy data. However it is not ensured that the algorithm will find an optimal solution – if there is one. The method is based on an evaluation function f, on the knowledge by each agent of its own best position over time with respect to the evaluation function and on the shared knowledge of the globally best position.

A simple version of the PSO algorithm – for which a pseudocode version is given inalgo- rithm 1.1– can be described as follows:

Initialization: A set of particles is created with – uniformly distributed over [xmin, xmax] – random positions over the solution space. The speeds of the particles are also initialized – with uniformly distributed over [−|xmax− xmin|, |xmax− xmin|] – random speeds. The best particle of each particle is initialized to its initial position while the global best particle is searched among them.

Evolution: At each step of the evolution, the speed of each particle is updated based on its

current speed and position and on the knowledge of the best local and global particles. The particles are then moved according to the new speed and evaluated.

1: Data:

ω,φp,φg Gains

n Number of particles

function PSO

5: for i← 0, n − 1 do

xi← rand(xmin, xmax) Initialization of the positions

pi← xi ⊲ pi is the local best

if f(pi) <f(g) then f is the evaluation function

g← pi ⊲ g is the global best

10: vi← rand(−|xmax− xmin|, |xmax− xmin|) Initialization of the speeds

while Termination criterion do Either number of steps or quality of the result

for i← 0, n − 1 do

rp=rand(0, 1) Random local gain

rg=rand(0, 1) Random global gain

15: viωvi+φprp(pi− xi) +φgrg(g− xi) Update of the speed xi← xi+ vi Update of the position

if f(xi) <f(pi) then

pi← xi Update of the local best

if f(pi) <f(g) then

20: g← pi Update of the global best

return g

Algorithm 1.1 – Particle Swarm Optimization

It is believed that the swarm will converge to the global optimum if it exists or, if not, converge to a local optimum. However this convergence depends on the various parameters that can be chosen and the swarm can, in some cases, diverge or oscillate. The choice of these parameters has thus to be performed with great care whereas with a certain freedom.

We present Particle Swarm Optimization thoroughly because this algorithm will be used in the present thesis – however in a different way, at a rather higher level – to optimize sets of parameters in our motion planning algorithm. Nonetheless, some concrete low-level applications to trajectory planning problems have been conducted, making the PSO a currently used motion planner for multi-agent systems.

For instance, in [Pugh and Martinoli,2007], the authors use wheeled robots to find an object using PSO. The particles of the algorithm are matched one-to-one with the robots. The latter detect the intensity of a signal emitted by the searched object. This intensity is used as the evaluation function of the PSO, the evaluation function is thus rather sparse and the gradient of the intensity would require more data to be evaluated. In comparison to basic PSO, the authors adapt the algorithm to take into account the limited speed of the robots, their limited acceleration and collision avoidance. In comparison to abstract PSO, the travel times are not homogeneous and, at each step, the robots have to stop to synchronize. In a first version of the presented algorithm , the robots have access to their own absolute position and have a global data connexion allowing all the robots to know the exact position of the local and global best position. In another more realistic version, the authors propose to allow the robots a short

memory of the past bests, with only relative positioning and information sharing with the only neighbors. Even in this simplified version, the search algorithms give good results and the robots converge to the origin of the signal.

The authors of [Couceiro et al.,2011]built on the work of [Pugh and Martinoli,2007]. They improved the collision avoidance by adding an evaluation function for collision risks, based e.g. on the output of distance sensors, for example infrared or ultrasound sensors. A term based on the optimisation of this sensing function is added when updating the speed. The authors also make use of the Darwinian PSO [Tillett et al.,2005], a modified version of PSO which was shown to be less likely to be trapped in local extrema. This method pretends indeed to mimic the Darwinian behavior of social groups. The swarm is split in several sub-swarms that represent the social groups. Over the time, these sub-swarms reject the worst agents of their swarm and integrate the best lone robots. Doing this, the sub-swarms may escape locale extrema thanks to the knowledge of the integrated lone agents.

Such bio-inspired multi-agent algorithms are however diverse, as proves the work by [Turduev

et al., 2014] in which a decentralized and asynchronous version of PSO as well as other

biologically inspired optimization algorithm such as Bacterial Foraging Optimization and Ant Colony Optimization are used to find a gas leak using mobile ground robots equipped with gas sensors.