L12 - Flocking: Particle Swarm Optimisation Flashcards
- What is Particle Swarm Optimisation and what movement is it based on?
An iterative optimisation algorithm to find an optimal solution. It’s based on flocking.
- Who invented PSO and when?
Kennedy and Eberhardt - 1995
What 2 properties does each particle have and not have?
Have: Velocity, Acceleration
Doesn’t Have: Mass, Volume
What does each particle represent
Candidate Solution
What is the rooster effect and how does it demonstrate optimisation in PSO?
Chickens scooping around on the floor for food is similar to PSO. Roosters within the group will lead other roosters to the optimal solution until all roosters have swarmed to the food.
What type of representation was PSO developed for? Give some applications of PSO…
- Continuous E.g X = ( 3.554, 7.56345, 12.334, -9.948)
- Applications: Aeroplane wing design, design of antennae, amplifiers etc.
Does PSO give us both global and local information?
Yes
Why is it beneficial that PSO gives us both global and local information?
Because it means the algorithm can navigate local optimums.
Explain how PSO works…
- Create and initialise N particles within the solution space. Each particle is a candidate solution.
- At each time step, each particle must:
- Update its position (by adding velocity to its current position).
- Update its velocity.
- Evaluate fitness of each particles position
- Terminate once termination criteria is met.
During PSO, how do we determine the new position of a particle?
- By using its current position and current velocity.
- Next position(t+1) = Current Position(t) + Current Velocity(t)
- Particle position at next time step = position at current time step + velocity at current time step.
How do we determine the new velocity of the particle? What is the formula?
- New = Current velocity + ( random weight * (particles best encountered position - current position) ) + ( random weight * ( populations best encountered position - particles current position ) )
- Vij(t+1) = Vij + C1Z1(Pij - Xij) + C2Z2(Gj - Xij)
In the velocity update formula, explain what each of the variables represent?
T -> Time step
T+1 -> Next time step
i -> Indicates the particle
j -> Indicates the dimension
C -> Constants controlling weight of local and global information
Z -> Values between 0 and 1 to repent premature convergence
Gj -> The global best position found
Pij -> The particles best position in dimension j
What are the the parameters of PSO?
- Swarm Size
- Neighbourhood size -> For calculating local best
- Iteration count
- Acceleration coefficients C1, C2
If we increase C2, what affect does this have on global information?
Increases the weight of global information.
What do the acceleration coefficients control in PSO? What effect does it have if they’re too low or high?
Manage the relationship between personal and global best solutions.
Too low -> Cause progress to slow.
Too high -> Can cause premature convergence.