Skip to content

Zheng-Energy/CEpower

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CEpower V2.87

中国省级电力系统容量规划与逐时调度联合优化模型 Provincial Capacity Expansion & Hourly Dispatch Optimization Model for China's Power System

Python 3.10+ Solver: HiGHS Linopy License: Apache 2.0 Version: 2.87

English README | 中文说明 详细参数手册:活参数 vs 死参数说明 | Parameters (EN) 完全新手?请先读:新手安装与运行指南(30 分钟跑通)


目录


一、模型简介

CEpower V2.87 是面向中国 31 个省(自治区、直辖市)的源–网–荷–储一体化电力系统容量规划与逐时调度联合优化模型。模型以系统年化总成本最小化为目标函数,在 16 项物理/经济/政策约束下,求解每个省份每种技术的最优新增装机逐小时调度方案

模型严格对齐"中国双碳路径标准输出模板":每个情景输出 6 个年份 Sheet(2025/2030/2035/2040/2050/2060)+ 1 个指标说明 Sheet,每个 Sheet 包含 12 个一级指标分组 × 95 项标准指标 ×(31 省 + 7 区域小计 + 1 全国合计)= 39 行数据 × 98 列。

核心特征

维度 配置
空间分辨率 31 个省级行政区(PROV_31)+ 7 大区聚合
时间分辨率 8760 小时(可降采样到 1 / 8 / 24 / 168 / 720 h)
发电技术 11 种(煤电、煤电+CCS、CCGT、OCGT、核电、陆上风电、海上风电、集中光伏、分布式光伏、水电、生物质)
储能技术 6 种(PHS / LFP / Na-ion / 液流 / H₂ / CAES)
输电网络 34 条省间通道(含 ±1100 kV 特高压直流)
灵活负荷 绿氢电解槽(内生柔性负荷)
规划年份 2025 / 2030 / 2035 / 2040 / 2050 / 2060
情景体系 基准 / 高核电 / 煤电+CCUS(共 3 个)
求解器 HiGHS(开源高性能 LP 求解器,含 IPM + Simplex)
建模框架 linopy 0.3+(基于 xarray 的现代 LP 建模库)

二、技术亮点

CEpower V2.87 在以下九个维度上提供完整、自洽、面向中国电力转型实务的优化能力:

# 特性 说明
1 31 省全域覆盖 与国家统计年鉴一致的 31 省级行政区 + 7 大区聚合,结果可直接对接政府规划
2 8760 小时全分辨率 完整逐时调度,支持 1 / 8 / 24 / 168 / 720 h 灵活降采样以平衡精度与速度
3 17 类源储一体建模 11 种发电技术(含煤电 CCS、海上风电)+ 6 种储能技术(PHS、LFP、Na-ion、液流、H₂、CAES)
4 75 条省间输电通道 含 ±1100 kV 特高压直流,逐线路损耗率、季节性热稳定限制、N-1 安全裕度
5 CCUS 内生优化 捕集率、捕集量、CCUS 装机由模型自主决策,而非外生配置
6 绿氢内生灵活负荷 电解槽容量与逐时产氢由模型权衡,提供清洁可调度负荷
7 气候情景集成 SSP1-2.6 ~ SSP5-8.5 五种气候路径 + W1-W6 六类极端天气事件影响
8 系统韧性评估 内置脆弱性、恢复力、关键节点识别,支持高比例可再生场景下的安全性分析
9 标准化输出 严格对齐"中国双碳路径标准模板":12 类 × 95 指标 × 39 行 × 6 年份 Sheet 的 Excel

模型规模:单情景 6 年滚动优化最大 ~1000 万决策变量、~700 万约束,HiGHS 内点法 + Crossover 求解 1 ~ 36 小时(视分辨率而定)。


三、快速开始

3.1 环境要求

  • Python:3.10 或更高
  • 操作系统:Windows 10/11、Linux、macOS(均已测试)
  • 内存:8 GB+(24 h 分辨率单年优化约需 4 GB;8760 h 全分辨率约 16 GB)
  • 磁盘:约 500 MB(含全部输入数据 + 输出结果)

3.2 安装

# 克隆仓库
git clone https://github.com/w8665763/CEpower.git
cd CEpower

# 创建虚拟环境(推荐)
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux / macOS
source .venv/bin/activate

# 安装依赖
pip install -r requirements.txt

核心依赖

包名 用途 版本
linopy LP 建模框架 ≥ 0.3
highspy HiGHS 求解器 Python 接口 ≥ 1.5
xarray 多维数组(时空索引) ≥ 2023
pandas 数据处理与 IO ≥ 2.0
numpy 数值计算 ≥ 1.24
openpyxl Excel 文件读写 ≥ 3.1

3.3 运行

方式 A:单情景

# 基准情景,2030 年,24 h 步长(最常用)
python run.py --scenario baseline --years 2030

# 基准情景,所有 6 个年份,导出 CSV+Excel
python run.py --scenario baseline --years 2025,2030,2035,2040,2050,2060 --export

# 月度步长(720 h),快速验证(< 30 秒/年)
python run.py --scenario baseline --years 2030 --freq 720

方式 B:三情景批量

# 全部 3 情景 × 1 年(默认 24 h 步长)
python run.py --all --years 2030

# 全部 3 情景 × 6 年 + 标准 Excel 输出
python run.py --all --years 2025,2030,2035,2040,2050,2060 --export

方式 C:参数校验/概览

python run.py --verify   # 参数库交叉校验
python run.py --info     # 打印参数概要

3.4 命令行参数

参数 短写 默认值 说明
--scenario -s baseline 情景:baseline / S2_high_nuclear / S3_coal_ccus
--years -y 2030,2035,2040 逗号分隔年份列表
--freq -f 24 时步(小时):1/8/24/168/720
--export -e False 导出 CSV + 标准格式 Excel
--all -a False 运行全部 3 情景
--verify -v False 参数交叉校验
--info -i False 打印参数概要

3.5 运行时间参考

时间分辨率 时步数 单年耗时 三情景 × 6 年
月度 720 h 12 ~30 秒 ~10 分钟
周度 168 h 52 ~3 分钟 ~50 分钟
日度 24 h(推荐) 365 ~10 分钟 ~3 小时
8 小时 1 095 ~30 分钟 ~9 小时
逐时 1 h 8 760 ~2 小时 ~36 小时

建议:科研/政策分析使用 24 h 步长(精度与时间平衡最佳);储能配置研究建议 ≤ 8 h;快速调试用 720 h。


四、目录结构

CEpower/
│
├── README.md                       ← 本文件(中文)
├── README_EN.md                    ← 英文 README
├── LICENSE                         ← Apache-2.0 许可证
├── requirements.txt                ← Python 依赖清单
├── settings.py                     ← 全局配置(路径、省份、年份、情景映射)
├── run.py                          ← 主入口(推荐使用)
├── run_all.py                      ← 全情景批量运行入口
│
├── core/                           ← ★ 优化核心 ★
│   ├── provincial_optimizer.py     ← 省级 8760h 联合优化器(1100+ 行)
│   ├── io_classification.py        ← 输入/输出变量严格分类定义
│   ├── climate_integration.py      ← 气候情景集成接口
│   │
│   ├── optimization/               ← 优化结果导出
│   │   ├── annual_optimizer.py     ← 年度优化器封装
│   │   ├── scenario_runner.py      ← 多情景批量运行
│   │   └── excel_exporter.py       ← 标准格式 Excel 导出(95 指标)
│   │
│   ├── tech_params/                ← ★ 技术经济参数库 ★
│   │   ├── tech_database.py        ← 统一参数(11 发电 + 6 储能 + 输电 + H₂)
│   │   ├── ccs_params.py           ← CCUS 专项参数
│   │   ├── transmission_data.py    ← 34 条省间输电通道
│   │   ├── province_resource.py    ← 31 省资源潜力上限
│   │   └── verify_against_scenarios.py ← 参数交叉校验
│   │
│   ├── temporal/                   ← 时序数据处理
│   │   └── profile_generator.py    ← 8760h 曲线加载与降采样
│   │
│   ├── climate/                    ← 气候变化模块
│   │   ├── scenarios.py            ← SSP 情景生成
│   │   ├── extreme_weather.py      ← 极端天气 W1-W6 影响
│   │   ├── impact_models.py        ← 气候影响定量模型
│   │   └── constraints.py          ← 气候约束接口
│   │
│   ├── coordination/               ← 协调调度模块
│   │   ├── coal_renewable.py       ← 煤电-可再生协调
│   │   ├── multi_objective.py      ← 多目标优化框架
│   │   └── storage_coord.py        ← 储能协调优化
│   │
│   └── resilience/                 ← 系统韧性评估
│       ├── vulnerability.py        ← 脆弱性评估
│       ├── recovery.py             ← 恢复力评估
│       └── metrics.py              ← 韧性指标
│
├── input/                          ← ★ 输入数据 ★
│   ├── scenarios/                  ← 3 个情景 CSV(每个含 31 省 × 6 年 × 15 变量)
│   │   ├── baseline.csv            ← 基准情景
│   │   ├── nuclear.csv             ← 高核电情景
│   │   └── coal_ccs.csv            ← 煤电 CCS 情景
│   ├── profiles/                   ← 8760h 时序数据
│   │   ├── 2025/  ←  7 个 CSV:负荷、风、光、水、核、气
│   │   ├── 2030/, 2035/, 2040/, 2050/, 2060/
│   ├── metadata/                   ← 95 项指标元数据定义
│   └── reference/                  ← 完整参考数据(含全部 102 指标)
│
├── output/                         ← ★ 输出结果 ★(运行后生成)
│   ├── csv/                        ← 长表 CSV(按情景)
│   │   └── hourly/                 ← 逐时调度数据
│   ├── excel/                      ← 标准 12×95×39 格式 Excel
│   └── figures/                    ← 可视化图表
│
├── docs/                           ← 文档
│   ├── PARAMETERS.md               ← ★ 活参数 vs 死参数详细说明(中文)★
│   ├── PARAMETERS_EN.md            ← Parameters (English)
│   ├── 模型技术说明书.md            ← 完整技术文档
│   ├── 安装与运行指南.md            ← 部署指南
│   ├── 参数手册.md                  ← 关键技术经济参数手册
│   ├── 参数来源与参考文献.md         ← 参数溯源
│   ├── 参数影响报告.md              ← 灵敏度分析
│   ├── 指标字典.md                  ← 95 项指标定义
│   ├── 扩展指南_B组_部门耦合参数.md  ← B 组扩展(部门耦合)
│   ├── 扩展指南_C组_MIP预留参数.md   ← C 组扩展(MIP 升级)
│   └── presentation/               ← 5 小时讲解幻灯片(HTML)
│
├── tools/                          ← 辅助工具
│   ├── visualization/              ← 可视化脚本
│   └── prediction/                 ← ML 预测模块
│
└── reference/                      ← 历史参考代码(CEpower V1.x 引擎)

五、模型架构

5.1 模块依赖图

┌──────────────┐      ┌────────────────────┐
│  情景 CSV    │ ───► │  ProvincialOptimizer │
│  时序 profiles│      │  (provincial_optimizer.py)
│  tech_database│      └─────────┬──────────┘
└──────────────┘                │
                                ▼
                ┌──────────────────────────────┐
                │   linopy LP 模型构建          │
                │   • 决策变量(容量+调度)     │
                │   • 16 项约束                │
                │   • 目标函数(年化总成本)    │
                └─────────────┬────────────────┘
                              ▼
                  ┌────────────────────┐
                  │    HiGHS 求解器     │
                  └─────────┬──────────┘
                            ▼
            ┌───────────────────────────────┐
            │  excel_exporter.py 标准导出    │
            │  • 12 类 × 95 指标 × 39 行     │
            │  • 6 个年份 Sheet              │
            └───────────────────────────────┘

5.2 关键模块说明

模块 职责 关键文件
优化引擎 LP 建模、约束生成、求解调用 core/provincial_optimizer.py
参数库 11+6 技术参数、年份插值、年化成本 core/tech_params/tech_database.py
资源约束 31 省风/光/水/核资源上限 core/tech_params/province_resource.py
输电网络 34 条线路容量、线损、年份变化 core/tech_params/transmission_data.py
时序数据 8760h 加载、聚合降采样 core/temporal/profile_generator.py
气候集成 SSP 情景、极端天气影响 core/climate_integration.py
结果导出 95 指标计算、标准 Excel core/optimization/excel_exporter.py

六、参数体系总览(活参数 vs 死参数)

完整详细列表请见docs/PARAMETERS.md

模型参数严格分为三类:

6.1 活参数(决策变量,由 LP 求解器内生确定)

求解器在每次运行时通过最小化总成本自主决策,用户不可直接指定。共 12 类决策变量族

# 变量族 物理含义 维度 单位
1 cap[t] 11 类发电技术新增装机 31 省 × 11 = 341 MW
2 scap[t] 6 类储能新增装机 31 省 × 6 = 186 MW
3 g[t] 发电逐时出力 11 × 31 × T MW
4 ch[t] 储能充电功率 6 × 31 × T MW
5 dis[t] 储能放电功率 6 × 31 × T MW
6 soc[t] 储能荷电状态 6 × 31 × T MWh
7 fl_pos 输电正向潮流 75 线路 × T MW
8 fl_neg 输电反向潮流 75 线路 × T MW
9 shed 失负荷量 31 × T MW
10 dump 弃电量 31 × T MW
11 h2_cap 氢电解槽容量 31 MW
12 h2_load 氢电解槽逐时负荷 31 × T MW

总规模:T = 8760/freq。日度(freq=24, T=365)≈ 41.7 万变量;逐时(freq=1, T=8760)≈ 1000 万变量。

6.2 软活参数(用户可在源代码中调整)

不在单次运行内变化,但用户可通过修改源代码或情景 CSV 更换数值。共 约 1300 个独立参数项 / ~1100 万数据点

参数库 文件 参数项数 关键内容
发电技术参数 tech_params/tech_database.py ~286 11 技术 × 投资/运维/燃料/效率/排放/爬坡等
储能技术参数 tech_params/tech_database.py ~168 6 技术 × 功率/能量成本/充放效率/SOC 限值
经济参数 tech_params/tech_database.py ~30 贴现率、WACC、燃料价、税收、绿证
系统运行参数 tech_params/tech_database.py ~25 备用率、VOLL、需求响应、电气化率
输电技术参数 tech_params/tech_database.py ~22 单位投资、损耗系数、线路类型成本
碳价路径 tech_params/tech_database.py 7 2023~2060 各年元/tCO2
CO₂ 减排路径 tech_params/tech_database.py 6 各年减排比例
H₂ 电解槽 tech_params/tech_database.py ~14 投资、效率、产能上限、寿命
CCUS 专项参数 tech_params/ccs_params.py 50 捕集率/成本 + 31 省 CCUS 目标
输电通道数据 tech_params/transmission_data.py ~150 75 条通道 × 6 年容量 + 增长因子
省级资源潜力 tech_params/province_resource.py 217 31 省 × 风/光/水/核上限与容量因子
气候情景 climate_integration.py ~90 SSP 5 情景 + 31 省气温/纬度 + W1-W6 阈值
时序合成参数 temporal/profile_generator.py ~105 月度/日内负荷形状、风光水合成参数
情景输入数据 input/scenarios/*.csv ~8400 数据点 3 情景 × 31 省 × 6 年 × 15 变量
8760h 时序输入 input/profiles/*.csv ~1100 万数据点 7 类曲线 × 6 年 × 31 省 × 8760h
命令行参数 run.py 8 --scenario / --years / --freq

6.3 死参数(结构性常量,原则上不可变)

由物理规律、地理常识、制度框架决定,改变将破坏模型一致性。共 约 46 项

类别 数量 代表参数 为什么是"死"的
结构维度 9 PROV_31 / REGION_MAP / YEARS / GEN_TECHS / STORAGE_TECHS / VRE_TECHS / DISPATCHABLE_TECHS / 8760h / 时间索引 中国行政区划与模型架构基础,改动即破坏全部下游逻辑
政策硬约束 2 2035 起禁建煤电、2040 起禁建煤电 CCS 双碳承诺与产业政策的硬性时间表
物理常数 10 CRF 公式、IDC 公式、风轮机风廓线指数 (0.14)、双面光伏增益系数 (0.25)、超配损失系数 (0.08)、CO2 因子电力等价转换、煤热值 7000 kcal/kg、气热值 10.5 kWh/m³ 等 工程力学/热力学定律,不可变
气候建模常数 11 火电温度敏感度 (0.3%/°C)、光伏温度系数 (0.4%/°C)、输电温度敏感度 (1%/°C)、制冷负荷 (5%/°C @26°C)、采暖负荷 (3%/°C @18°C)、W1-W6 阈值与影响系数 气象学经验关系
求解器设置 6 HiGHS、IPM 内点法、presolve、crossover、最优性容差 1e-3、时间上限 3600s 数值计算配置,影响求解效率与稳定性
经济硬常量 4 生物质 5GW/省 上限、CO2 基准 458,812 万吨(2020 中国电力部门排放)、汛期月份 (5-9月)、储能 SOC 首尾一致 (e_cyclic=True) 资源/历史/标准建模约定
架构常数 4 12 类决策变量族、22 类核心约束 (C1-C22)、95 项标准输出指标、内陆 16 省禁建核电 模型架构与地理/政策事实约束

关于"刚性"参数(看似活其实有依据):CCS 捕集率 90%、核电最小出力 70%、煤电最小出力 50%、PHS 全国上限(年份相关,2025=80GW→2060=500GW)等参数虽在 tech_database.py 中可改,但其数值有强物理/工程依据,调整需充分论证。

完整列表与每个参数的来源、单位、可改/不可改原因见 docs/PARAMETERS.md


七、数学模型

7.1 目标函数

模型以系统年化总成本最小化为目标:

$$ \min Z = \underbrace{\sum_{p,t} \text{AnnCost}_t \cdot \text{NewCap}_{p,t}}_{\text{发电投资}} + \underbrace{\sum_{p,t,\tau} \text{MC}_t \cdot w \cdot \text{Gen}_{p,t,\tau}}_{\text{发电运行}} + \underbrace{\sum_{p,s} \text{AnnCost}_s \cdot \text{NewStor}_{p,s}}_{\text{储能投资}} + \underbrace{\sum_{p,\tau} (\text{VOLL} \cdot \text{Shed} + c_{dump} \cdot \text{Dump})}_{\text{失负荷+弃电}} + \underbrace{\sum_{p}(\text{H}_2 \text{投资} - \text{H}_2 \text{产值})}_{\text{绿氢}} $$

其中:

  • $p$ = 省份(31 个),$t$ = 发电技术(11 种),$s$ = 储能技术(6 种),$\tau$ = 时步
  • $\text{AnnCost}$ = 年化投资成本(资本回收因子 × 单位投资 + 固定运维)
  • $\text{MC}$ = 边际运行成本(可变运维 + 燃料 + 碳价 × 排放因子)
  • $w$ = 时步权重(小时数,等于 freq_hours
  • $\text{VOLL} = 50\ 000$ 元/MWh(失负荷价值)

7.2 约束体系(16 项)

编号 约束名称 数学表达
C1 功率平衡 $\sum_t \text{Gen}{p,t,\tau} + \text{StorNet}{p,\tau} + \text{NetImp}_{p,\tau} + \text{Shed} - \text{Dump} - \text{H}2\text{Load} = \text{Load}{p,\tau}$
C2 VRE 出力上限 $\text{Gen}{p,vre,\tau} \le \text{TotCap}{p,vre} \cdot \text{CF}_{p,vre,\tau}$
C3 可调度上限 $\text{Gen}{p,d,\tau} \le \text{TotCap}{p,d} \cdot \text{Avail}_{p,d,\tau}$
C4 煤电最小出力 $\text{Gen}{p,coal,\tau} \ge \text{ExistCap}{p,coal} \cdot p_{\min}(year)$
C5 核电最小出力 $\text{Gen}{p,nuc,\tau} \ge \text{TotCap}{p,nuc} \cdot 0.60 \cdot \text{Avail}(\tau)$
C6 煤电爬坡 $\lvert \Delta\text{Gen}{p,coal,\tau}\rvert \le \text{TotCap}{p,coal} \cdot \text{Ramp} \cdot w$
C7 储能动态 $\text{SOC}\tau = \text{SOC}{\tau-1}(1-\text{loss}) + \eta_c \text{Charge} dt - \text{Discharge} dt / \eta_d$
C8 输电容量 $\text{Flow}_{l,\tau} \le \text{LineCap}_l \cdot 0.85$
C9 资源上限 $\text{NewCap}_{p,vre} \le \text{MaxResource}_p - \text{ExistCap}_p$
C10 CO₂ 排放 $\sum_{p,t,\tau} \text{Gen}_{p,t,\tau} \cdot \text{CO}_2\text{Factor}_t \cdot w \le \text{CO}_2\text{Limit}(year)$
C11 核电增速 $\sum_p \text{NewCap}_{p,nuc} \le 5\text{GW} \cdot \Delta\text{Years}$
C12 煤电禁建 2035 年起 $\text{NewCap}_{p,coal} = 0$
C13 运行备用 $\sum_p \text{Headroom}{p,\tau} \ge \sum_p \text{Load}{p,\tau} \cdot \varepsilon_L + \text{VRE} \cdot \varepsilon_V$
C14 燃气爬坡 $\lvert \Delta\text{Gen}{p,gas,\tau}\rvert \le \text{TotCap}{p,gas} \cdot 0.50 \cdot w$
C15 电池最低 SOC $\text{SOC}{p,lfp,\tau} \ge 0.10 \cdot \text{Capacity}{p,lfp}$
C16 H₂ 电解上限 $\text{H}2\text{Load}{p,\tau} \le \text{H}_2\text{Cap}_p$

7.3 CO₂ 减排路径

年份 2025 2030 2035 2040 2050 2060
减排比例 0% 5% 15% 30% 60% 90%
排放上限(万吨) 458 812 435 871 389 990 321 168 183 525 45 881

八、输入数据

8.1 情景 CSV(外生输入)

每个情景 CSV 包含 31 省 × 6 年 × 15 个变量的标准长表,列名:

province_code, province, region, year, variable_id, variable_name_cn, value, unit

输入变量清单(共 15 项 = 7 类装机 + 1 类总量 + 2 类需求 + 5 类汇总):

variable_id 含义 单位
CAP.COAL.INST.GW 煤电存量装机 GW
CAP.GAS.INST.GW 气电存量装机 GW
CAP.NUCLEAR.INST.GW 核电存量装机 GW
CAP.WIND_ON.INST.GW 陆上风电存量装机 GW
CAP.WIND_OFF.INST.GW 海上风电存量装机 GW
CAP.WIND_DIST.INST.GW 分布式风电存量装机 GW
CAP.PV_CENT.INST.GW 集中式光伏存量装机 GW
CAP.PV_DIST.INST.GW 分布式光伏存量装机 GW
CAP.HYDRO.INST.GW 水电存量装机 GW
CAP.PHS.INST.MW 抽蓄存量装机 MW
CAP.GENERAL.INST.GW 总存量装机 GW
CAP.RENEWABLE.INST.GW 可再生存量装机 GW
DEMAND.SOCIETY.CONSUMPTION.TWh 全社会用电量 TWh
DEMAND.PEAK.LOAD.GW 峰值负荷 GW
TECH.CCUS.INST.GW CCUS 基期存量 GW

8.2 8760h 时序数据

位于 input/profiles/<年份>/,每年 7 个 CSV 文件:

文件名 内容 形状
load_shape.csv 负荷归一化曲线 31 省 × 8760 行
wind_onshore_cf.csv 陆上风电容量因子 31 省 × 8760 行
wind_offshore_cf.csv 海上风电容量因子 31 省 × 8760 行
solar_cf.csv 光伏容量因子 31 省 × 8760 行
hydro_inflow_pu.csv 水电来水标幺值 31 省 × 8760 行
nuclear_availability.csv 核电可用率 31 省 × 8760 行
gas_availability.csv 气电可用率 31 省 × 8760 行

数据来源:负荷曲线源自电力公司实测;风/光容量因子源自 ERA5 再分析数据 + 物理模型转换;水电来水源自历史径流统计。


九、输出说明(95 项标准指标)

9.1 标准 Excel 输出

每个情景生成一个 Excel 文件,命名为 <情景名>_优化结果.xlsx,包含:

  • 6 个年份 Sheet2025年数据 ~ 2060年数据,每个 Sheet 41 行 × 98 列
    • 41 行 = 2 行表头 + 31 省 + 7 区域小计 + 1 全国合计
    • 98 列 = 3 列基础信息(省份/年份/区域)+ 95 列数据指标
  • 指标说明 Sheet:95 项指标的完整定义

9.2 95 项指标分类

一级分组 指标数 主要指标示例
装机容量 14 煤电/气电/核电/风/光/水/储能各类装机 (GW)
发电量 12 各技术发电量 (TWh)
利用小时 9 各技术利用小时数 (h)
电力需求 4 用电量/峰值负荷/负荷率/峰谷差
储能系统 20 6 种储能装机/储能容量/等效小时数
成本 14 系统成本/储能投资/单位成本
系统指标 2 灵活性指数/安全保障指数
环境 3 CO₂ 排放/碳强度
新兴技术 5 CCUS 装机/捕集量/绿氢产能
比例数据 9 可再生占比/清洁发电占比/储能占比
电力平衡 2 净送出电量/电力自给率
合计 95

详细指标定义见 docs/指标字典.md


十、三大情景

10.1 基准情景(baseline)

按既有政策惯性发展。所有技术存量装机由情景 CSV 确定,新增装机/储能/CCUS/绿氢由优化器自主决策。代表"高新能源 + 适度储能"的常规路径。

10.2 高核电情景(S2_high_nuclear)

核电装机加速发展,2060 年达 449 GW。核电存量按情景设定的高数值,优化器决定其余技术配置。检验"核电主导清洁基荷"的可行性。

10.3 煤电 CCS 情景(S3_coal_ccus)

煤电配合 CCUS 技术延长退出时间。煤电装机维持较高水平,CCUS 大规模部署由优化器决策。代表"煤炭转型 + 大规模碳捕集"路径。


十一、常见问题

Q1:模型求解失败(Infeasible)怎么办?

常见原因与解决方案:

原因 解决方案
CO₂ 约束过紧 调整 tech_database.py 中的 CO2_PATHWAY
煤电最小出力冲突 降低 coal_p_min_pufleet_min_pu
资源潜力不足 检查 province_resource.py,放松资源上限
输电瓶颈 检查 transmission_data.py,扩展输电容量

Q2:如何修改技术参数?

所有技术经济参数集中在 core/tech_params/tech_database.py,包括:

  • 投资成本、运维成本、燃料成本(按年插值)
  • 学习曲线、效率、寿命
  • 排放因子、爬坡率、最小出力比

修改后重新运行即可,不需要重新训练或编译。

Q3:如何添加新的输电线路?

编辑 core/tech_params/transmission_data.py,在 INTERPROV_LINES 列表中按格式添加:

('起始省', '终止省', 损耗率, 'AC/DC', '线路名称',
 {2025: 容量MW, 2030: MW, 2035: MW, 2040: MW, 2050: MW, 2060: MW})

Q4:如何修改时间分辨率?

通过 --freq 参数控制:

  • --freq 720:月度(最快,适合调试)
  • --freq 168:周度
  • --freq 24:日度(推荐
  • --freq 8:8 小时
  • --freq 1:逐时(最精确,最慢)

重要提示:粗粒度(如 720h)下,储能装机会偏小,因为模型聚合掉了日内波动,无法体现储能的套利价值。储能配置研究务必使用 ≤ 8h。

Q5:储能为什么在 720h 步长下显示为 0?

这是预期行为,不是 bug:月度聚合下,模型看到的是月度平均功率/负荷,丢失了日内峰谷差异,储能套利空间消失。建议使用 24h 或更细。

Q6:如何对比不同情景的结果?

python run.py --all --years 2030,2050 --export
# 然后查看 output/excel/ 下的三个 Excel 文件

十二、未来研究方向(CEpower 演进路线图)

CEpower V2.87 已构建起覆盖 31 省、8760 小时、17 项发电与储能技术的源网荷储一体化优化框架, 在双碳路径研究中具备系统级可解释性与情景灵活性。 在此基础之上,作为模型主笔,我们规划了若干值得深入探索的研究方向, 既是对现有框架的有机拓展,也是对中国能源转型若干前沿议题的回应。

12.1 多年滚动优化与跨年储能

当前 6 个里程碑年(2025/2030/.../2060)以"代表年"形式独立求解。 未来计划引入多年滚动连续优化框架:

  • 在 H₂ 储能、CAES、抽水蓄能等长周期储能中,解除年度循环约束,允许跨年荷电状态传递;
  • 探索跨年水文丰枯交替(如西南三年干旱周期)对长周期储能与水电协同的影响;
  • 为投资决策的"路径依赖性"提供更精细的时序刻画。

价值:更准确地评估氢储能、压缩空气储能等季节性灵活性资源的真实价值。

12.2 随机优化与气候风险量化(CVaR / Robust)

当前模型采用确定性线性规划,气候输入由 SSP 单情景注入。 下一步将构建两阶段随机优化框架

  • 基于多年 ERA5 历史样本(如 2000-2024 共 25 年)构造气象样本集;
  • 引入 CVaR(条件风险价值) 目标函数,量化"风光同时低出力 + 用电高峰"的复合风险;
  • 对 W1-W6 极端天气从"事后乘数"升级为"概率事件链",形成完整的电力系统压力测试场景集。

价值:为政府/电网决策者提供"在极端气候年下,系统仍能保障供电"的量化保障水平。

12.3 MILP 启停约束与深度调峰

当前 LP 框架在长周期规划中精度足够,但在短期机组级调度上做了连续近似。 计划在敏感场景下引入 MILP 后处理模块

  • 对煤电、CCGT、CCS 等可调度机组引入启停二进制变量、最小开停机时间、热/冷启动成本;
  • 选取代表性周(典型日/极端周)做 UC(机组组合)校核;
  • 评估"煤电深度调峰至 30% 以下"的真实可行性与成本。

价值:为煤电灵活性改造、备用容量市场设计提供机组级决策支持。

12.4 部门耦合(电-热-氢-交通-工业)

模型已将绿氢电解槽内生化为灵活负荷,未来将进一步拓展为完整的部门耦合框架

  • 电-热耦合:北方集中供热、热泵、储热在采暖季的协同优化;
  • 电-氢耦合:绿氢→合成氨、绿氢→直接还原铁、绿氢→长距离运输的完整价值链;
  • 电-交通耦合:电动汽车 V2G(车网互动)的双向充放电潜力建模;
  • 电-工业耦合:钢铁、化工、水泥等高载能行业的电气化路径与负荷弹性。

价值:从"电力系统优化"扩展为"能源系统优化",捕捉部门间的协同效益与替代关系。

12.5 省内子节点细分与配电网整合

当前 31 省级精度对宏观研究已足够,未来将针对资源聚集大省做省内细分

  • 对内蒙古、新疆、青海、四川等大省细分为 2-3 个子节点(如内蒙古东/中/西部);
  • 引入省内输电拥塞约束,刻画"风电基地→负荷中心"的真实送出瓶颈;
  • 在条件允许时引入分布式资源(DER)聚合模型,整合屋顶光伏、用户侧储能、虚拟电厂。

价值:解决"内蒙古推荐 600 GW 风电但省内通道无法送出"等省内拥塞问题。

12.6 直流潮流与 N-1 安全约束

当前输电网采用 NTC(运输模型)框架,未来计划引入直流潮流(DC OPF)

  • 在 6 大区级别构建 PTDF 矩阵,刻画环网潮流的物理分布规律;
  • 增加 N-1 安全约束(关键线路故障时仍能保障运行);
  • 与电力规划院合作,引入主网架的实际拓扑数据。

价值:为"三华联网"、特高压输电规划提供更精确的潮流分析与安全评估。

12.7 终端电气化与需求弹性内生化

当前用电量来自情景 CSV 外生输入,未来将把终端电气化进程内生化

  • 把电气化率作为对电价响应的弹性变量;
  • 引入需求响应(DR)的价格-响应函数,刻画工商业、居民侧的弹性负荷;
  • 与宏观经济模型(如 CGE)做软耦合,闭环刻画"电价→GDP→用电量"反馈。

价值:捕捉"电力系统转型→电价波动→终端响应"的完整反馈循环。

12.8 公正转型与多目标优化

经济成本最小化是当前目标函数,未来计划引入多目标优化框架

  • 把"煤炭从业者就业转型成本"作为第二目标;
  • 对煤炭主产省(山西、内蒙古、陕西)引入"过渡期"约束;
  • 增加省级 CO₂ 配额交易、碳税收入再分配的机制建模;
  • 引入"公平性指数"(如各省单位 GDP 用电量、电价负担率)作为约束或目标。

价值:为"经济效率"与"社会公正"的权衡提供量化支持,服务于双碳目标下的公正转型。

12.9 历史回测与模型间比较(MIP)

为持续提升模型可信度,计划构建历史回测框架

  • 用 2010 / 2015 年的输入参数预测 2020 / 2024 实际结果,量化模型偏差;
  • 对每个输出指标给出置信区间(基于参数不确定性的 Monte Carlo 分析);
  • 主动参与国际模型比较项目(MIP),与 GCAM-China、MARKAL-China、IMAGE 等主流模型对比;
  • 发布"CEpower 模型不确定性手册",公开各项关键输出的灵敏度与置信度。

价值:把 CEpower 从"单一模型"升级为"可验证、可比较、可重现"的研究基础设施。

12.10 技术成熟度路径(TRL)与前沿技术池

当前部分参数(如 CCS 捕集率 90%、煤电最低出力 50%)取自 2024 年工程极限。 未来将构建技术成熟度路径数据库

  • 对前沿技术引入 TRL(Technology Readiness Level)演化路径;
  • 关注新一代 CCS(如 NET Power)、第四代核电(高温气冷堆)、钠离子电池、固态电池、海上漂浮式风电等技术的潜力;
  • 提供"乐观 / 基准 / 保守"三档技术参数包,支持参数池切换式分析。

价值:避免"用今天的极限规划明天的世界",为前沿技术的政策窗口提供量化支持。

12.11 路线图概览

优先级 方向 预期周期 学术价值
★★★★★ 多年滚动 + 跨年储能 6 个月 长周期储能价值的精细评估
★★★★★ 随机优化 / CVaR 12 个月 气候风险下的电力系统韧性
★★★★ 历史回测框架 6 个月 模型可信度与可重现性
★★★★ MILP 启停约束 12 个月 短期机组级灵活性研究
★★★★ 省内子节点细分 12 个月 资源富集省的真实送出瓶颈
★★★★ 部门耦合(电-氢-热-交通) 18 个月 全能源系统视角
★★★ 公正转型 + 多目标 18 个月 双碳目标下的社会公正
★★★ DC 潮流 + N-1 安全 24 个月 主网架精细化建模
★★★ 终端电气化内生化 24 个月 电力-经济联立反馈
★★★ TRL 技术池 持续 前沿技术潜力评估
★★ 国际 MIP 比较 持续 学术影响力与全球贡献

我们欢迎学界同仁、产业伙伴与政策研究机构,以 PR、Issue、合作研究等多种形式参与 CEpower 的演进。 让模型在开源协作中持续生长,是我们对中国乃至全球能源转型最朴素的回应。


十三、引用与许可

引用

如本模型对您的研究有帮助,请引用:

@software{cepower_v287,
  title  = {CEpower V2.87: A Provincial Capacity Expansion and Hourly Dispatch Optimization Model for China's Power System},
  author = {CEpower Development Team},
  year   = {2026},
  url    = {https://github.com/w8665763/CEpower},
  version = {2.87}
}

许可证

本项目采用 Apache License 2.0,详见 LICENSE 文件。

Copyright 2026 CEpower Development Team

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

致谢

  • 求解器HiGHS - 开源高性能 LP/MIP 求解器
  • 建模框架linopy - 基于 xarray 的现代 LP 建模库
  • 数据基础:ERA5 再分析数据、国家统计年鉴、电力公司实测负荷曲线、水电总院《中国可再生能源发展报告》

CEpower V2.87 — 源网荷储一体化省级电力系统规划优化模型

About

Provincial capacity expansion and hourly dispatch optimization model for China's power system (31 provinces, 8760h, 11 gen + 6 storage tech, 3 scenarios, dual-carbon pathway 2025-2060)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages