多目标粒子群混合储能优化配置【附算法】
✨ 长期致力于混合储能、优化配置、风光互补微电网、多目标粒子群算法、CRITIC-TOPSIS研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1风光-负荷多场景聚类与混合储能功率分解策略首先对某海岛微电网三年的历史风光出力与负荷数据进行清洗采用自适应噪声完备集合经验模态分解结合样本熵对序列进行降噪。利用基于动态时间规整的层次聚类将全年划分为12个典型运行场景每个场景包含光伏、风电、负荷的96点日曲线。混合储能功率分解采用两级变分模态分解策略第一级VMD以中心频率收敛为准则将不平衡功率分解为低频、中频和高频三个本征模态分量分别对应能量型储能承担的趋势分量、功率型储能主导的波动分量和电网交互平滑分量第二级VMD对中频分量进行二次分解得到超级电容需补偿的尖峰脉冲分量与锂电池可平抑的缓变分量。为避免模态混叠引入基于KL散度的模态相关性判据当相邻模态的散度大于0.18时触发惩罚因子自适应调整。分解得到的功率指令通过一阶低通滤波进行二次平滑后下发至混合储能本地控制器。2多策略协同改进的多目标粒子群算法CMOPSO-CD该算法在标准MOPSO基础上嵌入四项改进。惯性权重采用混沌逻辑斯蒂映射生成非线性序列使粒子在前1/3迭代保持大范围勘探中间1/3快速收敛后1/3精细挖掘个体最优选择引入基于角度惩罚支配的排序策略当粒子与当前个体最优互相非支配时通过计算目标空间中向量夹角选择多样性更优的解全局最优采用自适应网格与轮盘赌结合的方式网格密度用双曲正切函数映射以避免早期少数网格过密。此外每经过15代对归档集进行基于学生t分布变异的局部扰动以跳出局部前沿凹陷。算法使用DTLZ1-DTLZ4及UF1-UF4共8个标准测试问题进行验证反世代距离指标IGD均值相比NSGA-III、MOEA/D分别降低16.4%和12.8%帕累托前沿的覆盖率指标超体积提升19.5%。3多场景折衷的混合储能双层优化配置模型与决策优化模型外层以储能系统全寿命周期净现成本和节点电压总偏差的最小化为目标决策锂电池额定容量、额定功率与超级电容额定容量的组合内层嵌套8760小时准稳态时序潮流计算含电压越限罚函数与弃风弃光惩罚。约束包括电池荷电状态上下限、充放电倍率限制、超级电容端电压约束和系统旋转备用充裕度。使用CMOPSO-CD对改进的IEEE33节点配电网进行求解得到一组包含37个非支配解的帕累托前沿。决策过程采用改进的CRITIC-TOPSIS方法CRITIC阶段用变异系数替代标准差计算指标对比强度同时结合斯皮尔曼秩相关系数衡量冲突性得到客观权重TOPSIS阶段将权重与灰色关联度结合计算各方案综合贴近度。最终优选的配置方案为锂电池1.8MW/5.6MWh与超级电容0.7MW/78kWh的组合。与仅配置锂电池的方案相比10年期净现成本降低6.8%系统电压偏差总和减少22.3%弃风弃光率由7.2%降为2.5%。import numpy as np from pyDOE import lhs # VMD二次分解混储功率分配 def two_stage_vmd(unbalance_power, alpha1500, tau0.3, K13, K22): from vmdpy import VMD u1, u_hat1, omega1 VMD(unbalance_power, alpha, tau, K1, 0, 1, 1e-7) low_freq u1[0] # 锂电池承担 mid_freq u1[1] high_freq u1[2] # 超级电容尖峰 u2, _, _ VMD(mid_freq, alpha, tau, K2, 0, 1, 1e-7) sc_comp u2[0] high_freq li_comp low_freq u2[1] return li_comp, sc_comp # 混沌惯性权重更新 def chaotic_inertia_weight(iter, max_iter): r 3.99 * 0.42 * (1 - 0.42) # 逻辑斯蒂初始 for _ in range(iter): r 3.99 * r * (1 - r) w_max, w_min 0.9, 0.4 return w_min (w_max - w_min) * r # 改进CRITIC-TOPSIS决策 def critic_topsis_decision(pareto_set, criteria_dir): # 变异系数矩阵 mean np.mean(pareto_set, axis0) std np.std(pareto_set, axis0) cv std / (mean 1e-8) corr_matrix np.corrcoef(pareto_set.T) conflict np.sum(1 - np.abs(corr_matrix), axis1) weight cv * conflict weight / weight.sum() # TOPSIS norm_matrix pareto_set / np.sqrt((pareto_set**2).sum(axis0)) ideal_best np.max(norm_matrix * criteria_dir, axis0) ideal_worst np.min(norm_matrix * criteria_dir, axis0) dist_best np.sqrt(np.sum((norm_matrix - ideal_best)**2 * weight, axis1)) dist_worst np.sqrt(np.sum((norm_matrix - ideal_worst)**2 * weight, axis1)) closeness dist_worst / (dist_best dist_worst) best_idx np.argmax(closeness) return best_idx, closeness
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2607311.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!