本文作者:天疆说
本站地址:https://cislunarspace.cn
粒子群优化(Particle Swarm Optimization, PSO)是一种基于群体智能的元启发式优化算法,通过模拟鸟群觅食行为利用个体经验和群体协作寻找多维空间中的最优解。PSO 算法简单、收敛快、参数少,广泛应用于连续空间优化问题。
1995 年 Kennedy 和 Eberhart 基于社会认知模型提出:
| 来源 | 对应 |
|---|
| 鸟群觅食 | 优化搜索 |
| 个体经验 | 个体最优 pbest |
| 群体协作 | 全局最优 gbest |
每个粒子代表问题的一个候选解:
xi=(xi1,xi2,...,xiD)
其中 D 为维度。
vin+1=wvin+c1r1(pbesti−xin)+c2r2(gbest−xin)
xin+1=xin+vin+1
| 参数 | 含义 | 典型值 |
|---|
| w | 惯性权重 | 0.4-0.9 |
| c1 | 个体学习因子 | 2.0 |
| c2 | 社会学习因子 | 2.0 |
| r1,r2 | [0,1] 随机数 | - |
| vmax | 最大速度 | 0.1×xmax |
| 策略 | 公式 | 特点 |
|---|
| 固定 | w=const | 简单 |
| 线性递减 | w=wmax−(wmax−wmin)×nmaxn | 平衡探索 |
| 自适应 | w=f(w,fit) | 动态调整 |
初始化粒子群位置和速度
↓
计算各粒子适应度值
↓
更新个体最优 pbest_i
↓
更新全局最优 gbest
↓
更新粒子速度和位置
↓
检查终止条件?
↓ ↓
是 否
输出 返回
结果
| 优化变量 | 维度 | 范围 |
|---|
| 航向角序列 | N×1 | [0,2π) |
| 高度剖面 | N×1 | [hmin,hmax] |
| 时间分配 | N×1 | [0,Tmax] |
minJ=∫0TPprop(x,t)dt+λ1∣herror∣+λ2∣dstation−Rtarget∣
| 约束 | 处理方法 |
|---|
| 驻留区域 | 罚函数法 |
| 高度限制 | 边界约束 |
| 推力限制 | 饱和函数 |
| 算法 | 改进点 |
|---|
| 线性递减权重 PSO | 平衡全局/局部搜索 |
| 压缩因子 PSO | 保证收敛 |
| 混沌 PSO | 跳出局部最优 |
| 混合 PSO-GA | 结合遗传算法优点 |
- Kennedy J, Eberhart R. Particle Swarm Optimization[C]. IEEE International Conference on Neural Networks, 1995.
- Zhang Y, et al. PSO-based Trajectory Optimization for Stratospheric Airship[J]. AIAA Journal of Aerospace Systems, 2025.