依据【双碳】而产生的模型,低碳优化调度。 以系统运行维护成本,购能等方向作为优化目标。 通过模型计算使各部分能达到最优值。 考虑设备有燃气轮机、余热锅炉、燃气锅炉、热泵、电制冷机、储电系统、储热系统。 若有需要,我也有matlab的视频教程可以提供参考学习。 考虑到不同版本程序可能存在运行问题,缺少函数或者命令的情况,也可以找我要软件。
工业园区的配电房里,七台设备指示灯交替闪烁,值班老张盯着屏幕上的能耗曲线直挠头。这年头搞能源管理不仅要算经济账,还得盯着碳排放指标。今天咱们就拆解这个让老张头秃的低碳调度问题,手把手用MATLAB搭个能自动算账的智能管家。
先看设备清单:燃气轮机发电时能顺带烧热水(余热锅炉),燃气锅炉是烧气大户,热泵这货冬天能当暖气使,电制冷机夏天变身空调。储电储热两个充电宝最关键——电价低时囤货,高峰时释放,这买卖划算得很。
建模先从燃气轮机开刀。这哥们儿发电效率η跟负载率γ的关系可不是直线,实测数据拟合出来是个三次多项式:
% 燃气轮机效率曲线拟合 load_rate = [0.3, 0.5, 0.7, 0.9]; efficiency = [0.25, 0.32, 0.35, 0.33]; p = polyfit(load_rate, efficiency, 3); x_fit = linspace(0.2,1); plot(x_fit, polyval(p,x_fit), 'LineWidth',2)运行这段会看到个先升后降的曲线,说明满负荷反而不经济。所以调度时要避开90%以上的负载区间,这和咱们开车别总把油门踩到底一个道理。
依据【双碳】而产生的模型,低碳优化调度。 以系统运行维护成本,购能等方向作为优化目标。 通过模型计算使各部分能达到最优值。 考虑设备有燃气轮机、余热锅炉、燃气锅炉、热泵、电制冷机、储电系统、储热系统。 若有需要,我也有matlab的视频教程可以提供参考学习。 考虑到不同版本程序可能存在运行问题,缺少函数或者命令的情况,也可以找我要软件。
储能系统的约束最让人头大,充放电不能同时进行。这里用二进制变量δ_t区分状态,再用Big-M法处理:
% 储能系统约束示例 for t = 1:T cons = [cons, soc(t+1) == soc(t) + charge(t)*η_c - discharge(t)/η_d, 0 <= charge(t) <= δ(t)*C_max, 0 <= discharge(t) <= (1-δ(t))*D_max]; end看到那个δ(t)没?这就像个开关,充电时放电口直接锁死,防止系统精分。这种混合整数规划问题用遗传算法反而比传统求解器更溜,毕竟设备启停本来就是离散操作。
成本函数得把碳税算进去。举个栗子,传统调度可能让燃气锅炉狂烧,但加上每吨CO₂ 200块的惩罚项后,算法会自动转投热泵阵营:
% 目标函数计算(简化版) fuel_cost = sum(gas_price * (GT_gas + GB_gas)); carbon_cost = CO2_price * (GT_CO2 + GB_CO2); maintenance = 0.03*GT_power + 0.01*HP_power; % 维护系数 total_cost = fuel_cost + carbon_cost + maintenance;运行完优化程序后,重点看储能的充放电节奏。如果发现充电总在凌晨2-5点,放电卡在早8点和晚7点,说明算法成功捕捉到了峰谷电价差。这时候调出plot图形,能看到储能系统的SOC曲线像坐过山车,波谷对应充电时段,波峰恰是用电高峰。
遇到过这样的坑:某园区模型算出来最优解是半夜关停所有设备,结果冷冻生产线直接歇菜。后来在约束里加了最小供能保障,这才让算法明白省电不能影响生产。所以实际建模时别忘了:
% 供能底线约束 cons = [cons, heat_supply >= 5000, % 单位:kW cool_supply >= 3000];最后来个压轴技巧——用灵敏度分析判断碳价波动的影响。在0到500元/吨之间取20个点,跑完循环会发现总成本曲线有个突变点。当碳价超过320元时,燃气锅炉彻底退出供应序列,这时候系统完全靠热泵和储能撑场,这数据拿给领导看绝对亮眼。
需要代码全集的朋友注意,不同MATLAB版本处理混合整数规划确实可能报错。比如2016a要用bintprog,而新版直接上intlinprog。我打包了版本适配的脚本,还附赠了设备参数数据库,遇到函数缺失的情况直接戳我拿补丁包就行。