MCPcopy Create free account
hub / github.com/DEAP/deap / updateParticle

Function updateParticle

examples/pso/basic_numpy.py:37–48  ·  view source on GitHub ↗
(part, best, phi1, phi2)

Source from the content-addressed store, hash-verified

35 return part
36
37def updateParticle(part, best, phi1, phi2):
38 u1 = numpy.random.uniform(0, phi1, len(part))
39 u2 = numpy.random.uniform(0, phi2, len(part))
40 v_u1 = u1 * (part.best - part)
41 v_u2 = u2 * (best - part)
42 part.speed += v_u1 + v_u2
43 for i, speed in enumerate(part.speed):
44 if abs(speed) < part.smin:
45 part.speed[i] = math.copysign(part.smin, speed)
46 elif abs(speed) > part.smax:
47 part.speed[i] = math.copysign(part.smax, speed)
48 part += part.speed
49
50toolbox = base.Toolbox()
51toolbox.register("particle", generate, size=2, pmin=-6, pmax=6, smin=-3, smax=3)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…