综合能源系统调度这活儿,本质上就是在各种限制条件里找平衡。今天咱们聊点有意思的——当柔性负荷遇上低碳经济,Matlab怎么帮我们玩转这个多目标优化局
基于Matlab考虑柔性负荷的综合能源系统低碳经济优化调度。 采用CPIEX求解器某微网的运行优化情况 下层优化得出的微网向配电网购电或售电功率以及各机组的出力 综合考虑运行成本和碳成本建立总成本最低为优化目标的IES低碳经济调度模型。 主要有三个案例:案例1:考虑包括可平移、可转移、可削减的柔性电负荷和包括可平移、可削减的柔性热负荷参与系统优化调度的情况案例2:只考虑包括可平移、可转移、可削减柔性电负荷不考虑柔性热负荷参与系统优化调度的情况案例3:不考虑柔性负荷参与系统优化调度的情况。 程序已调通可直接运行。先看模型搭建的核心思路。总成本运行成本碳成本这个双成本结构直接决定了调度策略的经济性和环保性。咱们在代码里是这么体现的% 目标函数定义 total_cost sum( (C_grid.*P_grid) (C_gas.*Q_gas) ... (C_co2.*E_co2) (C_DR.*P_DR) );这里Cgrid代表电网购电单价Pgrid是购电量Cco2是碳交易价格Eco2是碳排放量。柔性负荷需求响应成本CDR和对应变量PDR的引入是案例1区别于其他案例的关键。重点来了——柔性负荷的处理。在电负荷侧可平移负荷像流水一样在时间轴上滑动代码里用滑动时间窗约束实现for t 2:T-1 P_shiftable(t) sum(P_shiftable(t-1:t1))/3 * shift_coeff; end这个循环控制着相邻时段负荷量的波动幅度shift_coeff取值0.8意味着相邻时段负荷变化不超过20%。热负荷处理更讲究地暖这类热惯性负荷允许短时功率削减但必须满足温度舒适带T_room(t1) T_room(t) (Q_heat(t) - Q_loss)/thermal_capacity; T_min T_room T_max;这个差分方程确保了即使暂时降低供热功率室温也不会跌破下限值。三个对比案例的设置差异主要在约束条件上。案例1同时激活电、热柔性负荷模块案例2注释掉热负荷柔性代码块案例3直接把所有DR约束系数置零。运行后发现个有趣现象案例1虽然总成本最低但调度复杂度显著增加求解时间比案例3多了近40%。基于Matlab考虑柔性负荷的综合能源系统低碳经济优化调度。 采用CPIEX求解器某微网的运行优化情况 下层优化得出的微网向配电网购电或售电功率以及各机组的出力 综合考虑运行成本和碳成本建立总成本最低为优化目标的IES低碳经济调度模型。 主要有三个案例:案例1:考虑包括可平移、可转移、可削减的柔性电负荷和包括可平移、可削减的柔性热负荷参与系统优化调度的情况案例2:只考虑包括可平移、可转移、可削减柔性电负荷不考虑柔性热负荷参与系统优化调度的情况案例3:不考虑柔性负荷参与系统优化调度的情况。 程序已调通可直接运行。看看优化结果对比案例 | 总成本万元 | 碳排放t | 需求响应收益 1 | 28.6 | 126 | 7.2% 2 | 31.1 | 138 | 4.8% 3 | 34.9 | 155 | 0%数据说明柔性负荷的双向调节能力——既通过削峰填谷降低购电成本又通过灵活匹配新能源出力减少碳排放。特别在午间光伏大发时段案例1的热泵负荷自动上翘多消纳了23%的本地绿电。程序里有个巧妙设计用稀疏矩阵处理时序耦合约束。当时间尺度扩展到24小时时传统满矩阵方法内存占用暴涨而下面这个写法省了70%内存A_sparse sparse(T, 3*T); A_sparse(1:T, T1:2*T) speye(T)*DR_coeff;这种稀疏化处理让程序在普通笔记本上也能快速求解72小时尺度的问题。不过要注意非零元素的位置设置一旦索引错误整个约束就崩了。最后给个实操建议调试时先用简化版模型比如4小时尺度验证逻辑再逐步放开约束。曾经有个隐蔽的bug——电热耦合约束的单位没统一导致结果出现kW和MW混用让碳成本计算偏差了十倍排查了整整两天才逮住这个单位陷阱。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2462694.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!