GenX 开源项目使用教程
1. 项目介绍
GenX 是一个高度可配置的开源电力系统容量扩展模型,旨在研究低碳能源未来。该模型最初由麻省理工学院的 Jesse D. Jenkins 和 Nestor A. Sepulveda 开发,现在由普林斯顿大学 ZERO 实验室、麻省理工学院和纽约大学的团队共同维护。GenX 是一个受约束的线性或混合整数线性优化模型,用于确定电力系统中发电、储能、输电和需求侧资源的投资和运营决策,以最低成本满足未来的电力需求,同时遵守各种电力系统运营约束、资源可用性限制和其他环境、市场设计和政策约束。
GenX 的特点包括:
- 模块化和透明的代码结构,使用 Julia + JuMP 开发。
- 高度灵活和可配置,适用于学术研究、技术评估、公共政策和监管分析以及资源规划。
- 可根据研究问题配置不同的模型分辨率和范围,包括时间序列数据、电力系统运营细节和地理空间分辨率。
- 能够代表各种传统和新型电力资源,包括热发电机、可变可再生资源(风能和太阳能)、水力发电机、储能设备、需求侧灵活性和先进技术。
2. 项目快速启动
环境准备
GenX 运行在 Julia 1.6 到 1.10 版本上,需要 JuMP 包的最低版本为 1.1.1。建议用户使用特定版本的 Julia 运行 GenX。如果切换 Julia 版本,请删除旧的 Manifest.toml 文件并重新构建 GenX。
安装步骤
-
克隆 GenX 仓库:
git clone https://github.com/GenXProject/GenX.git cd GenX
-
安装依赖项:
julia --project=. -e 'using Pkg; Pkg.instantiate()'
-
运行示例系统:
julia --project=. src/run_genx.jl example_systems/Texas_7k/
配置文件
GenX 的配置文件位于 example_systems/
目录下。用户可以根据需要修改这些配置文件,以适应不同的研究需求。
3. 应用案例和最佳实践
GenX 已被广泛应用于各种电力系统规划和政策研究中。以下是一些应用案例:
- 学术研究:用于评估不同电力资源组合对系统成本和排放的影响。
- 公共政策分析:用于模拟不同政策约束下的电力系统扩展路径。
- 资源规划:用于确定未来电力系统中各种资源的最佳投资组合。
最佳实践包括:
- 根据研究问题选择合适的模型分辨率和范围。
- 使用示例系统进行初步测试,熟悉 GenX 的功能和配置。
- 参考 GenX 的详细文档,了解每个方法和输入文件的详细信息。
4. 典型生态项目
GenX 作为一个开源电力系统模型,与其他电力系统分析工具和数据集有良好的兼容性。以下是一些典型的生态项目:
- Julia 生态系统:GenX 使用 Julia 语言开发,可以与其他 Julia 包集成,如 JuMP、DataFrames 等。
- 电力系统数据集:GenX 可以与各种电力系统数据集结合使用,如 EIA 数据、NERC 数据等。
- 优化求解器:GenX 支持多种优化求解器,包括开源的 HiGHS、Clp、Cbc,以及商业求解器 Gurobi 和 CPLEX。
通过这些生态项目的结合,用户可以更全面地分析和优化电力系统。