Let denote the current position of a particle from the swarm. The particle's velocity is then updated as follows:
Here, the user-defined parameter is called the inertia weight and the user-defined parameters and are weights on the attraction toward the particle's own best-known position, , and the swarm's best-known position, . These are also weighted by the random numbers . In addition to this, the user also determines the swarm-size, . In the SwarmOps implementation, the velocity is bounded to the full range of the search-space, so an agent cannot move further than one search space boundary to the other in a single move.
Once the agent's velocity has been computed it is added to the agent's position, as follows: