Optim.jl
Optim.jl copied to clipboard
Adding a scout-PSO option
Solves https://github.com/JuliaNLSolvers/NLSolvers.jl/issues/8
This adds the Scout machanisme to the PSO algorithm to enhance the volatility of the process and avoid particles that cannot updates their pbest for some time.
The algorithm is based on this paper, and aims at regenerating via a Scout phase (inspired by bee colony optimisations routines) the particles that are 'stuck' for a while, i.e. that did not update their personal best for some time.
Note that the implementation is rough and in particular i did not extract a parameter to activaite/deactivaite the Scoute phase to the constructor of ParticleSwarm(). Therefore it should probably NOT be merged as-is.