Free cookie consent management tool by TermsFeed Policy Generator

Changes between Initial Version and Version 5 of Ticket #2797


Ignore:
Timestamp:
06/29/17 23:18:16 (7 years ago)
Author:
abeham
Comment:

r15096:

  • Added SPSO 2007 and SPSO 2011 particle updaters
  • Unhide particle updater parameter
  • Changed default parameters of sample
  • Changed max velocity to very high value by default (no speed limit)
  • Adapted unit test

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.
     1There 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
    210
    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.
     11Especially, the truncation of the velocity vector is a problem as the direction towards neighborhood best and personal best is not retained.
    412
    513On 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.