Source code for metaheuristic_designer.encodings.special.PSO_encoding

"""
Encoding for Particle Swarm Optimisation that appends a velocity vector to the genotype.
"""

from __future__ import annotations
from typing import Optional
from ..parameter_extending_encoding import ParameterExtendingEncoding
from ...encoding import Encoding


[docs] class PSOEncoding(ParameterExtendingEncoding): """ Encoding for Particle Swarm Optimisation that stores a velocity vector. The genotype is split into the solution vector and a velocity vector of the same dimension. Both are used by the PSO operator. Parameters ---------- dimension : int Number of decision variables. base_encoding : Encoding, optional Encoding applied to the solution part. Defaults to :class:`DefaultEncoding`. """ def __init__(self, dimension: int, base_encoding: Optional[Encoding] = None): named_params = [("speed", dimension)] super().__init__(dimension, named_params, base_encoding)