粒子群算法(Particle Swarm Optimization, PSO)是一种基于群体智能的优化算法。它通过模拟粒子在多维空间中的运动,以找到全局最优解。
下面是一个使用Python编写的粒子群算法的示例:
``` import random import numpy as np
def fitness_function(position): # 这里是适应度函数,根据位置计算适应度值 # 可以替换为任意其他函数 return sum(position**2)
def update_velocity(particle, best_particle, velocity, c1, c2): r1 = random.uniform(0, c1) r2 = random.uniform(0, c2) velocity = 0.8 * velocity + r1 * (best_particle - particle) + r2 * (np.array([random.uniform(-5, 5) for i in range(len(particle))]) - particle) return velocity
def update_position(particle, velocity): particle = particle + velocity return particle
def pso(n_particles, dimensions, iterations): # 初始化粒子的位置和速度 particles = [np.array([random.uniform(-5, 5) for i in range(dimensions)]) for j in range(n_particles)] veloci