SwarmOps Particle Swarm Optimization (PSO)

SwarmOps algorithms are being removed and may not be compatible with future releases of Analyzer. Users should be cautious when using them in models

Note: SwarmOps algorithms are being removed and may not be compatible with future releases of Analyzer. Users should be cautious when using them in models

Version
SwarmOps 3.0

Description
SwarmOps PSO is a heuristic algorithm that uses a group of candidate designs (called a swarm) to explore the design space. Each candidate design in a swarm has a velocity that is updated to find the next position. When the velocity is updated, PSO considers both the location of the best known design (global search) and the best design found in its own path (local search). PSO is a constrained optimization problem that can find a global optimum in a multi-modal objective function. PSO supports continuous design variables.

More Information
SwarmOps PSO maintains a set of candidate designs called swarm, each having an associated velocity. It combines information about the best known design and history of the each design to determine next positions. Let x denote the current position of an agent, the agent's velocity is updated as follows:

where ω is the inertia weight, φp and φg are weights on the attraction towards the agent's own best known position p and the global best known position g so far. These are also weighted by rp and rg, uniform random numbers between 0 and 1. Using the velocity, new position of an agent is computed by:

Note that the agent's position is updated regardless of whether the new position improves the fitness. The attraction weights, φp and φg, can be used to control how quickly the agents will converge on a best design or perform more local searches.

References
SwarmOps Manual (p. 18)

Control Parameters

Name Default Value Description
Optimization Parameters
Omega 0.729 Inertia weight. Option must have a value greater than -2.
PhiG 1.49445 Weight on the attraction towards swarm's best position. Option must have a value greater than -4.
PhiP 1.49445 Weight on the attraction towards agent's own best position. Option must have a value greater than -4.
Seed Seed for random number (optional). Specifying the same seed value between two different optimization runs would help generate identical results provided all other parameters stay the same. This is a good way to analyze the effect of different parameters on the optimization.
SwarmSize 50 Number of agents or swarm size. Option must have a positive integer value.
Stopping Criteria
AbsoluteConvergenceTolerance 0.0001 Maximum absolute change in fitness value between successive evaluations to indicate convergence. The value specified must be greater than 0.
ConsecutiveFunctionEvaluations 200 The number of consecutive iterations for which the absolute or relative convergence criteria must be met to indicate convergence. Thus option must have a positive integer value.
MaxFunctionEvaluations 1000 The maximum number of iterations. Thus option must have a positive integer value.