(part, best, phi1, phi2)
| 35 | return part |
| 36 | |
| 37 | def 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 | |
| 50 | toolbox = base.Toolbox() |
| 51 | toolbox.register("particle", generate, size=2, pmin=-6, pmax=6, smin=-3, smax=3) |
nothing calls this directly
no outgoing calls
no test coverage detected
searching dependent graphs…