Changes between Initial Version and Version 5 of Ticket #2797
- Timestamp:
- 06/29/17 23:18:16 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #2797
- Property Owner set to abeham
- Property Status changed from new to accepted
- Property Summary changed from PSO should use max velocity instead of truncation at "velocity bounds" to Improve PSO implementation
- Property Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.15
-
Ticket #2797 – Description
initial v5 1 In the current PSO implementation most often particles move diagonally in all directions because the velocity is simply truncated instead of reducing the velocity vector to a length that is equal to the max velocity. 1 There are a number of issues in the current PSO implementation: 2 * Initial velocity vector is 0 3 * Velocity vectors are truncated at "velocity bounds" meaning direction is lost, most often particles move in diagonals 4 * Neighborhood particle updater doesn't really use neighbor best (it's the same as the totally connected particle updater) 5 * Randomization during velocity update is rather low and only changes the length of the update vector, no perturbation on its direction is performed 6 * The problem specific solution creator is ignored 7 * Bound reflection is awkward 8 * Particle behavior is difficult to predict 9 * The neighbor best and global bests are calculated from the current population and not from the personal bests 2 10 3 E .g. given a max velocity of 10, a velocity vector of [100; 20] will be reduced to a velocity of [10; 10] in the current implementation. Thus the original direction is not retained and most particles move in diagonal. Instead the new velocity vector should be [9.81; 1.96] (length = 10, direction is the same as [100; 20]). The velocity bound parameter that is currently a DoubleMatrix could be replaced by a simpler DoubleValue.11 Especially, the truncation of the velocity vector is a problem as the direction towards neighborhood best and personal best is not retained. 4 12 5 13 On the other hand, [http://clerc.maurice.free.fr/pso/SPSO_descriptions.pdf Standard PSO] mentions neither velocity bounds nor a max velocity. I agree however that a "speed limit" may be useful in practice.