【第三篇 实操篇】Demo运行、数据准备与参数配置全景

导读:理解了算法原理后,如何亲自动手跑起来?真实项目中我们需要准备哪些数据?配置文件里的几十个参数分别控制什么?本文手把手带你完成从数据准备、参数配置、命令行运行到结果可视化的完整实操闭环。

1. 运行环境与零依赖设计

该框架在工程设计上坚持了极简主义:完全基于 Python 标准库实现,无需安装任何复杂的重型第三方包(如 TensorFlow、PyTorch、Gurobi 或 Scipy),只要系统装有 Python 3.9 或更高版本即可直接运行。

快速验证环境

打开终端运行:

2. 输入时序数据准备(load.csv)

算法是日前(Day-ahead)调度优化器,它的输入必须是一张包含未来各时段负荷与气象的时序 CSV 表格。

2.1 标准 CSV 格式规范

文件必须包含以下 4 列标准表头:
列名
数据类型
物理含义
常见取值范围
说明
timestamp
字符串
该时段的开始时间戳
如 2026-07-01 00:00:00
格式规范为 YYYY-MM-DD HH:MM:SS
duration_hours
浮点数
本时段持续时长(小时)
1.0 或 0.25
1 小时颗粒度填 1.0;15 分钟颗粒度填 0.25
load_kw
浮点数
全站预测制冷负荷需求(kW)
0.0 ~ 全站额定总冷量
零负荷直接填 0.0
wet_bulb_c
浮点数
预测室外空气湿球温度(℃)
通常 15.0 ~ 30.0
来自气象预报数据,冷却塔散热极限

2.2 样例数据片段(24 小时日前负荷)


3. 全局配置文件深度解析(config/default.json)

系统的一切设备规格、能效曲线与控制约束都在 config/default.json 中声明。我们将其拆分为五大板块:

板块 1:冷水机组列表(chillers)

  • capacity_kw:单台主机额定冷量(kW);
  • min_plr / max_plr:允许的安全负载率区间(例如 15%~100%),低于 min_plr 的组合会被 Dispatch 层判定为喘振而剔除;
  • cop_multiplier:机组老化衰减系数(若该机结垢严重效率下降 5%,可设为 0.95)。

板块 2:主机调度与保护约束(chiller_scheduling)

  • min_on_hours / min_off_hours:压缩机单次启停后的强制闭锁时长(小时);
  • initial_on:第 0 时段开始前各机是否处于开机状态;
  • initial_state_hours:初始状态已连续保持的时长(用于判定进入第 1 时段时是否允许立刻切机);
  • runtime_hours:现场 SCADA 读取的设备历史累计运行时长;
  • prefer_shorter_runtime:是否开启“零能耗代价”的设备磨损均衡;
  • terminal_policy:计划末尾策略(require_complete 要求规划结束时无未到期闭锁,carry_over 允许未到期闭锁传递给下个日前规划)。

板块 3:遗传算法与物理边界(optimization)

  • max_temperature_step_c:相邻时段控制温度最大允许变化幅度(默认 1.5℃,防止水温剧变冲击系统);
  • bounds:各水路供回水温度与逼近度物理上下限。

4. 命令行实操与实验复现

从项目根目录打开终端,支持多种命令行调用模式:

操作 1:默认基准运行

  • 行为:使用 examples/load.csv 负荷和默认配置执行优化,全流程耗时约 3.5 秒。

操作 2:指定自定义负荷与输出目录

操作 3:传入设备历史累计运行小时(测试磨损均衡)

  • 效果:程序会识别 3# 主机(历史仅 450h)累计最短,在同等能耗的候选方案中优先启用 3# 机,而将 1# 机(1200h)排后。

5. 优化产物解读与分析

程序执行完毕后,会在输出目录中生成以下关键文件:

1. schedule.csv —— 下发控制策略表

包含每个时段的终极控制设定值:
  • chw_supply_c:冷冻供水设定值(℃)
  • cw_supply_c:冷却供水设定值(℃)
  • chiller_on:各冷机的开停布尔列表(如 [true, true, false, false])
  • chiller_load_kw:各冷机承担的冷量
  • chw_pump_frequency_hz / cw_pump_frequency_hz:水泵变频频率
  • tower_frequency_hz:冷却塔风机变频频率

2. result.json —— 综合指标与末态快照

  • 核心能效指标:全站制冷系统综合能效比 $\text{SCOP} = \frac{50384.51}{7570.64} = 6.655$;
  • terminal_chiller_state:可直接作为下一个周期日前规划的初始状态输入。
冷站AI节能算法(四)进阶篇:真机建模、机器学习接入与自研算法演进冷站AI节能算法(二)算法篇:源码级算法机理与状态转移完全拆解
Loading...
Tlyer Wang
Tlyer Wang
随便玩玩
公告
🏆Personal Best
全马 04:20:59
半马 01:47:27
10KM 00:49:04
5KM 00:23:24