evox.algorithms.so.pso_variants.pso
¶
模块内容¶
类¶
基本粒子群优化算法 (PSO) |
API¶
- class evox.algorithms.so.pso_variants.pso.PSO(pop_size: int, lb: torch.Tensor, ub: torch.Tensor, w: float = 0.6, phi_p: float = 2.5, phi_g: float = 0.8, device: torch.device | None = None)[源代码]¶
基础:
evox.core.Algorithm
基本粒子群优化算法 (PSO)
Class Methods
init 初始化 PSO 算法(Particle Swarm Optimization)与给定的参数(人口大小、下限和上限、惯性权重、认知权重和社会权重)。
step
: 执行单次粒子群优化(PSO)步骤,更新局部最佳位置和适应度值,并基于惯性、认知和社会组件调整速度和位置。
请注意,
evaluate
方法在此类中未定义,它是由工作流设置的Problem.evaluate
的代理函数;因此,它无法在除step
之外的类方法中使用。初始化
使用给定参数初始化PSO算法。
- 参数:
pop_size -- 种群大小。
w -- 惯性权重。默认值为0.6。
phi_p -- 认知权重。默认为 2.5。
phi_g -- 社会权重。默认值为 0.8。
lb -- 粒子位置的下界。必须是一个一维张量。
ub -- 粒子位置的上界。必须是一个一维张量。
device -- 设备的使用者(设备用于存放张量的硬件)。默认为 None。