当前位置: 首页 > news >正文

12-电-热综合能源系统耦合优化调度-100% 摘要:代码做了一个IEEE39节点和6节点热网...

12-电-热综合能源系统耦合优化调度-100% 摘要:代码做了一个IEEE39节点和6节点热网互联的电热综合能源系统优化调度模型,该模型考虑到了电网潮流以及热网潮流,同时可以优化出热网节点的进水以及出水温度,是为数不多的可以得出热网潮流以及电网潮流的电热综合能源调度模型,出图效果也非常清楚,具体可以看下图。

电热综合能源系统的调度优化是个有意思的活,尤其是把电网和热网两个不同物理特性的网络揉在一起建模的时候。最近在复现某篇paper时,用Pyomo搭了个结合IEEE39节点电网和6节点热网的调度模型,这里分享些实战细节。

电网这块咱们用经典的交流潮流模型,39节点里10台发电机都得考虑爬坡约束。重点在于热网那套水力-热力耦合方程,特别是要同时优化各节点的进出水温度。看这段核心变量定义:

model.Tin = Var(model.h_node, model.T, bounds=(40, 95)) # 进水温度 model.Tout = Var(model.h_node, model.T, bounds=(40, 95)) # 出水温度 model.m = Var(model.h_pipe, model.T) # 管道流量

有意思的是水温约束的处理。热网节点温度变化需要满足热力学方程,比如这个回水混合约束:

def return_mixing_rule(model, n, t): if n not in model.h_source: # 非热源节点 return model.m_ret[n,t] * model.Tret[n,t] == sum( model.m[i,t] * model.Tout[model.h_pipe_to[i],t] for i in model.h_pipe if model.h_pipe_to[i] == n) else: return Constraint.Skip model.return_mixing = Constraint(model.h_node, model.T, rule=return_mixing_rule)

这里用管道流量加权计算混合后的回水温度,注意要排除热源节点。调试时发现,水温初始值设定不当会导致求解器卡在局部最优,后来改成先固定发电机出力单独求解热网模型获取初值。

电网和热网的耦合点主要在热电厂。比如某燃气机组既发电又供热,需要把燃料消耗量同时算进两个系统。这里展示下耦合约束的写法:

def chp_coupling(model, g, t): return model.P[g,t] == model.heat[g,t] * model.chp_ratio[g] model.chp_coupling_con = Constraint(model.chp_gen, model.T, rule=chp_coupling)

目标函数是典型的总成本最小化,但要注意把热网的泵耗成本也加进去。举个计算泵耗的代码片段:

def pump_power_rule(model, t): return sum(model.m[p,t] * model.pipe_dp[p] / (model.eta_pump * 1000) for p in model.h_pipe) pump_cost = pump_power_rule(model,t) * electricity_price[t]

调试时踩过个坑:热网管道长度参数忘记单位换算,导致泵耗计算差了三个数量级。后来在约束里加了参数校验才避免翻车。

最后说说出图,用Matplotlib画双层Y轴图展示电热功率变化趋势挺直观。比如左边轴显示某节点电压幅值,右边轴对应热网管道流量,能清晰看出早晚高峰时的耦合特性。建议保存求解器中间输出,用Seaborn的FacetGrid做多变量相关性分析,可能会发现某些热负荷变化其实比电网负荷更具时间敏感性。

这个模型在求解速度上还有优化空间,特别是处理非凸约束时。下次考虑把热网方程线性化处理,或者试试分层求解策略。毕竟实际工程中,能在15分钟内出可行解比绝对最优更重要。

http://www.jsqmd.com/news/178322/

相关文章:

  • django基于Python的电商用户的数据行为分析与可视化 爬虫
  • Ubuntu数字键盘失灵问题解决
  • 光伏MPPT仿真:直接电压法(恒定电压法)与PID控制的奇妙结合
  • django基于DJANGO的智慧社区停车场车位可视化平台的设计与实现_8nyri-爬虫可视化
  • 探索区域综合能源系统(RIES)优化:从模型到Matlab实现
  • AHK调试报错: An internal error has occurred in the debugger engine解决方法
  • 【毕业设计】基于机器学习的蘑菇毒性预测分析及应用实现
  • 【数字信号去噪】基于matlab鳄鱼伏击算法优化变分模态分解CAOA-VMD数字信号去噪(优化K值 alpha值 综合指标 适应度函数包络熵)【含Matlab源码 14792期】
  • 深度学习毕设项目推荐-基于随机森林的贷款可能性预测系统实现
  • FDTD案例:探索二维光子晶体结构中的完整拓扑状态集激射
  • 【数字信号去噪】基于matlab改进的蜣螂算法优化变分模态分解IDBO-VMD数字信号去噪(优化K值 alpha值 综合指标 适应度函数包络熵)【含Matlab源码 14808期】
  • TypeScript开发基础(14)——面向对象之接口
  • 欧姆龙NJ控制程序:功能宝藏与编程思路的跨平台应用
  • 清理系统Python环境中误操作安装的pip包(有风险)
  • Python 自动驾驶图像识别,车道线/交通标志/车辆检测全流程
  • 可商用的 Logo 生成 AI 软件推荐|真实对比 + 商用案例实操
  • 2025学到/加深记忆的一些比较浅的东西整理
  • AccessEnum 学习笔记(9.10):一键盘点“谁能访问什么”——文件/注册表权限体检与修复 - 教程
  • 探索十字型声子晶体案例:从原理到代码实现
  • 深度学习计算机毕设之基于机器学习的蘑菇毒性预测分析及应用实现
  • RabbitMQ消息序列化在大数据场景下的选择
  • MATLAB3的RPS并联机器人动力学仿真与运动学仿真控制:Simulink/Simscape的应用
  • 永磁同步电机转速环ADRC控制策略仿真研究:自抗扰控制技术的实践探索
  • ubuntu调整系统字体最简单的方法
  • 我的名字“智算菩萨”:一位信息时代的践行者与信仰者的双重叙事
  • 三相PWM逆变器闭环仿真:电压电流双闭环控制探索
  • 详细介绍:告别混编噩梦:Swift与Objective-C互操作完全指南
  • 【课程设计/毕业设计】基于机器学习的蘑菇毒性预测分析及应用实现
  • 遗传算法助力编码超表面 RCS 缩减:从理论到实践
  • Julia 基本运算符