交直流混合电力系统的最优潮流框架。

hynet的Python项目详细描述


欢迎使用hynet

hynet是计算交直流混合电力系统最优潮流(opf)的软件包,即:在满足系统技术边界条件的情况下,使发电资源和相应系统状态的成本或损失最小化以服务于给定负载。hynet支持由交流电网和径向直流电网(即点对点和径向多终端hvdc系统)的任意互连组成的电力系统。对于opf方法,它支持非凸二次约束二次规划(qcqp)及其半定松弛(sdr)和二阶锥松弛(socr)的求解。更多信息,请参阅hynet的文档(html/pdf)了解软件说明,以及本文为数学背景。hynet使用基于sqlite的sql数据库存储网格基础设施和场景信息。这里提供了一个包含多个网格数据库的库

安装

hynet是为python 3.5及更高版本开发的,需要numpyscipy熊猫sqlalchemymatplotlibtqdmh5py以及至少一个受支持的解算器。为了方便安装,可以使用python发行版anaconda(或剥离的miniconda),其中包含的包管理器conda支持直接安装受支持的解算器。

要使用python的包管理系统安装hynet,请运行

pip install hynet

hynet的安装和已安装的解算器可以使用进行测试

python -m hynet test

要从源代码安装hynet,请使用git通过克隆存储库获取最新的源代码。

git clone https://gitlab.com/tum-msv/hynet.git

并使用

启动安装
python setup.py install

解算器

下面列出了受支持的解算器。目前,建议使用以下解算器:用于qcqp的ipopt、用于sdr的mosek和用于socr的mosek或cplex。关于后者,经验发现cplex更健壮,而mosek计算效率更高。请注意,即使仅解决了qcqp,也建议安装mosek或cplex,因为它们能够有效地计算qcqp求解器的初始点。

ipopt

ipopt是一个用于大规模非线性优化的开源软件包,而cyipopt是ipopt的python包装。使用conda,两者都可以按如下方式安装。

  • Linux和Mac OS X:
conda install -c conda-forge cyipopt
  • 窗口:
conda install -c pycalphad cyipopt

莫塞克

mosek是一个用于大规模二次曲线优化问题的内部点优化器。它是商业性的,但提供a免费学术许可证。使用conda,可以安装mosek

conda install -c mosek mosek

hynet的面向mosek的sdr解算器接口支持半定程序的a弦转换,以使具有可行计算能力的中型和大型系统能够计算sdr。努力。要使用chordal sdr,需要chordal矩阵计算库chompack和凸面优化的python包。使用python的包管理系统,两者都可以通过

pip install chompack cvxopt

IBM ILOG CPLEX

cplex是用于线性、混合整数、二次和二次约束规划问题的高性能数学规划求解器。它是商业性的,但通过IBM学术计划提供免费学术许可证。有关安装,请参阅cplex附带的说明以及cplex文档中的"设置cplex的python api"一节。

桌面操作系统

hynet通过picos支持sdr和socr的解决方案。但是,附加的建模层会导致性能下降。picos是一种基于python的开源建模语言,用于线性和圆锥优化问题。它支持多个解算器,包括开源解算器cvxopt。使用python的包管理系统,picos和cvxopt可以通过

pip install picos cvxopt

pyomo

hynet通过pyomo支持qcqp的解决方案。但是,附加的建模层会导致性能下降。此外,pyomo的导入要求很高,显著降低了hynet的导入速度,因此只有在实际使用pyomo时才建议安装。pyomo是一种开源优化建模语言,包括对求解器的支持。使用conda,两者都可以安装

pip install hynet
0

用法

打开终端,导航到包含网格数据库的目录,然后启动python shell,要么是标准的shell(python),要么是一个更方便的shell,比如ipythonptpython。在python命令提示下,通过

pip install hynet
1

要访问文件pjm_hybrid.db中的系统数据,请使用连接到此数据库

pip install hynet
2

然后,可以使用

pip install hynet
3

对象result包含所有结果数据。例如,要打印摘要、打印解决方案的详细信息并访问确定的总线电压,请键入

pip install hynet
4

默认情况下,hynet在已安装的qcqp解算器中选择最合适的qcqp解算器。要显式指定解算器的类型,请设置解算器类型,如下所示。

pip install hynet
5

如果在计算opf之前需要修改场景,可以是lo通过

pip install hynet
6

例如,要将总线2的负载设置为100兆瓦和50兆瓦,请使用

pip install hynet
7

可使用

pip install hynet
8

有关更多信息和用法示例,请参阅usage.md中的教程。Hynet的文档(html/pdf)和本文

贡献

非常欢迎为hynet作出贡献。有关详细信息,请参阅contribution.md。如果Hynet对您有用,我们将非常感谢您启动此项目。

学分

该软件是在慕尼黑大学技术学院(TUM)开发的。主要的开发和项目维护人员是matthias hotz(@matthias_hotz),他希望得到以下贡献者的高度支持:

  • Vincent Bode(TUM):数据库管理,网络图导出
  • michael mitterer(tum):分布式计算、matpower导入、数据库管理
  • christian wahl(tum):能力区域可视化工具,ci配置
  • 阳阳河(TUM):CVxpy与picos解算器接口
  • julia sistermanns(tum):保留特征和结构的网络约简

引文

如果在编写科学出版物时使用了hynet,我们将感谢引用以下工作:

< Buff行情>

M.Hotz和W.Utschick,"Hynet:混合交直流电力系统的最优潮流框架",ARXIV:1811.104962018年11月。[在线]。可获得:http://arxiv.org/abs/1811.10496" rel="nofollow">http://arxiv.org/abs/1811.10496

下面提供了相应的bibtex条目。

pip install hynet
9

此外,如果在hynet中使用了保留网络缩减功能的特征和结构,我们将感谢引用以下工作:

< Buff行情>

J.Sistermanns、M.Hotz、D.Hewes、R.Witzmann和W.Utschick,"为大型输电网保留网络缩减功能和结构,"第13届IEEEPES电力技术会议,米兰,意大利,2019年6月。

许可证

BSD 3条款许可证

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android HttpClient cookies   如何使用Java在远程系统上运行SSH命令?   java从字符串数组中的字符串末尾删除“,”   在One plus 3t手机上,当应用程序被终止或从最近的应用程序中刷出时,java Android FCM推送通知不起作用   java如何使垂直滚动条始终位于jtable的末尾   在java中解析迄今为止“未知”的字符串   javascript在Java中获取Nashorn JsonObject   java windows 10和ubuntu可以使用相同的JDK吗?   java在不同的文件中记录不同的日志。但所有日志都放在同一个文件中   具有特定jdk的java Gradle构建项目   xml Java web服务生成错误响应   javascript Jaggery文件更改不显示   java输出二进制搜索树数组   将BufferedReader解析为JSON对象时,java在位置处意外标记文件结尾