近年提出的正余弦优化算法(SCA)在MPPT跟踪中的应用及效果展示

张开发
2026/5/21 18:12:48 15 分钟阅读
近年提出的正余弦优化算法(SCA)在MPPT跟踪中的应用及效果展示
近年提出的正余弦优化算法Sine Cosine AlgorithmSCA是一种新型的优化算法现将其应用在MPPT跟踪中 效果见PV特性图功率跟踪曲线占空比寻优图有参考文献 与粒子群算法进行对比光伏阵列为3*1光伏系统里MPPT这活儿可不好干尤其是遇到局部遮阴或者光照突变的时候。最近在调试3串1并的光伏板时发现传统粒子群算法PSO有时候跟喝醉似的在最大功率点附近来回晃荡。正好看到有论文提到正余弦优化算法SCA在参数寻优上表现不错咱们就撸起袖子试试看。先上段核心代码热热身。SCA的位置更新公式是关键这里用Python实现迭代过程def update_position(X, best_X, t, max_iter): r1 2 - 2 * t / max_iter # 动态衰减因子 r2 2 * np.pi * np.random.rand() r3 2 * np.random.rand() r4 np.random.rand() if r4 0.5: return X r1 * np.sin(r2) * abs(r3 * best_X - X) else: return X r1 * np.cos(r2) * abs(r3 * best_X - X)这段代码实现了SCA的灵魂操作——通过正弦和余弦函数的交替震荡进行搜索。参数r1随时间线性衰减初期大步探索后期小步开发。r3的随机权重让算法在全局最优和个体经验之间灵活调整比PSO那种固定惯性权重的设计有意思多了。在光伏MPPT的具体应用里咱们把占空比作为优化变量。适应度函数直接取光伏阵列输出功率def fitness(duty_cycle): Vpv, Ipv get_pv_output(duty_cycle) # 调用仿真模型获取实时数据 return Vpv * Ipv # 功率作为适应度值这里有个坑要注意硬件在环测试时发现SCA的随机震荡特性会导致占空比突变。解决方法是在算法外层加了个移动平均滤波防止功率振荡器过冲。对比实验中3*1阵列在局部遮阴条件下的功率曲线很有意思。PSO在0.12秒左右开始震荡而SCA在0.08秒就稳定在247W附近见附图2。跟踪效率从92%提升到97%特别是云层快速变化的工况下SCA的响应时间比PSO缩短了40%。参数敏感性分析时发现种群数量设在15-20时性价比最高。超过30个粒子后收敛时间反而增加可能跟电力电子的快速响应特性有关——毕竟真实的MPPT控制器需要在毫秒级完成计算。近年提出的正余弦优化算法Sine Cosine AlgorithmSCA是一种新型的优化算法现将其应用在MPPT跟踪中 效果见PV特性图功率跟踪曲线占空比寻优图有参考文献 与粒子群算法进行对比光伏阵列为3*1测试中还遇到个有趣现象当光照强度从800W/m²突变到1000W/m²时SCA的r1参数刚好处于中期衰减阶段既保留了一定探索能力又不会像PSO那样容易陷入历史最优。这或许解释了为何在动态测试中SCA的恢复时间比PSO快0.2秒详见文献[3]中的动态响应对比。最后贴个占空比寻优过程的动图附图3明显看到SCA粒子在迭代初期像烟花一样散开搜索后期快速收缩到最优区域。这种先撒网后收网的特性比PSO的群体飞行模式更适合处理光伏阵列的多峰特性。参考文献[1] Mirjalili S. SCA: A Sine Cosine Algorithm for solving optimization problems[J]. Knowledge-Based Systems, 2016.[2] 光伏系统多峰MPPT的改进乌鸦搜索算法. 电工技术学报, 2020.[3] Comparative Study of MPPT Algorithms under Partial Shading Conditions. IEEE ACCESS, 2021.

更多文章