基本原理
本节全面介绍 IESLab 规划优化平台方案计算的基本原理与使用方法:从优化设计哲学与边界(第 1 章,建议先读)出发,涵盖优化功能总览、优化数学模型、数学优化原理基础、求解计算方式、典型场景生成(GMM 聚类)、财务评估基础理论,以及面向工程交付的结果正确性判定(第 9 章)。文档面向能源规划从业者,帮助您快速理解平台并上手完成能源规划优化业务。
相关文档:
目录
- 1. 优化设计哲学与边界
- 2. 功能定位与使用流程
- 3. 优化功能总览
- 4. 优化数学模型
- 5. 数学优化原理基础
- 6. 求解计算
- 7. 典型场景生成与 GMM 聚类算法
- 8. 财务评估基础理论
- 9. 结果正确性判定
1. 优化设计哲学与边界
优化设计哲学:优化程序是一台"算得又快又准的计算器",但问题的抽象、数据的真实性、参数的取舍、结果的判定与责任,始终属于使用者。本文档全篇的技术内容,都服务于这一句话。
阅读指引:正因如此,本章(第 1 章)与第 9 章"结果正确性判定"不只是背景介绍,而是全书最重要的两节;中间各章的算法与语法,只是把"你已正确定义的问题"算得更快的方法、技巧和工具。先把问题定义对,再谈求解。
1.1 先建模,后算法
1979 年,系统规划与运筹学大师 Russell L. Ackoff(阿克夫) 在《运筹学学会学报》(Journal of the Operational Research Society, JORS)卷 30 第 2 期(pp. 93–104) 发表 《运筹学的未来已成过去》(The Future of Operational Research is Past),并在同年发表续篇 《复活运筹学的未来》(Resurrecting the Future of Operational Research)。他一针见血地指出:运筹学(OR)的核心价值不在 "求解" 而在 "建模"。
阿克夫的反思固然有一定的时代局限性,但其重“建模”的系统工程思维,对本平台的每一位使用者都有直接的方法论意义:
- 优化的价值在于理解和解决的系统工程问题,求解计算并不是最重要的,最关键的是用户的建模过程——哪些量纳入优化(决策变量)、优化什么(目标)、如何取舍约束(哪些必须硬满足、哪些可以让步、让步要付多少代价)、把系统切在哪个边界上。这些建模决策决定了"你算的是不是那个真问题",其权重远高于"用哪个求解器、把 gap 压到小数点后几位"。
- 建模差之毫厘,结果谬以千里:目标函数漏写一项燃料成本、上网率约束口径填错、把柔性负荷的"重要部分"错误地允许削减——模型照样"求解成功",却会把一个错误问题的正确答案交到你手上。阿克夫把它概括为 "doing the right thing(做对的事:建模、选型、定边界)远比 doing things right(把事做对:求解、调参、提速)更重要"。工程界的共识同样一致——"所有的模型都是错的,但有些是有用的"(Box);价值在于建模者清楚自己的模型在哪些维度上"错得可以接受"。
软件只接受一种输入:已经成型的数学模型——目标函数、决策变量、约束条件(见第 4 章)。而"一个实际工程问题如何变成这个数学模型",软件无法代劳:
| 使用者的抽象工作 | 为什么必须由人来做 |
|---|---|
| 决定优化什么(目标:全生命周期成本?) | 目标决定了"什么算好方案",属工程价值判断 |
| 决定允许什么(约束:上网比例、保供时长、容量上下限) | 约束是合规与安全的边界,只能来自政策、合同与工程经验 |
| 决定假设什么(电价、设备价格、负荷增长) | 假设直接决定结论;平台无法判断假设是否符合当地实际 |
| 决定忽略什么(不做暂态、不做随机规划) | 简化是刻意的工程取舍,必须由使用者知情同意 |
平台提供了通用的优化建模工具——拓扑化建模、9 类载能体(电、热、冷、冰、氢、甲烷、氨、碳、氮)、40+ 组件、系统级约束(预设模板与自定义 DSL,见计算方案配置)——目的是把"建模与求解"这件事做得可复用、可校验。但它不会、也不能替使用者决定上述四件事。
一句话记忆:软件负责"求解",使用者负责"问题定义"。问题定义错了,求解器只会更快地给出错误答案。
1.2 三根支柱与责任链
优化结果的可信度沿一条链传递——数据 → 参数 → 判定——链上任何一环失守,结论就不可用:
真实合理的数据 → 合理的约束范围与参数 → 使用者对结果的判定与采用
(数据模块) (拓扑模块、计算方案设置) (结果页面 / 工程决策)
| 环节 | 使用者要做的事 | 平台能帮的事 | 失守后的典型表现 | 参考文档 |
|---|---|---|---|---|
| 数据 | 提供合理、真实的负荷/气象/价格/设备参数 | 单位展示、数据完整性检查、场景可视化 | 结果量级离谱、缺电/弃电异常 | 数据准备要点 |
| 参数 | 设置合理的约束范围与优化参数(惩罚、间隙、时限) | 守恒校验、退化判定、告警 | 约束"设了不生效"、约束被松弛买通 | 计算方案配置 |
| 判定 | 对结果指标与项目设置做交叉验证,判断方案是否值得投资 | 结果报表、能量平衡表、松弛与告警提示 | 采用了一个"最优但错误"的方案 | 第 9 章 |
关键认识:数据质量是这条链上权重最大的一环。设备参数差 10%、负荷曲线单位错 1000 倍、上网电价漏绑定——这些都不是求解器能"算回来"的。"输入一个垃圾,输出必然是包装精美的垃圾",这是本领域最贵的一条经验。
1.3 求解成功不等于结果正确
优化结果的失败不只有"报错"一种。按发现难度,分为四种形态:
| 形态 | 现象 | 典型例子 | 靠什么发现 |
|---|---|---|---|
| ① 求解失败(显式) | 报错、无可行解、超时无解 | 约束互相矛盾(如上网率 20% + 自消纳下限 85%) | 日志与报错提示 |
| ② 结论不物理(隐性) | 求解成功,但结果违反工程常识 | 系统缺电非零、弃电异常、储能同时充放电 | 检查"必须为零/必须在合理区间"的量 |
| ③ 静默失效(最隐蔽) | 参数填了、报告也写了,但约束根本没进模型或未真正生效 | 自消纳率设 65%,实际 53%;约束被松弛"买通" | 结果指标与项目设置交叉验证 |
| ④ 数据不合理(最根本) | 模型与求解都正确,但方案在工程上不可行 | 负荷单位填错、设备价格失真、气象数据缺失 | 与台账、实测、同类项目对比 |
平台的设计选择:为了让模型"容易有解"(避免因参数互相矛盾直接失败),系统级的缺电、弃电与合规约束都被设计为带惩罚的软约束——违反要交罚款,但不禁止。这个设计的代价是:问题被隐藏进了目标函数。所以"求解状态显示成功",只是"计算过程没有问题",不等于"结果可信"。这正是第 ②③ 类失败普遍存在的原因。
1.4 Design for AI 但方向盘在人手里
平台在设计上贯彻 CloudPSS Design for AI 思想,规划优化的领域知识(建模规范、参数含义、异常诊断路径,即本文档与配套调试文档)被沉淀为可检索、可复用的知识,使 AI 能协助任务拆解、批量检查与异常初筛。
但设计为 AI 友好,不等于把决策权交给 AI:
| 适合由 AI/自动化承担 | 必须由使用者负责 |
|---|---|
| 自然语言意图 → 数据/拓扑/方案的翻译与草拟 | 数据是否真实、假设是否符合当地实际 |
| 批量一致性检查(单位、缺失、量级) | 参数取舍与合规边界(上网比例、保供时长) |
| 异常初筛与排查线索提示 | 方案是否合理、是否值得投资 |
| 报告草稿与图表说明 | 结果签发与工程决策 |
决策者在人:优化结果建议由工程师复核后使用
1.5 优化范围与边界
愿景:把重复、繁琐、易错的计算交给机器,把工程判断与责任留给工程师。平台追求的不是"替代工程师",而是把工程师从试算与核对中解放出来,去做真正的方案决策。
能做什么(适用场景):
| 适合用 IESLab 规划优化 | 典型产出 |
|---|---|
| 园区/AIDC综合能源系统规划设计 | 设备选型定容 + 运行策略 |
| 风光储容量配比与投资估算 | 装机/储能配置与投资回收测算 |
| 绿电直连项目合规性校核 | 绿电占比/上网/自消纳三率合规校验 |
| 多方案比选分析 | 多计算方案关键指标并排对比 |
平台是稳态规划、线性优化、确定性优化,以下内容明确不在范围内(避免误用):
| 边界外 | 说明 |
|---|---|
| 暂态/电磁暂态仿真 | 秒级以下动态过程属仿真域,请用 EMTLab 等工具 |
| 全非线性交流潮流(AC-PF) | IESLab 采用交直流线性潮流;非线性潮流属潮流内核 DSLab 范畴 |
| 随机规划 / 鲁棒优化 | 以典型日聚类 + 极端场景近似不确定性,不显式建模概率分布 |
| 电力市场出清/竞价 | 电价作为边界条件参数,不做市场博弈建模,但可以设置多个电价进行比较,或编程实现灵敏性分析 |
| 施工时序、工程排期 | 不做建设进度安排 |
1.6 为什么用数学优化(MILP),而不是智能启发式算法
本程序采用基于数学规划的混合整数线性规划(MILP),而非粒子群(PSO)、模拟退火、遗传等智能启发式算法,原因在于两类方法"定的解的可信度"完全不同:
| 维度 | 数学优化(MILP) | 启发式(PSO / 模拟退火 / 遗传…) |
|---|---|---|
| 解的性质 | 全局最优,且可给出"离最优差多少"的证明(gap) | 局部最优——通常找不到全局最优,且无任何最优性证据 |
| 结果稳定性 | 同一算例可复现、确定 | 依赖随机过程,结果极不稳定,难以稳定复现 |
| 初值敏感性 | 与初值无关,解不受初值影响 | 极大依赖初值与参数,不同初值走向不同局部最优 |
| 可验证/可审计 | 有最优性 gap,可证明离最优多远,结果可复核 | 无可证明的收敛保证,调参即玄学 |
一句话:数学优化给"有证据的最优 + 可复现",启发式只给"碰运气的好解"。对需要交付、评审、复算的规划项目,可证明性比"算得快"重要得多——这也是本程序不采用智能启发式的根本原因。
为什么规划阶段用线性、不做非线性:
- 在项目初期的规划优化阶段,求解的是确定性的方案,实现选型定容与运行策略优化,其核心约束(能量平衡、设备出力上下限、储能 SOC、容量范围)都能线性表达;线性模型求解快、全局最优可证明;
- 非线性的主要来源是精确交流潮流(AC-OPF)下的潮流方程——那是运行/校核阶段(DSLab)的范畴,规划阶段采用交直流线性潮流已足够准确且远更稳定;
- 在规划阶段引入非线性,既显著增加求解难度与不稳定,又几乎不给"选型定容"带来额外价值。刻意不做非线性,是规划阶段的工程取舍,而非能力缺失。
1.7 使用者责任清单
- 我理解这个优化问题的目标是什么,并认可它代表"好方案";
- 我提供的数据(负荷、气象、价格、设备参数)来源可追溯,格式和单位已按平台要求核对;
- 我设置的约束(上网率、自消纳率、保供、容量范围)有依据,且知道哪些是硬性的、哪些是"罚款式"的软约束;
- 我核对过三个必须为零/合理的量:系统缺电、系统弃电、约束松弛;
- 我把结果指标与项目设置做了交叉验证(例如设了自消纳率 ≥65%,实测是否 ≥65%);
- 我知道本次结果的主要假设与局限(数据真实性、价格假设、未建模的忽略因素);
- 我在采用该方案前做过工程合理性判断(容量规模、投资额、回收期是否符合常识与同类项目);
- 我保留了算例与结果版本,便于后续复算、回归与审计。
以上清单在第 9 章给出逐项的技术判定方法;操作层面的排障步骤见结果页面 · 优化调试技巧。
相关:本章是方法论与边界。第 2-3 章回答"平台能算什么"(功能定位与使用流程、优化功能总览);第 4-5 章回答"模型与算法长什么样"(优化数学模型、数学优化原理基础);填参数见 计算方案配置,判结果见 结果页面。
2. 功能定位与使用流程
2.1 初学者导读
在阅读本节之前,先建立一个直观认识:能源系统规划优化,就是让在所有可行的方案中,自动找出成本最低的那一个。
以一个园区能源规划为例,您可能面临这样的问题:
园区有电、热两种负荷。我可以装光伏、装风机、装蓄电池、装燃气锅炉,也可以直接从电网买电。每种设备有多种型号、投资不同、效率不同;电价白天贵、晚上便宜。每种设备各装多少台、每天怎么运行,全年花的钱最少?
这个问题可能的组合方案成千上万种——手动试算根本算不过来。规划优化平台把这个问题写成数学模型,交给求解器(一种高效的数学计算软件)自动搜索,几分钟到几十分钟内给出全局最优(或接近最优)的答案:
| 您在平台上做的事 | 平台自动做的事 |
|---|---|
| 画出系统拓扑(哪些设备、怎么连接) | 识别拓扑,生成能量平衡关系 |
| 录入数据(负荷曲线、气象、电价、设备型号库) | 将数据填入优化模型 |
| 配置方案参数(见计算方案配置) | 组装数学优化模型的约束等 |
| 点击"开始计算" | 调用求解器搜索最优方案 |
| 结果查看 | 输出设备配置、运行策略、成本与财务报表 |
理解本节内容,您不需要任何优化专业背景;第 5 章会简单介绍线性规划等数学原理,感兴趣可以深入阅读,不感兴趣也不影响正常使用——您只需知道:平台会自动找到"最省钱且满足所有物理约束"的方案。
2.2 功能定义
IESLab 规划优化平台的方案计算功能,面向处于规划设计阶段的园区级至区域级的冷、热、电、氢等多能源耦合系统(亦包含单一能源的供能系统),在典型运行场景下,基于优化目标对系统中的设备进行选型与定容,并优化其在典型日下的运行方式。
简单来说,平台回答三个问题:
| 问题 | 输出 | 举例 |
|---|---|---|
| 选什么、配多少? | 各设备的候选型号选择与配置台数/容量 | 风机选"远景 1200kW"2 台 + 光伏 5000 kW |
| 怎么运行? | 典型日 24h 逐时出力、充放电、启停策略 | 蓄电池夜里充电、白天高峰放电 |
| 投资划算吗? | 全生命周期成本、投资回收期、财务报表 | 静态回收期 6.8 年,全投资 IRR 9.2% |
2.3 核心能力
| 能力维度 | 支持内容 |
|---|---|
| 能源载体 | 电(交流/直流)、热、冷、冰、氢、甲烷、氨、碳、氮等9 类载能体(完整词表见计算方案配置) |
| 设备模型 | 40+ 类组件(光伏、风机、蓄电池、电解槽、燃料电池、制冷机、热泵、锅炉、储氢罐等) |
| 规划维度 | 设备选型(多候选型号池)+ 定容(容量范围约束下的台数优化) |
| 运行维度 | 8760h 全年或典型日逐时运行策略优化 |
| 潮流内核 | 交直流线性潮流——节点-支路拓扑上的功率平衡与潮流分布,功率流向可见 |
| 系统约束 | 绿电占比、上网比例、弃电率等合规约束,支持自定义 DSL 语法 |
| 求解规模 | 50+ 设备、全年 8760h 优化,两阶段解耦可将求解时间由数小时压缩至数十分钟 |
| 结果输出 | 设备配置表、运行曲线、能量平衡图、11 张财务报表、一键 Word 项目报告 |
2.4 典型使用流程
一次完整的规划优化通常按以下五步进行:
数据准备 → 拓扑搭建 → 方案配置 → 启动计算 → 结果查看
| 步骤 | 操作内容 | 参考文档 |
|---|---|---|
| 数据准备 | 在数据管理模块录入气象数据(辐照、风速、温度)、电/冷/热/氢负荷曲线、分时电价、待选设备型号库 | 数据管理模块文档 |
| 拓扑搭建 | 在拓扑编辑器中放置元件、建立连接,设置元件约束;平台在您手动搭建的拓扑基础上自动识别交直流母线与节点-支路-设备连接关系,无需手动声明供能方式 | 拓扑编辑文档 |
| 方案配置 | 创建计算方案,设置规划类型、场景缩减方式、惩罚参数、系统约束(预设模板或自定义 DSL)、财务参数 | 计算方案配置 |
| 启动计算 | 选择优化目标,点击开始计算;可随时停止或停止并删除 | 启动计算 |
| 结果查看 | 方案列表比选、设备配置详情、典型日运行曲线、能量平衡图、财务报表、Word 报告导出 | 结果查看 |
同一项目可创建多个计算方案,各自独立配置设备选型、容量与运行策略,所有方案本地保留,关键指标可并排比选。
2.5 数据准备要点
优化结果的可靠性直接取决于输入数据的质量。启动计算前请核对以下数据:
| 数据类别 | 内容 | 注意事项 |
|---|---|---|
| 气象数据 | 太阳辐照强度、风速、温度等(逐时) | 决定光伏/风机理论出力;若已经资源评估,请直接上传特性曲线 |
| 负荷曲线 | 电/冷/热/氢负荷逐时曲线 | 注意单位(kW 为功率值);最重要的边界条件之一,刚性负荷支持“以荷定源”,柔性电负荷可支持“以源定荷” |
| 电价数据 | 分时电价 /常数电价 | 影响购电成本与储能策略;两部制电价支持容量、需量电费 |
| 设备候选库 | 每类设备的候选型号(额定功率、投资单价、效率、寿命、运维成本) | 型号池越丰富,选型空间越大;容量范围约束在此配置 |
| 电网参数 | 上下网功率与比例、峰谷差率、两部制电价等 | 决定与外部电网的交换能力 |
单位自查清单:负荷与出力用 kW、电量用 kWh。注意平台存在两套单位并存的情况:数据管理模块中的设备效率(如储能充放电效率)为 0~1 的实数;而拓扑编辑模块与计算方案中的比率类参数(最大上网率、最低自消纳率、峰谷差率、SOC 上下限等)为 百分数(0~100%)。两者混用会造成 100 倍的数值错误,是"结果偏大/偏小一个数量级"最常见的原因。
3. 优化功能总览
平台围绕"规划 + 运行"两条主线,提供以下优化功能:
3.1 设备选型与定容
- 每类设备可配置多个候选型号(如风机可选"厂家1 EN-120/1400"与"厂家2 GW2500-140"两种型号),平台从中自动挑选最划算的组合;
- 在用户指定的容量范围(如 1000~3000 kW)内自动优化配置台数;
- 选型与定容同时优化,兼顾型号间的效率、投资、运维差异。
示例:用户指定的风机容量范围为 1000 ~ 3000 kW,候选型号池中有两种风机 —— 厂家1 EN-120/1400(额定 1200 kW)与厂家2 GW2500-140(额定 2500 kW)。则厂家1 可配 1~2 台、厂家2 可配 1 台,平台会在这些组合中自动择优。

3.2 运行策略优化
- 逐时出力曲线:发电设备出力、储能充放电、转换设备能量分配;
- 储能充放电策略:在电价峰谷间套利、消纳富余新能源;
- 最大购电功率优化:两部制电价下优化需量电费。
3.3 储能保供
滑动窗口法自动识别全年极端工况,生成保供曲线并转化为储能时变 SOC 下限——平时用足容量,极端工况自动留足应急余量。通过 PowerGuarantee 参数(保供小时数)启用。
直观理解:假设保供小时数为 4,平台会检查全年每一个连续 4 小时的高负荷窗口,确保储能在这些窗口内有足够电量顶上,避免电网停电或新能源出力骤降时负荷失电。
3.4 设备启停优化
面向电解槽等启停敏感设备,可启用逐时启停排班优化:运行台数、启停跟踪、最小运行负载率等。规划阶段即可知道"买几台、何时开、何时关"。
典型案例:碱性电解槽(ALK)启动耗时长、频繁启停损耗大。开启 UC 后,平台会为其排定"白天开启,夜晚停机"这类符合物理规程的启停计划,而不是让它逐小时随意开关。
术语说明:本文所称"启停优化"是规划场景下对启停敏感设备的简化机组组合——只建模启停成本与最低负载率(必要时加启停次数限制),不含电力市场中传统机组组合 UC 的连续运行时间、爬坡、备用等约束。同理,"运行优化"是在给定电价(固定边界条件)下最小化运行成本的调度,不对电价本身做市场化竞价——电价始终作为输入。
3.5 柔性负荷调度
柔性电负荷(FlexEleLoad)支持四种调节模式,以更好地对调节能力和调节价格进行建模,实现“以源定荷”:
| 模式 | 说明 | 适用设备 | 计算方式 |
|---|---|---|---|
| 挡位功率 | 按固定功率挡位增减载 | 空调、水泵等离散档位设备 | 混合整数(MILP) |
| 挡位比例 | 按额定功率的固定比例挡位增减载 | 有百分比挡位的设备 | 混合整数(MILP) |
| 无级功率 | 连续功率调节 | 可连续调节的负荷(推荐) | 线性规划(LP) |
| 无级比例 | 连续比例调节 | 可连续调节的负荷(推荐) | 线性规划(LP) |
新能源大发时段增载消纳、低谷时段减载降本,调节成本计入目标函数。大规模优化推荐使用无级模式(纯 LP,求解效率更高)。
3.6 全生命周期设备替换
按设备寿命与项目运营期自动计算替换次数,替换投资纳入全生命周期成本优化。
直观理解:项目周期 25 年,蓄电池寿命 10 年——期间需要更换 2 次。这两笔更换投资会自动计入设备投资总成本,避免"只算首次投资、低估真实成本"。
3.7 自定义元件模型
平台内置 40+ 类组件之外,还支持自定义元件模型:不改内核代码,只需在平台上用定义表(集合、参数、变量、约束、目标、成本)描述"一类设备长什么样",再在约束与目标中用元件 DSL 书写数学关系(如 这样的递推式),即可把新设备(塔式光热、工艺产线、新型热泵等)接入选型定容与运行优化,其约束与成本项自动进入第 4 章的模型框架。
注意区分两套 DSL:元件 DSL(描述单个元件内部的数学关系,索引域写法为
in 域)与 系统约束 DSL(见4.4.3 节,跨设备聚合,不同设备域写法为@组件)是两套独立语言,语法不通用、不可混用。完整语法、校验规则与塔式光热(CSP)实例走查见自定义元件模型 DSL 与 CSP 实例。
3.8 财务后评估
优化完成后可执行财务后评估,输出 11 张标准财务报表与投资收益率、投资回收期、度电成本等指标(详见结果查看)。
4. 优化数学模型
4.1 读懂优化模型
优化模型由目标、变量、约束三要素构成,以"家庭装修选家具"作类比:
| 三要素 | 数学名称 | 家装类比 | 本平台对应 |
|---|---|---|---|
| 想决定什么 | 决策变量 | 买几张床、几张桌 | 设备台数、逐时出力 |
| 想要什么最好 | 目标函数 | 花钱最少、利用率最高 | 全生命周期成本最小 |
| 必须满足什么 | 约束条件 | 房间面积有限、预算上限 | 能量平衡、设备物理限制、合规指标 |
优化求解器做的事:在所有满足约束的变量取值组合(可行方案)中,找到让目标函数最好(最优)的那一组。
平台已将能源规划的这三要素预置为模板:您录入拓扑与数据后,平台自动生成目标函数和绝大多数约束;您在方案中配置的参数(见计算方案配置)只是对少数关键项做调整。理解三要素,就能明白每个参数"到底在改模型的哪一部分"。
4.2 优化目标
平台基于单目标优化模型,优化目标为经济性——系统全生命周期综合成本最小:
各项含义与通俗解释:
| 分项 | 含义 | 通俗解释 |
|---|---|---|
| 投资等效年金 | 一次性投资折算成"每年摊多少钱"。买 100 万设备用 10 年,不是每年算 100 万,而是按年金公式摊到每年约 13~16 万(取决于贴现率) | |
| 固定运维成本 | 只要设备在,每年就得花的钱(检修、人工),与容量成正比 | |
| 可变运维成本 | 每发一度电(每供一焦热)多花的钱,与出力成正比 | |
| 燃料消耗成本 | 燃气锅炉、燃机的燃料费 | |
| 购能成本 | 从电网买电的钱,分时电价下白天贵、晚上便宜 | |
| 售能收益 | 新能源发电上网卖钱的收入(前面带负号,从总成本中扣除) | |
| 惩罚项 | 缺供电、弃风弃光、约束越限的"罚款"(见4.5 节) |
其中投资等效年金的计算公式为:
| 符号 | 含义 | |
|---|---|---|
| 贴现率,考虑资金的时间价值,默认 7% | ||
| 第 类设备的寿命年限 | 光伏约 25 年、蓄电池约 10 年 | |
| 待规划的设备种类数 | ||
| 第 类设备的投资费用 | 型号单价 × 台数 |
贴现率的直观作用:贴现率越高,未来支出的"现值"越低,优化越倾向于"少花钱建设、多花钱运行";贴现率越低,越倾向于"一次性多投资、换取低运行成本"。工程中贴现率一般取 5%~8%。
关于设备寿命与中途替换:上式中的 是单台设备的寿命年限(不是项目运营期)。当项目运营期长于设备寿命时(如项目 25 年、蓄电池 10 年),期间发生的更换投资由3.6 节的替换逻辑单独计算并计入全生命周期成本——即 中的 只反映首期投资的年金化,中途更换投资由替换项补充。
4.3 决策变量
优化模型求解时,以下变量由算法自动确定(您只需在平台上配置范围,不必逐个指定取值):
| 变量类别 | 类型 | 含义 | 示例 |
|---|---|---|---|
| 设备选型 | 整数 | 每种候选型号的配置台数 | 选"型号 A"还是"型号 B"风机、各几台 |
| 运行出力 | 连续 | 各典型日各时段的出力/充放电/能量流 | 蓄电池一天内的充放电策略、制冷机出力曲线 |
| 模式状态 | 0-1 | 启停敏感设备各时段的开/停 | 电解槽逐时启停排班(启用 UC 时) |
| 柔性调节 | 无级连续/挡位0-1 | 柔性负荷各时段的增/减载量 | 算力负荷高峰时段减载多少 |
| 潮流分布 | 连续 | 各支路各时段的功率流向与大小 | 每条线路、每个节点的功率分布 |
| 最大购电功率 | 连续 | 计费周期内的最大需量 | 两部制电价需量电费优化 |
| 松弛变量 | 连续 | 软约束的违反量 | 合规约束轻微越限时付出惩罚代价 |
设备选型与容量范围的关系:选型变量的取值范围取决于数据管理模块中的待选设备型号池;容量变量取值范围是用户指定容量约束内该型号可配的台数范围。示例见 3.1 节。
4.4 约束条件
4.4.1 能量模型约束
指系统的能量转换与平衡关系,是模型的"物理骨架",由平台根据拓扑自动生成:
- 设备能量转换关系:每类设备的输入-输出关系,如制冷机的"电→冷"按能效比(COP)转换、锅炉的"气→热"按效率转换;
- 节点能量平衡:每个节点每个时段,流入功率 = 流出功率,各载体分别平衡——"供多少、用多少、存多少,账要平"。
平台采用交直流线性潮流内核在节点-支路拓扑上建模:
- 传输线:线性化交直流潮流模型,支持支路容量双向约束,以匹配绿电直连专线;
- MMC 换流器:桥接交直流网络,支持主从控制;
线性化潮流避开非线性求解的不稳定,同时保留功率方向与容量信息——过去只能看到"系统发了多少电、用了多少电",现在能看到每一台设备、每一条线路、每一个节点在每一时刻的功率流向。
拓扑连接由用户在拓扑编辑器中手动搭建,平台在其基础上自动识别交直流母线与电压等级、自动推导平衡关系,用户无需手动声明供能方式。
4.4.2 设备运行约束
每类设备依据其物理特性施加运行约束:
| 约束类型 | 说明 | 通俗解释 | 适用设备 |
|---|---|---|---|
| 出力上下限 | 出力不超过已配置容量,不低于最小负载率 | "这台机器最多干这么多活" | 所有设备 |
| 能效转换关系 | 输出 = 输入 × 能效比(COP/效率) | "消耗 3 度电产 10 度冷" | 热泵、制冷机、锅炉、换热器等 |
| 储能 SOC 限制 | 荷电状态在允许范围内,始末容量一致 | "电池不能充爆、不能放空,调度周期内存放电量打平" | 蓄电池、储热/冷/氢罐 |
| 充放电功率上限 | 充/放电功率分别不超过额定充/放电功率,均为非负连续变量 | "这台储能最多这么快充、最多这么快放" | 蓄电池、储热/冷/氢罐 |
| 启停逻辑 | 启停成本 | "启停一次成本较高,不能随意启停" | 电解槽等 |
| 特性曲线 | 特性曲线分段线性化 | "部分负荷下效率会变,按曲线算" | 单/双工况制冷机 |
| 冷热双模式 | 同一设备冷热模式切换 | "同一台设备,不能在同一时段同时制冷制热" | 热泵、吸收式设备 |
提示:同时充放不是模型的解算错误,而是富余电力没有合理正当去处的症状。正确处理见结果页面 · 弃电与同时充放电,根因通常是上网通道未打通或弃电成本设置较高。以上为内置组件的约束;自定义元件的运行约束由用户以元件 DSL 声明(见3.7 节),构建后与本节约束同层生效。
4.4.3 系统级约束
跨设备的系统级指标约束,如绿电直连合规指标、新能源消纳比例、储能保供等。平台提供预设约束模板(直接选类型给限值)与自定义 DSL(用接近数学表达式的语法描述,仅支持统一模型),详见计算方案配置 · 系统约束。
4.4.4 外部条件约束
| 约束 | 说明 | 通俗解释 |
|---|---|---|
| 外部电源最大购电量 | 电网接口的购电功率上限 | "供电局只允许你这么大功率用电" |
| 最大上网电量 | 新能源上网比例限制(外部电源属性) | "反送回电网的电不能超过这个比例" |
| 变压器或传输线容量 | 传输容量限制 | "变压器就这个容量" |
4.5 惩罚项
优化模型中,能量不平衡(缺供、弃能)与软约束违反通过惩罚成本计入目标函数,而非硬性禁止。这样既保证模型有解,又引导优化结果尽量满足供需平衡与合规要求:
| 惩罚项 | 参数 | 默认值 | 触发场景 |
|---|---|---|---|
| 电不平衡惩罚 | 电不平衡惩罚单价 | 10000 元/kW | 负荷缺供、余电无法消纳 |
| 新能源弃电惩罚 | 新能源弃电惩罚 | 0.2 元/kWh | 弃风弃光 |
直观理解:惩罚项相当于在优化"心里"给每度缺供电、每度弃电标了个价格。如果"配 1 台储能"比"交罚款"便宜,优化就配储能;反之宁可受罚。所以:
- 惩罚设太低 → 结果大量缺供/弃电("罚得起就随便犯");
- 惩罚设太高 → 结果过度配置设备来避免任何微小不平衡("过度防御")。
设置建议:电不平衡惩罚应显著高于购电单价(缺供是严重事件);弃电惩罚介于 0 与电价之间。具体见计算方案配置 · 优化设置参数。
5. 数学优化原理基础
本章面向初学者,用通俗语言介绍平台背后的数学优化原理。读完您将理解:为什么规划问题是"混合整数线性规划"、求解器在做什么、"最优性间隙 1%"是什么意思。跳过本章不影响使用平台。
5.1 线性规划
什么是线性规划
线性规划(Linear Programming, LP)是运筹学中最基础、应用最广的优化方法:目标函数和所有约束都是变量的一次函数(没有平方、没有乘积)。
一个直观的例子:
某工厂生产 A、B 两种产品:A 每件赚 3 元、耗电 2 度;B 每件赚 4 元、耗电 4 度。每天最多供电 80 度,且 B 的日产量不能超过 15 件。各生产多少件利润最大?
写成数学形式:
其中 s.t.(subject to)表示"受约束于"。 就是决策变量, 而您将优化决定它们的取值。
线性规划的几何直觉
把每个可行方案看成坐标系里的一个点,所有满足约束的点构成一个可行域——它是一个凸多面体(二维时是多边形)。一个经典结论是:
线性规划的最优解一定出现在可行域的某个"顶点"上。
这就像在一个多边形的围墙里找"最低点",只需沿着围墙(顶点)走,不必考察围墙内的无穷多个点。正因如此,LP 可以在多项式时间内被精确求解——这使 LP 成为运筹学中"最好解"的一类问题。
平台中的 LP
平台的基础运行优化(设备出力、交直流线性能量潮流优化)就是大规模 LP:对于平台的 LP 项目,上百万条约束、数百万个变量,求解器仍然能在秒到分钟级精确求解。
5.2 整数规划与混合整数规划
为什么需要整数变量
设备不能买半台——选型"1 台或 2 台"是离散决策;设备某一时刻要么开、要么停——启停是"是/否"决策。这些量必须用整数变量(或 0-1 变量)表达。
- 整数规划(IP):所有变量都是整数;
- 混合整数规划(MILP):部分变量整数(选型台数、启停状态、模式变量、运行挡位)、部分变量连续(出力功率)——本平台规划问题的类型。
整数带来的质变
整数变量让模型能表达"逻辑":
| 需求 | 数学实现 | 平台中的应用 |
|---|---|---|
| 要么买 A 型、要么买 B 型,不能都买 | 两个 0-1 变量之和 ≤ 1 | 多型号互斥选型 |
| 开机才能出力,关机必然零出力 | ( 为 0-1 启停变量) | UC 启停、大 M 法 |
| 电网不能同时上下网 | 两个状态变量互斥 | 上下网模式互斥 |
| 双工况机组只能处于一种模式 | 模式 0-1 变量之和 = 1 | 制冷/制冰模式切换 |
MILP 比 LP 难在哪
LP 只需考察可行域顶点;而整数变量的存在把可行域"切碎"成离散点集,求解器通常需要分支定界(Branch and Bound):先放宽整数要求按 LP 求解,再逐层"分支"尝试将变量固定为整数,用"边界"(bound)剪掉不可能更优的分支。问题规模越大、整数变量越多,搜索树越庞大——这就是大规模 MILP 求解耗时长的根本原因,也是平台提供两阶段解耦(第 6 章)的原因。
5.3 求解器如何寻找最优解
您不需要了解算法细节,但了解以下流程与信息有助于理解 MILP 的求解原理:

| 阶段 | 求解器在做什么 | 日志(如有) |
|---|---|---|
| 预处理(Presolve) | 消去冗余约束与平凡变量,缩小问题 | "Presolve: removed xxx rows" |
| 求下界(LP 松弛) | 放宽整数约束求 LP,得到"理论最好能好到什么程度" | "Best bound" 持续上升 |
| 分支搜索 | 逐个固定整数变量、分支剪枝,不断找到更好的可行方案 | "Best integer" 持续下降(最小化问题) |
| 收敛判定 | 当"最好可行解"与"理论下界"的相对差距 ≤ 最优性间隙,停止 | "Gap: 0.8% < 1%, optimal" |
最优性间隙 MIP Gap
MILP 通常不追求严格数学最优,而是允许一个相对偏差容忍度:
默认 Gap = 1%:即找到的方案成本保证不超过理论最优的 1%。对工程规划而言 1% 的偏差远小于负荷预测等数据本身的误差,完全可接受。调小 Gap 换精度、调大 Gap 换速度。
5.4 常用术语速查
| 术语 | 英文 | 通俗解释 |
|---|---|---|
| 目标函数 | Objective Function | 要最小化/最大化的量(这里是总成本) |
| 决策变量 | Decision Variable | 由优化决定的量(台数、出力、启停) |
| 约束条件 | Constraint | 变量取值必须满足的限制 |
| 可行解 / 可行域 | Feasible Solution / Region | 满足全部约束的方案 / 所有可行方案的集合 |
| 最优解 | Optimal Solution | 可行域中目标函数最好的方案 |
| 无可行解 | Infeasible (IIS) | 约束互相矛盾,无任何方案能满足 |
| 线性规划 | LP | 目标与约束全为线性的优化问题 |
| 混合整数规划 | MILP | 部分变量取整数的优化问题 |
| 松弛变量 | Slack Variable | 软约束的"违反量",付出惩罚换取可行 |
| 最优性间隙 | MIP Gap | 当前解与理论最优的相对偏差 |
| 求解器 | Solver | 专业数学优化计算软件(HiGHS、CBC 等) |
| 凸优化 | Convex Optimization | 一类性质良好、可高效求解的优化问题,LP 是其特例 |
6. 求解计算
6.1 求解模式
平台提供三种求解模式,按模型规模与精度需求选择:
| 模式 | 技术路线 | 适用场景 | 特点 |
|---|---|---|---|
| 统一模型 | 全部场景构建为一个混合整数规划模型,一次求解 | 中小规模、需要全局精确最优解 | 精度最高,求解时间随时段数增长较快 |
| 两阶段串行 | 先配置、再运行:第一阶段在极端场景下确定设备配置;第二阶段固定配置,逐场景优化运行 | 大规模、含启停(UC)逻辑 | 兼顾精度与效率 |
| 两阶段并行 | 同上,第二阶段各场景分区并行求解 | 大规模复杂项目的全年 8760h 优化 | 速度最快,牺牲一定精度 |
6.2 两阶段解耦技术路线
两阶段解耦的核心思路是**"先配置、再运行"**:
第一阶段(配置定容)
优化设备选型与容量
│
│ 设备配置固定
▼
第二阶段(运行优化)
逐时段优化运行策略
│
▼
结果展示:全年 8760h 运行曲线 → 统计与财务评估
模式选择建议(决策判据):
如果你的诉求是… 选哪种模式 项目初期快速估算、规模较小、要全局最优解 统一模型 高阶用户,启用自定义约束 DSL 统一模型 全年 8760h / 设备多,复杂优化 两阶段串行 注意:自定义表达式约束(
ConstraintType=2)与两阶段互斥——启用自定义表达式时求解模式必须为统一模型;而模板预设(=1)支持分阶段(Phase 1 跳过比率类、Phase 2 生效)。
6.3 求解
求解器选项(时间限制、最优间隙、并行线程数)由平台统一配置,一般无需修改;高级用户可在计算方案中调整。平台支持与主流优化求解器对接,如 HiGHS / SCIP / CBC 等,推荐 HiGHS 求解器。HiGHS 是由英国爱丁堡大学开发的开源高性能线性规划(LP)与混合整数线性规划(MILP)求解器,采用 MIT 许可。它内置单纯形法、内点法和分支割平面引擎,性能在开源求解器中处于第一梯队,大规模 MILP 实例上显著优于老牌的 CBC,接近 Gurobi、CPLEX 等商业求解器水平,提供 highspy 等 Python 接口,被 Pyomo、JuMP 等主流建模框架原生支持。
| 选项 | 默认值 | 说明 |
|---|---|---|
| 求解时间限制 | 1200 s | 优化求解的最长时间 |
| 最优性间隙 | 1% | 解与理论最优的相对偏差容忍度(见5.3 节) |
| 并行核心数 | 8 | 求解器内部并行核心数 |
7. 典型场景生成与 GMM 聚类算法
7.1 为什么需要场景缩减
不管是综合能源系统的规划投资还是仿真模拟分析,都需要海量场景的支撑,都需要首先确定综合能源场景,包括主要的气象条件(太阳辐照强度、风速、温度等)、电冷热负荷参数等。在准确的综合能源场景下的规划设计结果更具备可行性。
若综合能源场景包含 8760h 所有的数据,不仅会使得规划优化问题异常复杂,还对计算资源要求很高,计算时间很长,带来**"维数灾难",需要进行场景缩减生成**。传统做法是通过把气象条件和电冷热负荷加权后生成场景,如年典型日、季节典型(夏天、冬天和过渡季节)和月度典型日,以降低计算复杂度。但这类典型日的数量少,规划设计精度较低,其规划方案不能用于实际生产设计,难以实际落地;也未考虑极端场景,极端工况发生概率不明确,可能造成投资过多而浪费。
因此需要通过场景生成技术,让典型场景兼容海量场景的丰富性和少量场景的代表性,兼顾计算准确和效率:相似场景聚类后只需计算一次,避免"维数灾难",为规划提供具有合理精度的基本完整数据集。
7.2 聚类算法
生成典型场景的主流方法是聚类算法,按"每个时刻归属几类"可分为硬分类与软分类两类:
| 类别 | 代表算法 | 特点 | 局限 |
|---|---|---|---|
| 硬分类 | k-means、k-medoids、层次聚类、基于密度的聚类(DBSCAN) | 每个时刻硬性划分到某一个类别;需指定类别数量与距离度量 | 丢失场景间过渡信息;边界时刻归属武断 |
| 软分类 | 高斯混合模型(GMM) | 计算某时刻属于各典型日的概率,结合概率统计方法 | 计算量略大(平台已优化) |
直观对比:凌晨 3 点到早晨 7 点,负荷从"夜间形态"逐渐过渡到"日间形态"。硬分类会在某个整点把它"一刀切"进某一类;GMM 则认为 5 点"60% 像夜间形态 + 40% 像日间形态",典型日形态由概率加权融合——过渡更平滑、形态更贴近真实,可以更好地指导综合能源系统的投资规划。
IESLab 默认采用 GMM 软聚类 生成典型场景:典型日用于运行优化,8760h 全量曲线由典型日按权重映射重组得到。
7.3 场景生成方式
| 方式 | 方法 | 输出 | 计算量 | 精度 | 适用阶段 |
|---|---|---|---|---|---|
| 月度平均 | 每月取均值 | 12 个典型日 | 极小 | 低 | 项目初期快速估算 |
| 月度聚类 | 每月独立 GMM 聚类 | 每月若干典型日 | 小 | 中 | 月度精细分析 |
| 全周期聚类 | 全时间周期按天进行 GMM 聚类 | ≤20 个典型日 | 中 | 较高 | 兼顾效率与精度 |
| 8760h 全年 | 不缩减,全量建模 | 全年逐时 | 最大 | 最高 | 运行阶段精细化优化 |
选择指引:
- 月度平均:综合能源项目初期规划阶段,计算量小,可以快速找到合适的设备型号及容量配置方案;
- 聚类(月度/全周期):能够兼顾计算效率和精度,满足大多数场景需求——一般项目的推荐选择;
- 8760h 全年:适合运行阶段的设备出力优化,对优化结果要求较高的场景,如风光储项目中对储能的精细化调控。
7.4 GMM 聚类算法原理
7.4.1 数学模型
GMM 假设观测数据(各时刻的多维特征:负荷 + 气象)由 个高斯分布混合生成:
| 符号 | 含义 | 通俗解释 | |
|---|---|---|---|
| 第 个成分的权重() | 这类形态的时段占全年多大比例 | ||
| 第 个成分的中心 | 这类"典型日"的形态长什么样 | ||
| 第 个成分的离散程度 | 这类形态内部的差异有多大 |
7.4.2 算法流程
数据预处理
曲线补全为整天逐时数据,缺失值时间插值,MinMax 归一化消除量纲影响
│
▼
PCA 降维
提取主要特征成分,降低高维聚类的计算复杂度
│
▼
EM 迭代求解
E 步:计算每个时刻属于各成分的概率(软分配)
M 步:按概率加权更新各成分的中心与离散度
反复迭代直至收敛
│
▼
BIC 准则确定聚类数目
BIC(K) = -2·ln(似然) + 参数数·ln(样本数),取最小值对应的 K
│
▼
生成典型日
每个成分 → 一个典型日;权重 = 该成分覆盖的小时数
典型日曲线 = 成员时刻的加权平均
其计算流程如下图:

EM 迭代的直觉:E 步先"猜"每个时刻属于哪类(按概率),M 步再根据猜测重新估计每类的"长相";如此反复,分类与类形态互相改进,直至不再明显变化——类似"先按印象分组、再按分组修正印象"的迭代过程。
7.4.3 BIC 准则自动确定聚类数目
聚类数目 越大,对数据的拟合越精细,但模型越复杂、后续优化计算量越大。**BIC(贝叶斯信息准则)**在两者间自动权衡:
- :模型对数据的拟合优度(似然值);
- :模型参数个数(随 增长);
- :样本量。
BIC 取最小值对应的 ——即"拟合精度提升不足以抵偿复杂度增加"的临界点。
| 方式 | 说明 | 建议 |
|---|---|---|
| 自动确定(默认) | 按 BIC 准则寻优 | 一般场景推荐 |
| 指定数目 | 用户手动指定(月度聚类每月上限 6,全周期聚类上限 20) | 对比敏感性、控制计算量时使用 |
经验参考:全周期聚类 8~15 个典型日通常已能较好覆盖全年特征;若关注极端工况,请配合两阶段模式的极端场景识别(其独立于聚类自动运行)。
7.5 聚类结果的构成
每个典型日包含:
| 字段 | 含义 |
|---|---|
| 典型日编号 / 名称 | 如"1月典型日 1"、"年度典型日 3" |
| 所属月份 | 典型日归属月份 |
| 持续时长(权重) | 该典型日代表全年多少小时 |
| 各类负荷最大/平均值 | 电/冷/热/氢负荷统计 |
| 24h 逐时曲线 | 气象与各负荷/出力曲线 |
可在方案中开启"场景是否可视化",在结果中直观检查聚类效果(每类形态是否合理、权重分布是否均衡)。
8. 财务评估基础理论
优化完成后,平台支持对方案进行全生命周期的财务评价,输出投资收益率、回报期等经济性指标以及十余张财务报表。本节介绍读懂报表和处理财务评估结果所必需的基础财务知识,理解本节有助于在计算方案配置(财务参数)中正确填写各项财务参数。如果已经熟悉项目财务评价,可以跳过本节直接阅读报表原理。
名词澄清:本节是"评估与报表的数学原理"。平台中与财务相关的三块内容——评估原理(本节)、方案中的财务参数(见计算方案配置)、结果报表明细(见结果页面)——三者分别属于原理、配置与结果,阅读时可对照参考。
8.1 资金时间价值与折现
资金时间价值是指资金在不同时间点上具有不同价值:今天的一元钱比一年后的一元钱更值钱,因为可以投资生息。财务评估必须把不同年份的现金流量放在同一个时间基准上比较,这就是折现(贴现)。
折现的数学形式为:
某年现金流的现值 = 该年现金流 / (1 + 折现率)^年数
其中折现率即机会成本或基准收益率。基于折现可以定义两个最重要的指标:
- 财务净现值(NPV):把项目全周期的净现金流量按基准折现率折算到起点后的总和。NPV > 0 表示项目收益超过基准收益水平,可行;NPV < 0 表示项目达不到基准收益水平。
- 财务内部收益率(IRR):使项目净现金流量现值总和恰好等于 0 的那个折现率,即"项目自身的投资回报率"。IRR 越高,项目盈利能力越强。由于 IRR 的方程无法直接求解,本平台采用牛顿迭代法求解(从初始值 8% 出发迭代,相邻两次解的差小于千分之一时收敛)。
平台概览指标中的财务净现值和内部收益率均按上述原理计算。
8.2 项目财务评价的两套口径
财务评估先把"项目整体"和"投资者角度"分开考察,对应两套现金流量表:
- 融资前分析(项目投资现金流量表):站在项目整体角度,不考虑钱是借来的还是自己的,现金流出只包括建设投资、流动资金、经营成本、税金,不含借款及其还本付息。它衡量项目自身的盈利能力,计算"项目投资内部收益率"。
- 融资后分析(项目资本金现金流量表):站在投资者的角度,只考察自有资金(资本金)的投入与回报,现金流出包含资本金投入、还本付息、所得税等。它衡量投资者的回报水平,计算"资本金内部收益率(即财务内部收益率,FIRR)"。
两者的关系是:融资前分析看"项目值不值得做",融资后分析看"项目对股东划不划算"。
8.3 盈利能力评价指标族
平台经济性指标分为静态指标(不考虑资金时间价值)与动态指标(考虑资金时间价值)两类:
| 类型 | 指标 | 含义 | 计算公式(平台实现) |
|---|---|---|---|
| 动态 | 资本金内部收益率 | 资本金口径现金流 IRR | 使资本金净现金流量现值=0 的折现率(牛顿迭代) |
| 动态 | 项目投资内部收益率 | 项目整体口径现金流 IRR | 使总投资净现金流量现值=0 的折现率,分所得税前/后 |
| 动态 | 财务净现值 | 按基准折现率折算的净现值 | Σ 各年净现金流量×(1+基准折现率)^(-年数),分所得税前/后 |
| 动态 | 投资回报期 | 收回全部投资所需年数 | 累计净现金流量首次转正的年份 + 插值修正 |
| 静态 | 总投资收益率(ROI) | 项目整体盈利能力 | 平均年息税前利润 / 项目动态总投资 × 100% |
| 静态 | 资本金利润率 | 资本金盈利能力 | 平均年净利润 / 项目资本金总额 × 100% |
| 静态 | 年销售收入 | 项目投产后年收入水平 | 运营期首年产品销售收入 |
| 静态 | 平均年总成本费用 | 运营期年均成本 | 运营期总成本费用之和 / 运营期年数 |
| 静态 | 项目动态总投资 | 含建设期利息的总投资 | 建设投资 + 建设期利息 + 流动资金 |
投资回报期的插值计算:观察累计净现金流量序列,找到首次由负转正的那一年 N,则回收期 = (N-1) + |第 N-1 年累计净现金流量| / 第 N 年净现金流量,即用线性插值精确到小数。
为什么要同时看所得税前和所得税后:所得税前指标反映项目"不含税负调节"的真实盈利能力,便于横向比较;所得税后指标反映投资者实际可获得的回报,更贴近现实判断。
8.4 全生命周期财务模型的总框架
财务评估把项目生命周期分为建设期与运营期。整个模型按以下顺序逐层推算:
投资估算(建设投资、流动资金)
↓
融资方案(资本金 + 债务资金、建设期利息资本化)
↓
折旧与摊销 → 总成本费用(含财务费用)
↓
营业收入与税金 → 利润与利润分配(所得税、公积金、股息)
↓
现金流量表(融资前/融资后/财务计划)→ 概览经济性指标
↓
资产负债表(资产 = 负债 + 所有者权益,校验全模型平衡)
每一层的输出都作为下一层的输入,层层递进、互相勾稽,最终由资产负债表验证整个模型年度平衡。
下一步:财务报表之间的勾稽关系、11 张报表的逐一计算原理,以及各财务参数的填写说明,见计算方案配置;生成报表的查看位置与方法见结果页面。
9. 结果正确性判定
平台返回计算结果不等于结果可信。只保证"在您给定的模型与数据下,找到了成本最低的可行方案";如果模型或数据本身有问题,它同样会返回一个"最优"的错误答案。因此,结果的正确性必须由人来判定。
本节给出一套从粗到细的三级校验,建议每次拿到结果后按顺序执行。工程排障的完整操作手册见结果页面 · 优化调试技巧。
9.1 第一级 查看报错提示
判定的第一道闸门,是查看报错提示,并核对本应恒为零的"病态量"是否真的为零——若非零,说明结果存在物理或约束层面的异常,不应直接采用。
| 必须为零的量 | 含义 | 非零意味着什么 |
|---|---|---|
| 系统缺电 | 负荷没有被满足的功率缺口(kW) | 供电能力不足或购电通道被堵死 → 见9.4 |
| 系统弃电 | 发出来但用不掉、也没处送的富余电(kW) | 新能源富余且消纳路径不通 → 见9.5 |
| 松弛变量 | 系统级约束被违反的量 | 合规约束未被真正满足 → 见9.6 |
为什么这三项"非零却不报错":平台把缺电、弃电和约束违反设计成带惩罚的软约束——违反要交"罚款",但不禁止。这样模型永远有解(不会因为参数互相矛盾而直接失败),代价是问题被隐藏进了目标函数。所以求解状态显示"成功"时,仍必须自己检查这三项。
9.2 第二级 看能量是否守恒
对每个能源载体(电/热/冷/氢等),每个时段的供应侧之和必须等于消耗侧之和。结果页面的能量平衡表(可导出 Excel)逐时给出了分项数据,直接用"供应项求和 = 消耗项求和"校验即可。
- 电平衡中,"购电下网 + 新能源实际出力 + 储能放电 + 系统缺电"应等于"电负荷 + 储能充电 + 余电上网 + 系统弃电";
- 若某时段两侧对不上,优先怀疑单位错误(kW 填成 W、kWh 填成 MWh)与数据缺失(气象/负荷曲线有空档被插补)。
9.3 第三级 检查约束设置 看比率是否自洽
平台对新能源的电力去向有一条强制守恒关系:
优先级为 上网 > 自消纳 > 弃电。含义是:新能源发出的电,只能在这三个去处之间分配,比例之和恒为 1。由此产生两条重要推论:
- 弃电率上限通常不是您填的那个值——它由引擎按
c = 1 − g − s自动推导。例如外部电源 最大上网率 20%、自消纳率下限 60%,则弃电率上限被推导为1 − 0.2 − 0.6 = 20%;此时即便您手动填了"弃电率上限 50%",引擎也会将其下调并告警。 - 收紧其中一项,必然挤占另一项。若把上网率压到 5%、又要求自消纳率 ≥ 90%,则弃电空间只剩 5%;一旦新能源出力波动超过这个余量,就会触发弃电惩罚或约束松弛。
拿到结果后请核对结果页的"上网率 / 自消纳率 / 弃电率"三项之和是否接近 1,若严重偏离,说明某项设置未生效或数据口径不一致。
9.4 典型异常一 缺电
现象:能量平衡表"系统缺电"列非零;储能长期处于下限;购电功率顶到上限;目标函数中的电不平衡惩罚项显著。
机理:某一时刻"负荷需求"超过了"本地发电 + 储能放电 + 外部购电"三者之和,缺口以系统缺电计入,并按 10000 元/kW 计罚。
按以下顺序排查(命中率由高到低):
| 顺序 | 检查项 | 说明 |
|---|---|---|
| 1 | 外部电源最大下网功率是否被填小或留空 | 这是最常见的根因。购电通道被堵死,本地又发不够,必然缺电 |
| 2 | 设备容量范围上限是否过低 | 规划阶段把"光伏 0~500 kW"写死,负荷却是 2000 kW |
| 3 | 负荷曲线单位是否错误 | 负荷填成 W 会被放大 1000 倍;填成 kWh 会造成时段错位 |
| 4 | 气象数据是否缺失导致新能源理论出力为 0 | 辐照/风速为空时,光伏/风机等同"没装" |
| 5 | 储能是否因 SOC 下限或保供约束被锁死无法放电 | 会锁住可用容量 |
| 6 | 是否启用了峰谷差率,是否合理 | 详见下方"峰谷差率陷阱" |
峰谷差率陷阱:峰谷差率约束= | 下网功率- 最大下网功率 | / 最大下网功率,若最大下网功率填得很大,而峰谷差率又填了 60 %之类,则等价于强制每个时段的实际下网功率至少按最大下网功率的 40% 购电,会造成大量不平衡。 规避:最大下网功率请按实际最大需量填写(如 1.2 倍最大负荷);峰谷差率数值一定要慎重填写,不需要峰谷差率约束时请填 100%。
9.5 典型异常二 弃电与同时充放电
现象:能量平衡表"系统弃电"列非零;或日志出现"第 N 个典型场景的 H 时存在同时充放现象,不可行"。
机理:新能源大发而负荷低谷时,富余电力只有三个去处——上网、充进储能、弃掉。当三者都不通或都不划算时,就会出现弃电;若"弃电惩罚(默认 0.2 元/kWh)"高于"储能充放电的可变运维成本",模型会选择用储能边充边放把电耗散掉,形成同时充放。
排查与处置:
- 先查上网通道是否真的打通(首要根因)。需同时满足三项,缺一不可:
- 外部电源允许上网;
- 上网容量不为零;
- 上网率不为零。同时,必须在数据模块绑定上网电价,否则上网毫无收益,模型宁可弃电。
- 再查弃电率上限是否被守恒挤占:见 9.3。
- 务必检查成本项:储能充放电的可变运维成本是否设置合理,如正常储能充放电运维成本约 0.1 元/kWh,检查新能源弃电惩罚是否设置过高,默认 0.2 元/kWh较合理。
- 最后才考虑调惩罚参数:若确认富余电在物理上确实无处可去(如孤岛系统),适当降低弃电惩罚,可消除无意义的同時充放;但这是治标,应先排除第 1 项。
重要:同时充放不是求解器算错,而是"富余电力没有正当去处"的症状。 不要把它当成模型缺陷,而应当作一条指向"上网通道未打通"的诊断线索。
9.6 典型异常三 约束被松弛
现象:求解成功、结果看起来合理,但某项合规指标(自消纳率、上网率、绿电占用电比)实际未达标;或结果页出现松弛告警。
机理:系统级约束默认以软约束实现——自定义约束允许松弛,即允许越限,并向目标函数追加罚款。于是形成一个"买通"关系:
若"违反约束交的罚款" < "为满足约束多花的投资",优化就会选择交罚款。
这意味着约束看起来在模型里,实际上没被满足。判定方法是:不要只看报告里"写了这条约束",而要看结果指标是否真的达标。
处置:
- 在结果中核对该项指标的实际值(如自消纳率实际 52%,而非要求的 65%);
- 若存在越限,说明惩罚单价相对投资成本偏低 → 修改约束,直到优化认为"守规矩更划算";
- 同时检查约束是否真的生成了——见 9.7。
特别提示:保供约束默认不松弛,因此其惩罚用的是电不平衡惩罚价(默认 10000 元/kW),远大于普通软约束。因为保供违约代价极高,不允许被轻易"买通"。若保供约束出现松弛,说明问题相当严重,务必排查储能容量与极端工况设置。
9.7 典型异常四 设了参数却不生效
这是最隐蔽的一类问题:您在界面上填了参数,但引擎判定该约束"退化"并直接跳过构建,全程无任何报错。已知规则如下:
| 参数/约束 | 不生效的条件 | 正确做法 |
|---|---|---|
| 下限类约束(自消纳率、占用电比) | 下限 ≤ 0 | 需要生效就填大于 0 的值 |
| 上限类约束(弃电率、上网率) | 上限 ≥ 100%(视为"不限")或 上限 ≤ 0(视为"不允许") | 需要生效就填 0~100 之间的值 |
| 上网率约束 | 外部电源不允许上网 | 允许上网并填 0~100 之间的百分数 |
| 保供约束 | 保供时长为0 | 需要保供就填大于 0 的小时数 |
| 自定义表达式约束 | 求解模式为两阶段 | 模板预设支持分阶段;自定义表达式与分阶段互斥,请改用统一模型 |
| 最低自消纳率(计算方案设置) | 填 0 或留空 | 需要生效就填 >0 的百分数(如 65);若同时配置了"新能源自消纳率"预设模板,以模板为准 |
| 自定义约束 | 自定义约束类型为不支持——此时整张列表被忽略 | 需要预设/自定义约束生效,请将约束类型置为预设或自定义表达式 |
通用工作原则:要对结果指标和项目设置做交叉验证。如项目设置了自消纳率约束≥ 65%,但实际消纳率却为 60%,请务必仔细对照审查。
9.8 典型异常五 静默失效 约束设置了不等于算正确了
9.7列的是引擎主动判定退化的情形;实践中还有一类更隐蔽的问题:约束看似配置成功(平台页面设置了),但从未真正约束求解。建议按"四层追问"逐层排除:
| 层级 | 追问 | 检查手段 | 典型表现 |
|---|---|---|---|
| L1 生成但未生效(退化) | 是否被"退化判定"跳过,或界被守恒推导覆盖? | 9.7退化规则表;守恒关系 g+s+c=1 | 填了弃电率 50%,实际按 20% 执行并告警 |
| L2 生效但被"买通"(软约束) | 是否以"交罚款"代替了"满足约束"? | 松弛量/松弛告警 + 指标实际值 | 约束确实在模型里,但优化选择交罚款(9.6) |
| L3 满足但数据不合理 | 指标都达标,方案在工程上可行吗? | 与台账、实测、同类项目对比 | 数据口径错,模型"最优地"算出一个不现实的方案 |
| L4 优化内核未生成(bug) | 这条约束真的进优化模型了吗? | 结果数据分析 | 参数填了、报告也写了,但模型里查无此约束,为平台算法 bug,请联系 CloudPSS 反馈 |
提示:
- "设置了约束" ≠ "模型里有约束"——平台约束设置由配置字段生成,而优化模型中的约束由引擎构建;当平台字段与引擎读取口径发生漂移时,二者会不一致,且全程不报错;
- "参数生效"必须用结果指标反证——任何合规类参数都要用结果结果的实际指标验证(例如设了自消纳率 ≥65%,就去核对实际消纳率),而不是只看界面是否填了值。
9.9 判定清单 可打印对照
每次拿到优化结果,建议按此清单逐项打勾:
- 求解状态为正常,不报错,且有优化结果;
- 报错提示无系统缺电、系统弃电、同时充放电、约束松弛;
- 电/热/冷/氢各载体能量平衡表逐时守恒;
- 上网率 + 自消纳率 + 弃电率 ≈ 1;
- 设备配置台数为整数,且落在设定的容量范围内;
- 储能 SOC 曲线在上下限内、日末基本回到起点;
- 关键参数单位复核(kW / kWh / 元 / 百分数);
- 报告描述的约束与结果指标交叉验证一致。
延伸阅读:本系列共三篇——原理篇(本篇,回答"模型在算什么、结果怎么判")、配置篇(计算方案配置,回答"每个参数怎么填、有什么约束")、结果篇(结果页面,回答"怎么读图、怎么排障")。本篇第 9 章给出的判定方法,其操作层面的完整排障手册见结果页面 · 优化调试技巧。