opytimizer.optimizers.swarm.pso

Particle Swarm Optimization-based algorithms.

class opytimizer.optimizers.swarm.pso.PSO(params: Optional[Dict[str, Any]] = None)

A PSO class, inherited from Optimizer.

This is the designed class to define PSO-related variables and methods.

References

J. Kennedy, R. C. Eberhart and Y. Shi. Swarm intelligence. Artificial Intelligence (2001).

__init__(params: Optional[Dict[str, Any]] = None) → None

Initialization method.

Parameters:params – Contains key-value parameters to the meta-heuristics.
w

Inertia weight.

c1

Cognitive constant.

c2

Social constant.

local_position

Array of velocities.

velocity

Array of velocities.

compile(space: opytimizer.core.space.Space) → None

Compiles additional information that is used by this optimizer.

Parameters:space – A Space object containing meta-information.
evaluate(space: opytimizer.core.space.Space, function: opytimizer.core.function.Function) → None

Evaluates the search space according to the objective function.

Parameters:
  • space – A Space object that will be evaluated.
  • function – A Function object that will be used as the objective function.
update(space: opytimizer.core.space.Space) → None

Wraps Particle Swarm Optimization over all agents and variables.

Parameters:space – Space containing agents and update-related information.
class opytimizer.optimizers.swarm.pso.AIWPSO(params: Optional[Dict[str, Any]] = None)

An AIWPSO class, inherited from PSO.

This is the designed class to define AIWPSO-related variables and methods.

References

A. Nickabadi, M. M. Ebadzadeh and R. Safabakhsh. A novel particle swarm optimization algorithm with adaptive inertia weight. Applied Soft Computing (2011).

__init__(params: Optional[Dict[str, Any]] = None) → None

Initialization method.

Parameters:params – Contains key-value parameters to the meta-heuristics.
w_min

Minimum inertia weight.

w_max

Maximum inertia weight.

fitness

List of fitnesses.

_compute_success(agents: List[opytimizer.core.agent.Agent]) → None

Computes the particles’ success for updating inertia weight (eq. 16).

Parameters:agents – List of agents.
update(space: opytimizer.core.space.Space, iteration: int) → None

Wraps Adaptive Inertia Weight Particle Swarm Optimization over all agents and variables.

Parameters:
  • space – Space containing agents and update-related information.
  • iteration – Current iteration.
class opytimizer.optimizers.swarm.pso.RPSO(params: Optional[Dict[str, Any]] = None)

An RPSO class, inherited from Optimizer.

This is the designed class to define RPSO-related variables and methods.

References

M. Roder, G. H. de Rosa, L. A. Passos, A. L. D. Rossi and J. P. Papa. Harnessing Particle Swarm Optimization Through Relativistic Velocity. IEEE Congress on Evolutionary Computation (2020).

__init__(params: Optional[Dict[str, Any]] = None) → None

Initialization method.

Parameters:params – Contains key-value parameters to the meta-heuristics.
mass

Array of masses.

compile(space: opytimizer.core.space.Space) → None

Compiles additional information that is used by this optimizer.

Parameters:space – A Space object containing meta-information.
update(space: opytimizer.core.space.Space) → None

Wraps Relativistic Particle Swarm Optimization over all agents and variables.

Parameters:space – Space containing agents and update-related information.
class opytimizer.optimizers.swarm.pso.SAVPSO(params: Optional[Dict[str, Any]] = None)

An SAVPSO class, inherited from Optimizer.

This is the designed class to define SAVPSO-related variables and methods.

References

H. Lu and W. Chen. Self-adaptive velocity particle swarm optimization for solving constrained optimization problems. Journal of global optimization (2008).

__init__(params: Optional[Dict[str, Any]] = None) → None

Initialization method.

Parameters:params – Contains key-value parameters to the meta-heuristics.
update(space: opytimizer.core.space.Space) → None

Wraps Self-adaptive Velocity Particle Swarm Optimization over all agents and variables.

Parameters:space – Space containing agents and update-related information.
class opytimizer.optimizers.swarm.pso.VPSO(params: Optional[Dict[str, Any]] = None)

A VPSO class, inherited from Optimizer.

This is the designed class to define VPSO-related variables and methods.

References

W.-P. Yang. Vertical particle swarm optimization algorithm and its application in soft-sensor modeling. International Conference on Machine Learning and Cybernetics (2007).

__init__(params: Optional[Dict[str, Any]] = None) → None

Initialization method.

Parameters:params – Contains key-value parameters to the meta-heuristics.
v_velocity

Array of vertical velocities.

compile(space: opytimizer.core.space.Space) → None

Compiles additional information that is used by this optimizer.

Parameters:space – A Space object containing meta-information.
update(space: opytimizer.core.space.Space) → None

Wraps Vertical Particle Swarm Optimization over all agents and variables.

Parameters:space – Space containing agents and update-related information.