中国省级电力系统容量规划与逐时调度联合优化模型 Provincial Capacity Expansion & Hourly Dispatch Optimization Model for China's Power System
English README | 中文说明 详细参数手册:活参数 vs 死参数说明 | Parameters (EN) 完全新手?请先读:新手安装与运行指南(30 分钟跑通)
- 一、模型简介
- 二、技术亮点
- 三、快速开始
- 四、目录结构
- 五、模型架构
- 六、参数体系总览(活参数 vs 死参数)
- 七、数学模型
- 八、输入数据
- 九、输出说明(95 项标准指标)
- 十、三大情景
- 十一、常见问题
- 十二、未来研究方向(CEpower 演进路线图)
- 十三、引用与许可
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 小时(视分辨率而定)。
- Python:3.10 或更高
- 操作系统:Windows 10/11、Linux、macOS(均已测试)
- 内存:8 GB+(24 h 分辨率单年优化约需 4 GB;8760 h 全分辨率约 16 GB)
- 磁盘:约 500 MB(含全部输入数据 + 输出结果)
# 克隆仓库
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 |
# 基准情景,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# 全部 3 情景 × 1 年(默认 24 h 步长)
python run.py --all --years 2030
# 全部 3 情景 × 6 年 + 标准 Excel 输出
python run.py --all --years 2025,2030,2035,2040,2050,2060 --exportpython run.py --verify # 参数库交叉校验
python run.py --info # 打印参数概要| 参数 | 短写 | 默认值 | 说明 |
|---|---|---|---|
--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 |
打印参数概要 |
| 时间分辨率 | 时步数 | 单年耗时 | 三情景 × 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 引擎)
┌──────────────┐ ┌────────────────────┐
│ 情景 CSV │ ───► │ ProvincialOptimizer │
│ 时序 profiles│ │ (provincial_optimizer.py)
│ tech_database│ └─────────┬──────────┘
└──────────────┘ │
▼
┌──────────────────────────────┐
│ linopy LP 模型构建 │
│ • 决策变量(容量+调度) │
│ • 16 项约束 │
│ • 目标函数(年化总成本) │
└─────────────┬────────────────┘
▼
┌────────────────────┐
│ HiGHS 求解器 │
└─────────┬──────────┘
▼
┌───────────────────────────────┐
│ excel_exporter.py 标准导出 │
│ • 12 类 × 95 指标 × 39 行 │
│ • 6 个年份 Sheet │
└───────────────────────────────┘
| 模块 | 职责 | 关键文件 |
|---|---|---|
| 优化引擎 | 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 |
完整详细列表请见:
docs/PARAMETERS.md
模型参数严格分为三类:
求解器在每次运行时通过最小化总成本自主决策,用户不可直接指定。共 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 万变量。
不在单次运行内变化,但用户可通过修改源代码或情景 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 等 |
由物理规律、地理常识、制度框架决定,改变将破坏模型一致性。共 约 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。
模型以系统年化总成本最小化为目标:
其中:
-
$p$ = 省份(31 个),$t$ = 发电技术(11 种),$s$ = 储能技术(6 种),$\tau$ = 时步 -
$\text{AnnCost}$ = 年化投资成本(资本回收因子 × 单位投资 + 固定运维) -
$\text{MC}$ = 边际运行成本(可变运维 + 燃料 + 碳价 × 排放因子) -
$w$ = 时步权重(小时数,等于freq_hours) -
$\text{VOLL} = 50\ 000$ 元/MWh(失负荷价值)
| 编号 | 约束名称 | 数学表达 |
|---|---|---|
| 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 | 输电容量 | |
| C9 | 资源上限 | |
| C10 | CO₂ 排放 | |
| C11 | 核电增速 | |
| C12 | 煤电禁建 | 2035 年起 |
| 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$ |
| 年份 | 2025 | 2030 | 2035 | 2040 | 2050 | 2060 |
|---|---|---|---|---|---|---|
| 减排比例 | 0% | 5% | 15% | 30% | 60% | 90% |
| 排放上限(万吨) | 458 812 | 435 871 | 389 990 | 321 168 | 183 525 | 45 881 |
每个情景 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 |
位于 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 再分析数据 + 物理模型转换;水电来水源自历史径流统计。
每个情景生成一个 Excel 文件,命名为 <情景名>_优化结果.xlsx,包含:
- 6 个年份 Sheet:
2025年数据~2060年数据,每个 Sheet 41 行 × 98 列- 41 行 = 2 行表头 + 31 省 + 7 区域小计 + 1 全国合计
- 98 列 = 3 列基础信息(省份/年份/区域)+ 95 列数据指标
- 指标说明 Sheet:95 项指标的完整定义
| 一级分组 | 指标数 | 主要指标示例 |
|---|---|---|
| 装机容量 | 14 | 煤电/气电/核电/风/光/水/储能各类装机 (GW) |
| 发电量 | 12 | 各技术发电量 (TWh) |
| 利用小时 | 9 | 各技术利用小时数 (h) |
| 电力需求 | 4 | 用电量/峰值负荷/负荷率/峰谷差 |
| 储能系统 | 20 | 6 种储能装机/储能容量/等效小时数 |
| 成本 | 14 | 系统成本/储能投资/单位成本 |
| 系统指标 | 2 | 灵活性指数/安全保障指数 |
| 环境 | 3 | CO₂ 排放/碳强度 |
| 新兴技术 | 5 | CCUS 装机/捕集量/绿氢产能 |
| 比例数据 | 9 | 可再生占比/清洁发电占比/储能占比 |
| 电力平衡 | 2 | 净送出电量/电力自给率 |
| 合计 | 95 |
详细指标定义见 docs/指标字典.md。
按既有政策惯性发展。所有技术存量装机由情景 CSV 确定,新增装机/储能/CCUS/绿氢由优化器自主决策。代表"高新能源 + 适度储能"的常规路径。
核电装机加速发展,2060 年达 449 GW。核电存量按情景设定的高数值,优化器决定其余技术配置。检验"核电主导清洁基荷"的可行性。
煤电配合 CCUS 技术延长退出时间。煤电装机维持较高水平,CCUS 大规模部署由优化器决策。代表"煤炭转型 + 大规模碳捕集"路径。
常见原因与解决方案:
| 原因 | 解决方案 |
|---|---|
| CO₂ 约束过紧 | 调整 tech_database.py 中的 CO2_PATHWAY |
| 煤电最小出力冲突 | 降低 coal_p_min_pu 或 fleet_min_pu |
| 资源潜力不足 | 检查 province_resource.py,放松资源上限 |
| 输电瓶颈 | 检查 transmission_data.py,扩展输电容量 |
所有技术经济参数集中在 core/tech_params/tech_database.py,包括:
- 投资成本、运维成本、燃料成本(按年插值)
- 学习曲线、效率、寿命
- 排放因子、爬坡率、最小出力比
修改后重新运行即可,不需要重新训练或编译。
编辑 core/tech_params/transmission_data.py,在 INTERPROV_LINES 列表中按格式添加:
('起始省', '终止省', 损耗率, 'AC/DC', '线路名称',
{2025: 容量MW, 2030: MW, 2035: MW, 2040: MW, 2050: MW, 2060: MW})通过 --freq 参数控制:
--freq 720:月度(最快,适合调试)--freq 168:周度--freq 24:日度(推荐)--freq 8:8 小时--freq 1:逐时(最精确,最慢)
重要提示:粗粒度(如 720h)下,储能装机会偏小,因为模型聚合掉了日内波动,无法体现储能的套利价值。储能配置研究务必使用 ≤ 8h。
这是预期行为,不是 bug:月度聚合下,模型看到的是月度平均功率/负荷,丢失了日内峰谷差异,储能套利空间消失。建议使用 24h 或更细。
python run.py --all --years 2030,2050 --export
# 然后查看 output/excel/ 下的三个 Excel 文件CEpower V2.87 已构建起覆盖 31 省、8760 小时、17 项发电与储能技术的源网荷储一体化优化框架, 在双碳路径研究中具备系统级可解释性与情景灵活性。 在此基础之上,作为模型主笔,我们规划了若干值得深入探索的研究方向, 既是对现有框架的有机拓展,也是对中国能源转型若干前沿议题的回应。
当前 6 个里程碑年(2025/2030/.../2060)以"代表年"形式独立求解。 未来计划引入多年滚动连续优化框架:
- 在 H₂ 储能、CAES、抽水蓄能等长周期储能中,解除年度循环约束,允许跨年荷电状态传递;
- 探索跨年水文丰枯交替(如西南三年干旱周期)对长周期储能与水电协同的影响;
- 为投资决策的"路径依赖性"提供更精细的时序刻画。
价值:更准确地评估氢储能、压缩空气储能等季节性灵活性资源的真实价值。
当前模型采用确定性线性规划,气候输入由 SSP 单情景注入。 下一步将构建两阶段随机优化框架:
- 基于多年 ERA5 历史样本(如 2000-2024 共 25 年)构造气象样本集;
- 引入 CVaR(条件风险价值) 目标函数,量化"风光同时低出力 + 用电高峰"的复合风险;
- 对 W1-W6 极端天气从"事后乘数"升级为"概率事件链",形成完整的电力系统压力测试场景集。
价值:为政府/电网决策者提供"在极端气候年下,系统仍能保障供电"的量化保障水平。
当前 LP 框架在长周期规划中精度足够,但在短期机组级调度上做了连续近似。 计划在敏感场景下引入 MILP 后处理模块:
- 对煤电、CCGT、CCS 等可调度机组引入启停二进制变量、最小开停机时间、热/冷启动成本;
- 选取代表性周(典型日/极端周)做 UC(机组组合)校核;
- 评估"煤电深度调峰至 30% 以下"的真实可行性与成本。
价值:为煤电灵活性改造、备用容量市场设计提供机组级决策支持。
模型已将绿氢电解槽内生化为灵活负荷,未来将进一步拓展为完整的部门耦合框架:
- 电-热耦合:北方集中供热、热泵、储热在采暖季的协同优化;
- 电-氢耦合:绿氢→合成氨、绿氢→直接还原铁、绿氢→长距离运输的完整价值链;
- 电-交通耦合:电动汽车 V2G(车网互动)的双向充放电潜力建模;
- 电-工业耦合:钢铁、化工、水泥等高载能行业的电气化路径与负荷弹性。
价值:从"电力系统优化"扩展为"能源系统优化",捕捉部门间的协同效益与替代关系。
当前 31 省级精度对宏观研究已足够,未来将针对资源聚集大省做省内细分:
- 对内蒙古、新疆、青海、四川等大省细分为 2-3 个子节点(如内蒙古东/中/西部);
- 引入省内输电拥塞约束,刻画"风电基地→负荷中心"的真实送出瓶颈;
- 在条件允许时引入分布式资源(DER)聚合模型,整合屋顶光伏、用户侧储能、虚拟电厂。
价值:解决"内蒙古推荐 600 GW 风电但省内通道无法送出"等省内拥塞问题。
当前输电网采用 NTC(运输模型)框架,未来计划引入直流潮流(DC OPF):
- 在 6 大区级别构建 PTDF 矩阵,刻画环网潮流的物理分布规律;
- 增加 N-1 安全约束(关键线路故障时仍能保障运行);
- 与电力规划院合作,引入主网架的实际拓扑数据。
价值:为"三华联网"、特高压输电规划提供更精确的潮流分析与安全评估。
当前用电量来自情景 CSV 外生输入,未来将把终端电气化进程内生化:
- 把电气化率作为对电价响应的弹性变量;
- 引入需求响应(DR)的价格-响应函数,刻画工商业、居民侧的弹性负荷;
- 与宏观经济模型(如 CGE)做软耦合,闭环刻画"电价→GDP→用电量"反馈。
价值:捕捉"电力系统转型→电价波动→终端响应"的完整反馈循环。
经济成本最小化是当前目标函数,未来计划引入多目标优化框架:
- 把"煤炭从业者就业转型成本"作为第二目标;
- 对煤炭主产省(山西、内蒙古、陕西)引入"过渡期"约束;
- 增加省级 CO₂ 配额交易、碳税收入再分配的机制建模;
- 引入"公平性指数"(如各省单位 GDP 用电量、电价负担率)作为约束或目标。
价值:为"经济效率"与"社会公正"的权衡提供量化支持,服务于双碳目标下的公正转型。
为持续提升模型可信度,计划构建历史回测框架:
- 用 2010 / 2015 年的输入参数预测 2020 / 2024 实际结果,量化模型偏差;
- 对每个输出指标给出置信区间(基于参数不确定性的 Monte Carlo 分析);
- 主动参与国际模型比较项目(MIP),与 GCAM-China、MARKAL-China、IMAGE 等主流模型对比;
- 发布"CEpower 模型不确定性手册",公开各项关键输出的灵敏度与置信度。
价值:把 CEpower 从"单一模型"升级为"可验证、可比较、可重现"的研究基础设施。
当前部分参数(如 CCS 捕集率 90%、煤电最低出力 50%)取自 2024 年工程极限。 未来将构建技术成熟度路径数据库:
- 对前沿技术引入 TRL(Technology Readiness Level)演化路径;
- 关注新一代 CCS(如 NET Power)、第四代核电(高温气冷堆)、钠离子电池、固态电池、海上漂浮式风电等技术的潜力;
- 提供"乐观 / 基准 / 保守"三档技术参数包,支持参数池切换式分析。
价值:避免"用今天的极限规划明天的世界",为前沿技术的政策窗口提供量化支持。
| 优先级 | 方向 | 预期周期 | 学术价值 |
|---|---|---|---|
| ★★★★★ | 多年滚动 + 跨年储能 | 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 — 源网荷储一体化省级电力系统规划优化模型