#基于粒子群算法的含风光燃储微网优化调度 关键词微网优化调度 粒子群算法 风光燃储 参考《基于多目标粒子群算法的微电网优化调度》仅参考部分模型非完全复现注释清晰适合参考学习。 代码主要构建了含风电机组、光伏机组、燃气轮机组以及储能机组的微网日前调度模型其中考虑了微网与上级电网的采用粒子群算法给出最优调度结果结果展示了各机组的出力水平适合初学者学习使用代码属于精品微电网调度就像给乐队调音得让风光燃储四种电源和电网这个大音响和谐共振。今天咱们用Python给这个交响乐团写个指挥谱——粒子群算法。别看这算法名字玄乎其实就是让一群粒子在解空间里开party边蹦迪边找最优解。先看模型怎么搭。系统总负荷要满足储能不能玩过充过放燃气轮机还有爬坡限制。目标函数就是让总成本最低包括发电成本和买电费用。举个代码片段def objective_function(x): cost 0 for t in range(24): # 燃气机组成本二次函数 cost 0.3 * (x[0,t]**2) 5 * x[0,t] # 储能折旧成本 cost 0.1 * abs(x[1,t]) # 网购电成本分时电价 cost time_price[t] * x[2,t] return cost这段代码把经济性目标具象化了燃气轮机成本非线性增长储能按充放电量线性计算网购电还带时段价差。注意绝对值函数abs处理储能双向流动这个细节新手容易漏。约束处理是微网调度的重头戏。粒子群这类元启发式算法有个特点——不直接处理约束。咱们用死亡罚函数法把违规粒子直接毙掉def check_constraints(x): soc 50 # 初始SOC 50% for t in range(24): soc x[1,t] * 0.9 # 充放电效率 if soc 20 or soc 90: # SOC越界 return False if abs(x[0,t] - x[0,t-1]) 50: # 燃气轮机爬坡 return False return True这里储能SOC荷电状态的建模很有意思0.9的效率系数表示充放电损耗。注意t0时的x[0,-1]会报错实际代码需要处理边界条件。粒子群的核心迭代就像鸟群觅食每个粒子记录自己的最佳位置和群体最佳。速度更新公式用Python实现起来倒很简洁w 0.8 # 惯性权重 c1 c2 1.5 # 学习因子 for _ in range(100): # 迭代次数 for i in range(pop_size): # 速度更新 v[i] w*v[i] c1*rand()*(pbest[i]-x[i]) c2*rand()*(gbest-x[i]) # 位置更新 x[i] x[i] v[i] # 越界处理 x[i] np.clip(x[i], x_min, x_max)这里rand()随机数给算法注入探索性clip函数把决策变量限制在可行范围。实际运行时会发现参数w的设置很关键——初期设大值增强全局搜索后期调小加强局部开发。#基于粒子群算法的含风光燃储微网优化调度 关键词微网优化调度 粒子群算法 风光燃储 参考《基于多目标粒子群算法的微电网优化调度》仅参考部分模型非完全复现注释清晰适合参考学习。 代码主要构建了含风电机组、光伏机组、燃气轮机组以及储能机组的微网日前调度模型其中考虑了微网与上级电网的采用粒子群算法给出最优调度结果结果展示了各机组的出力水平适合初学者学习使用代码属于精品跑完算法看看典型日的调度结果如图示光伏中午出力爆表储能趁机充电晚高峰时燃气轮机扛大梁储能放电减少网购电量。有趣的是凌晨风电大发时系统甚至会反送电给主网赚差价。有个新人常踩的坑是决策变量维度处理。比如把24小时的燃气出力和储能状态拍平成72维向量这时候要注意reshape操作# 决策变量结构[燃气24h][储能24h][网购24h] n_vars 24 * 3 x np.zeros(n_vars) gas x[:24].reshape(24,1) ess x[24:48].reshape(24,1) grid x[48:].reshape(24,1)这种结构化处理让代码更易维护。曾见过有人把72维变量当一维处理结果约束条件写到手抽筋。代码里还藏着些工程经验给燃气轮机出力加了个10%的旋转备用裕度这个在数学模型里往往不会明说但实际运行必须考虑。就像做菜时的火候控制理论上是30秒翻面实操得留点余量。最后说个调参玄学粒子群算法里有个体认知系数c1和社会认知系数c2。试过把c1设得比c2大结果粒子们个个自闭只信自己不信集体收敛速度慢成蜗牛反过来又容易早熟。后来发现1.5:1.5的黄金比例配合惯性权重从0.9线性降到0.4效果拔群。代码跑通后别急着收工记得做灵敏度分析。试着把光伏预测出力下调20%会发现储能开始疯狂找补燃气轮机出力曲线变得陡峭——这正体现了多能互补的价值。拿这个案例去答辩评委眼睛都会亮一下。