建筑 HVAC 需求管理¶
背景¶
商业建筑可以利用围护结构和室内空气的蓄热能力,把部分制冷负荷从 高电价时段移开。预冷是否合理,取决于室温舒适区、设备容量以及相邻 区域之间的热耦合。本例为两个相邻办公区域安排 12 小时的制冷功率。
模型规模不大,但保留了建筑能源管理中的关键结构:热阻热容动力学、 室内得热、制冷性能系数、随时间变化的室外温度和电价,以及必须全程 满足的舒适性边界。
问题定义¶
以 \(T_i(t)\) 表示区域 \(i\in\{1,2\}\) 的温度,\(P_i(t)\) 表示其 制冷电功率,\(j\ne i\) 表示相邻区域。热平衡方程为
其中 \(C_i\) 为热容,\(G_i\) 为室外传热系数,\(G_{12}\) 为区域间 传热系数,\(Q_i\) 为室内得热,\(\eta\) 为制冷性能系数。室外温度与 分时电价采用光滑曲线
目标函数由购电费用和一个很小的控制正则项组成:
初始室温固定,终端室温自由:
整个时域内均需满足舒适区和设备边界:
参数、变量与单位¶
| 符号 | 含义 | 数值或单位 |
|---|---|---|
| \(t\) | 从有人使用时段起点算起的时间 | h |
| \(T_1,T_2\) | 两个区域的空气温度 | °C |
| \(P_1,P_2\) | 制冷电功率 | kW |
| \(C_1,C_2\) | 区域热容 | \(4.0, 3.2\ \mathrm{kWh/K}\) |
| \(G_1,G_2\) | 室外传热系数 | \(0.55, 0.42\ \mathrm{kW/K}\) |
| \(G_{12}\) | 区域间传热系数 | \(0.18\ \mathrm{kW/K}\) |
| \(Q_1,Q_2\) | 室内得热 | \(1.20, 0.80\ \mathrm{kW}\) |
| \(\eta\) | 制冷性能系数 | \(3.2\) |
| \(p(t)\) | 分时电价 | 货币单位/kWh |
建模取舍¶
控制量采用电功率,乘以性能系数后才是从区域中移除的热功率。二次项 只承担轻微正则化作用,用于抑制没有必要的尖锐指令或区域间对冲。 求解后报告的峰值功率是诊断指标,并未作为需量电费写入目标函数。
离散采用 \(72\times2\) Lobatto 网格。每个区间两个 Lobatto 点对应 分段线性的状态和控制;细网格用于解析光滑的天气与价格曲线,也便于 在密集时间点检查边界。由于模型只覆盖一个有人使用时段,而非周期日 运行,终端室温不作固定。
运行示例¶
无界面运行并保存图片:
脚本采用与其他正式案例一致的流程:
system, phase = build_problem()
guess = initial_guess(phase)
solution = solve_problem(system, guess)
plot_solution(solution)
验证结果¶
脚本在 4,001 个等间隔时刻重构数值解,检查两个区域的温度和制冷功率, 并独立积分总用电量与分时电费。
| 指标 | 验证值 |
|---|---|
| 目标函数 \(J\) | \(5.89133099\) |
| 制冷用电量 | \(35.466949\ \mathrm{kWh}\) |
| 分时电费 | \(5.587746\) 个货币单位 |
| 总电功率峰值 | \(7.237222\ \mathrm{kW}\) |
| 最大密集路径边界超限 | \(2.495\times10^{-7}\) |
密集检查中的微小超限低于脚本设定的 \(2\times10^{-6}\) 数值容差。 最优计划在电价峰值前预冷,并在高价时段允许室温在舒适区内回升。

源代码¶
完整可运行示例见:
examples/building_hvac_control.py。