没有合适的资源?快使用搜索试试~ 我知道了~
软件X 16(2021)100839原始软件出版物pycity_pycing-一个Python框架,用于开发和评估城市地区多能源系统的基于优化的电力调度算法SebastianSchwarz,Sebastian Alexander Uerlich,Antonello Monti复杂电力系统自动化研究所,埃昂能源研究中心,亚琛工业大学,Mathieustrasse 10,亚琛,德国ar t i cl e i nf o文章历史记录:2020年11月30日收到2021年10月1日接受保留字:优化框架电力调度算法多能源系统智能电网a b st ra ct我们介绍了开源Python软件框架pycity_scheduling,用于有效地开发、测试和评估城市地区本地多能源系统的基于优化的电力调度算法。该框架的主要目标是制定协调的概念,可以有效地解决城市地区一级的电力调度问题。其目标用户是智能电网应用领域的研究人员,以及为当地能源系统部署运营灵活性的研究人员。说明性代码示例演示了pycity_scheduling框架的功能及其用例。pycity_scheduling中建立的设计原则允许用户访问、扩展和修改Python包,而无需任何商业软件或许可问题。版权所有©2021作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本v1.0.1指向用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-20-00087代码海洋计算胶囊https://doi.org/10.24433/CO.4147995.v1法律代码许可证MIT使用git的代码版本控制系统使用Python 3的软件代码语言、工具和服务编译要求、操作环境依赖性Python包pycity_scheduling可以独立于硬件使用。Python站点包的要求是numpy、pandas、matplotlib、pyomo、Shapely、pycity_base和pytest。此外,还需要一个由Pyomo优化建模库支持的数学编程求解器。存储库中包含一个Dockerfile,它将所有依赖项与基于Linux的工作环境如果可用,链接到开发人员文档/手册https://acs.pages.rwth-aachen.de/public/simulation/pycity_scheduling/问题支持电子邮件post_acs@eonerc.rwth-aachen.de*通讯作者。电子邮件地址:www.example.comsebastian.schwarz @ eonerc.rwth-aachen.de(Sebastian Schwarz),sebastian. eonerc.rwth-aachen.depost_acs@eonerc.rwth-aachen.de(Sebastian AlexanderUerlich),www.example.com(Antonello Monti)。https://doi.org/10.1016/j.softx.2021.1008392352-7110/©2021作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxSebastian Schwarz、Sebastian Alexander Uerlich和Antonello Monti软件X 16(2021)1008392软件元数据当前软件版本v1.0.1指向此版本可执行文件的永久链接https://git.rwth-aachen.de/acs/public/simulation/pycity_scheduling/-/releases/v1.0.1法律软件许可证MIT计算平台/操作系统Linux,OS X,Microsoft Windows,类Unix安装要求依赖Python包pycity_scheduling可以独立于硬件使用蟒蛇site-package的需求是numpy、pandas、matplotlib、pyomo、Shapely、pycity_base和pytest。此外,还需要一个由Pyomo优化建模库支持的数学编程求解器。存储库中包含一个Dockerfile,它将所有依赖项与基于Linux的工作环境如果可用,请链接到用户手册-如果正式出版,请在参考列表中引用该出版物https://acs.pages.rwth-aachen.de/public/simulation/pycity_scheduling/问题支持电子邮件post_acs@eonerc.rwth-aachen.de1. 动机和意义现代城市区域依赖于各种形式的能源,特别是电力、天然气和区域供热/制冷,用于住宅、商业和工业应用。在过去,这些形式的能源及其基础设施通常被单独考虑,通常只在局部范围内进行分析,例如,仅适用于大型能源需求消费者或单个发电厂。然而,随着人们越来越关注城市地区的脱碳和能源效率方面,包括在[1]第一章科学文献提到了这种整体方法,将电力、燃气、热能和/或移动性等不同的能源载体结合起来,作为所谓的能源中心的概念或多能源系统[1,2]。 多能源系统定义一个局部能量系统,其中多个能量载体被转换、调节和存储以匹配波动的局部能量产生和消耗[2]。多能源系统的现代和创新运营商面临的主要挑战之一是面对来自社会的新期望,公民对可持续和自给自足的能源系统解决方案的兴趣越来越大。这些解决方案通常涉及高度定制的能源系统配置,其中能源系统运营商必须根据当前的法律法规额外地保持系统的可靠性和盈利能力。然而,这一前提条件使得这种特定的能源系统解决方案的操作在一定程度上是独特的和昂贵的。因此,整体多能源系统操作方法具有在最近的文献中得到了广泛的研究。由于先进的多能源系统解决方案所带来的技术复杂性,基于系统优化的数据驱动方法被认为是有效调度/调度、协调和控制多能源系统内资产例如,MartínezCeseña et al.[3]使用嵌入到技术经济框架中的混合整数线性规划协同优化方法,为本地多能源微电网系统的智能运行相比之下,Parisio等人[4]提出了一种离散时间线性鲁棒优化模型,以在不确定性下以最小的能源费用运营能源枢纽内的异构资产。类似地,Blaud等人[5]开发了一种用于多能源系统的基于优化的多产消者经济模型预测控制模型,该模型考虑了负荷、天气、可再生电力和能源电网成本预测,以最小化总体运营成本。尽管它们通常对多能量系统分析和操作做出了有价值的贡献,然而,这些示例性参考文献的共同点是,所提出的基于优化的应用需要数据、分析、算法和/或工作流程,而这些数据、分析、算法和/或工作流程很难产生或实现。虽然今天已经有许多用于多能源系统设计,规模和操作的开源和商业模拟和优化工具,但比较[6- 8 ]中的全面审查研究,我们仍然可以确定使用现有工具时这包括以下方面中的至少一个:处理输入数据的适当方法和程序计算多能源系统组件负荷和发电分布所需的时间序列数据)不可用或仅部分可用。用户无法轻松修改、扩展或调整不同的优化模型和场景。用户既不能影响也不能调查用于多能源系统优化的资产协调原则(例如,例如集中式与分布式优化方法)。这还涉及多能源系统的层次结构和架构的定义能源系统运营商和其他市场参与者的角色和责任通常没有很好地集成到基于优化的软件应用程序中。底层的基于优化的方法和/或多能量系统场景设置不是高度可扩展的。鉴于这些差距,本文提出了一种新颖的、面向对象的、开源的Python软件框架pycity_scheduling,它处理与多能源系统的智能操作和复杂资产协调相关的数据该框架解决了上述缺点,并允许其用户以简单的方式实现和评估基于优化的在这样做的过程中,它主要涉及智能电网应用领域的研究和多能源系统的运营灵活性的部署。因此,pyc- ity_scheduling框架背后的总体动机是支持科学家和工程专业人员在开发有效和可扩展的电力调度应用程序方面的研究活动与[3- 5 ]中的工作相比,现代能源系统运营商需要此类功率在这种情况下,所提出的框架有助于其用户可以容易地实现和分析不同的功率调度算法和方法,·····Sebastian Schwarz、Sebastian Alexander Uerlich和Antonello Monti软件X 16(2021)1008393图1.一、 电力调度协调方法改编自[9]。灵活。因此,我们在框架中看到了用于开发应用于多能源系统功率调度应用的这种功率调度算法的标准化Python编程环境的坚实基础,其中几个有用的预处理和后处理功能通过其实现来支持用户。使用我们的框架的一个主要优点是易于访问,框架组件的可扩展性、可修改性和适应性,它的2. 软件描述软件包pycity_scheduling构成了一个编程框架,用于有效开发、测试和评估基于优化的电力调度算法,用于城市地区级的多能源系统应用。 它是用Python 3编程语言实现的,并在MIT许可证下许可。该框架构建在pycity_base包[10]上,可以从Python项目索引(PyPI)获得,参见[11]。我们选择Python编程语言作为框架,因为它是开源的,平台无关的,在学术界广泛使用,并且允许科学家轻松使用和贡献。使用pycity_scheduling框架需要git,Python 3,几个免费的Python 3站点包,如numpy [12]和pandas [13],以及一个数学编程求解器,由Pyomo优化建模库支持[14]。需要强调的是,pycity_scheduling框架的可用性基于简单的Python指令,因此,Python脚本或Python notebook已被证明 是 一 种 简 单 灵 活 的 方 式 来 编 码 整 个 工 作 流 程 。pycity_scheduling包已经包含了一组示例脚本、示例和单元测试。此外,pycity_scheduling框架包附带了一个基于Web的文档[15],该文档详细描述了其组件以及[16]中的持续集成(CI)GitLab开发环境。Pycity_scheduling框架的主要贡献在于其提供了有用的工具和功能,这些工具和功能解决了针对城市区域多能源系统的基于优化的电力调度算法的应用的最新挑战和要求。从支持科学家和工程专业人员在开发这种功率调度算法方面的研究活动的总体目标出发,我们可以特别确定我们的框架的三个关键贡献如下:该框架提供了一组例程和功能,其专注于针对用户定义的多能源系统设置的基于优化的电力调度问题的定义和解决方案。该框架以整体方式为多能源系统内的不同物理资产和设备预先定义了适当的优化模型,包括所有所需的输入、优化变量、约束和目标函数。该框架为复杂的多能源系统设置指定了一个复杂的层次结构和数据模型,包括在不同的特性、输入和操作约束下存在的物理资产和设备的多样性和异质性。为了满足和巩固pycity_scheduling框架中的这三个关键功能,我们的实现采用了分布式电力调度协调方法,包括其数学公式,来自[9]并在基本包pycity_base的支持下将其映射到多能源系统应用领域[10]。图1说明了这种适应。在这种情况下,pycity_scheduling框架实现了[9]中建立的原则,可以将其概括为通过应用用户定义的电力调度协调策略将城市地区级别的电力需求智能细分为本地资产需求。这种电力调度策略背后的基本思想是短期电力调度,即,内部所有本地灵活资产和设备的前一天或当天操作由地区运营商负责城市地区的多能源系统,最终确保系统层面的全球电力需求和供应平衡。然而,pycity_scheduling框架并不意味着执行接近实时域的详细物理电力系统仿真,而是以提前一天的时间范围为目标,时间离散化范围从几分钟到几小时。因此,不同pycity_scheduling框架组件之间的交互,类似于[9]中的工作,基于简化的铜板模型,但完全符合预期目标用例的假设时间分辨率特性2.1. 软件架构和功能图2显示了pycity_scheduling框架的软件架构。一般来说,框架架构可以根据整体软件工作流程分为三个核心组件,如图所示。二、···Sebastian Schwarz、Sebastian Alexander Uerlich和Antonello Monti软件X 16(2021)1008394图二、 包pycity_scheduling的核心组件概述。场景设置组件向用户提供用于设置特定多能量系统场景或应用的建模功能。在这个初始步骤中,用户指定一个集合输入数据,它描述了当地的多能源系统的一般参数的调查。例如,输入数据包括关于多能量系统的地理位置、本地天气数据和所考虑的模拟范围(例如,提前24小时)。此外,用户还输入关于消费者(或相关利益相关者)的数量和类型以及场景中存在的物理资产/设备的数量的信息。为此,每个消费者由pycity_scheduling框架中的Building对象表示,其可以包含有限数量的(灵活的)设备,这些设备又通过相应的设备对象表示。在这样做时,pycity_scheduling框架为用户提供了一组分层类,这些分层类表征了人们可以在现代住宅、商业和工业多能源系统设置中找到的最常见的能源系统设备和组件的物理行为。这包括以下类型的资产:• 不可弯曲/不可转向载荷• 可削减负荷• 可延期负荷• 燃气锅炉• 电加热器• 热电联产机组• 热泵• 冷水机组• 热能储存单元• 电动汽车• 蓄电池组• 光伏单元• 风力涡轮发电机每个设备的类都已经配备了基本的数学优化模型,该模型继承了一组数学约束和目标函数,描述了特定设备在预定义的仿真范围内的一般操作条件。例如,在电动车辆的情况下,优化模型定义了随时间变化的充电功率速率,该充电功率速率取决于车辆有关建模方法和每个设备的优化问题公式的更详细概述,我们直接请读者参阅[15]中的pycity_scheduling包此外,对于一个适当的在设备建模中,pycity_scheduling框架使用pycity_base包来获得大多数电力和热负载的标准负载时间序列重要的是要提到,通过设计,所有数学模型都可以由用户容易地调整和扩展,以便反映更具体的物理设备行为,例如,基于供应商特定的操作约束。此外,该框架为用户提供了几个不同的预定义的优化模型的建模选项。例如,用户可以在基于凸优化约束或非凸优化约束的建模方法在下一步中,用户必须实例化封装所有本地级设备的所谓CityDistrict对象根据[17]中定义的电力调度协调方法所需的层次结构, 图 3通过包pycity_scheduling的示意性类层次图来可视化这种层次结构。基于该示意图,很明显,所有框架对象都从基类OptimizationEntity继承,该基类包括公共属性,例如所有框架对象所需的唯一标识符或优化模型实例此外,上述不同类型的资产源自定义基本物理特性的类别ElectricalEntity和/或ThermalEntity无论资产是表示电、热还是电热设备。ClassBattyContainer最终对这些资产进行分组和维护,然后用户可以将其分配给Building对象或其他子对象(如Building中的Apartment)。功率调度组件被认为是pycity_scheduling框架的关键元素,如图中的红框所突出显示。 二、给定来自前一步骤的CityDistrict对象形式的多能源系统场景设置,用户可以将任意电力调度算法应用于该特定场景,以便解决电力调度问题。pycity_scheduling框架的功率调度组件已经包括一些参考功率调度算法,由此用户可以自由地将它们用作其自己实现的起点。值得一提的是,所有新算法的实现和修改都必须依赖于数学编程语言Pyomo,com-14。Pyomo扩展了现代代数建模语言工具支持的建模方法,并允许软件工程师以人类可读的方式简化数学表达式的实现[14]。换句话说,Pyomo是一个开源的Python库,用于独立于所使用的优化求解器来制定优化问题,以便用户可以将pycity_scheduling框架与自己选择的第三方优化求解器一起使用。这样的优化求解器的例子是商业工具Guidance [18]和CPLEX [19]以及免费的SCIP [20]和BONMIN [21]。最后,pycity_ scheduling框架的后处理组件为用户提供了几个功能,例程和实用程序,用于对先前执行的电力调度优化进行有效的评估和评估。这包括评估技术指标、绘制时间表(例如,通过matplotlib包[22])以及导出数据(例如,到.csv或.json文件格式)。因此,后处理组件的主要思想是用户更确切地说,通过提供有意义的输出数据,后处理组件应当帮助用户以最小的努力来评估和评定其功率调度算法实现。Sebastian Schwarz、Sebastian Alexander Uerlich和Antonello Monti软件X 16(2021)1008395图3.第三章。 使用统一建模语言(UML)表示法的包pycity_scheduling的主要类的示意性层次结构图。3. 说明性实例为了补充前面对pycity_ scheduling包为此,我们将软件的核心工作流程分为三个说明性代码示例,这些示例与第2.1节中描述的不同框架组件一致。在这种情况下,以下三个说明性代码示例定义了一个简单的基于优化的能源成本最小化用例,用于多能源系统内资产的日前规划在此基础上,可以在pycity_scheduling源包提供的其他示例脚本中找到利用该框架的更复杂的应用程序和用例。3.1. 场景设置代码示例清单1中的Python代码演示了预期用例的初始场景设置步骤的典型工作流。根据清单1,用户必须始终首先从pycity_scheduling框架和其他第三方模块导入所有必需的模块,比较第1-3行。接下来,根据第5-Environment对象维护通用数据,该通用数据对所有框架对象有效,并且包含时间、天气和/或能源市场价格数据信息。因此,pycity_base/pycity_scheduling 中 的 所 有 对 象 通 常 都 指 向Environment。在这个例子中,我们定义了Timer对象来维护某一天的历史时间数据,这一天是2018年3月15日,因此我们选择了24小时的时间范围,并以小时为单位进行时间离散化,即,3600秒。对于我们的多能源系统的位置,我们使用德国亚琛市的给定坐标实例化Weather 对 象 。 实 例 化 Price 对 象 时 不 带 可 选 参 数 , 这 使 得pycity_scheduling框架自动加载德国前一天的历史市场价格数据在第10-12行中,现在用户可以实例化和定义作为所研究的多能量系统的一部分的不同资产和负载组件。为了举例说明,我们定义了一 个 年 电 能 需 求 为 3000 kWh/ a 的 FixedLoad 对 象 。 设 置 参 数profile_type到“H0”,它指的是固定载荷(即,不灵活的负载)以遵循住宅单户房屋的标准负载分布特性。此外,我们在本例中实例化了一个光伏对象和一个电池对象,它们表示峰值功率为6 kWp的光伏单元和容量为8的电池存储系统。4 kWh,充电/放电功率率为3。6kW,分别。其他资产和存在于所考虑的多能量系统设置中的负载可以由程序员实例化和添加。出于演示目的,我们在第14-25行中可视化了2018年3月15日实例化对象获得的一些时间序列数据。相应的曲线图如图所示。四、可以看出,我们可以很容易地访问这些时间通过使用不同对象的 预定义属 性, 例如表示能 源现货市 场前一天 价格的p.da_prices、表示固定负载的电力需求的fi.p_el_schedule以及表示光伏单元随时间的发电的pv.p_el_supply,来生成一系列数据3.2. 电源调度代码示例为了演示电源调度工作流步骤,我们扩展了上一节中的场景设置代码示例,如清单2所示。为此目的,首先我们根据第27-35行中所述的代码定义我们的多能量设置这可以用一种简单的方式来完成,我们从Building对象的实例化开始,我们将两个不同的子对象 分 配 给 Building 对 象 ,即Apartment对 象 和BuildingEnergySystem对象。Apartment对象获取并维护居民可能拥有并在单个公寓级别上操作的能量设备,例如在我们的情况下的电力负载和电池单元,而BuildingEnergySystem对象获取并维护通常安装在全局建筑级别上的能量设备,例如光伏单元。在下面的步骤中,我们实例化一个CityDistrict对象,它可以绑定一组不同的建筑物,但为了示例起见,在这个代码示例中它只是一个建筑物我们进一步定义CityDistrict对象以拥有价格驱动的优化目标,因为我们希望在本示例中执行能源成本最小化。然而,我们也可以定义CityDistrict对象(如果需要,也可以定义Building对象),以瞄准除能量成本最小化之外的优化目标,例如调峰或低CO2排放目标。在接下来的步骤中,在第37-39行中执行实际的日前电力调度在这一步中,我们在第37行将CityDistrict对象传递给预先可用的CentralOptimization优化算法,然后在第38行调用Pyomo的底层第三方优化求解器。可以看出,mode参数在第37行中被设置为最后,我们可以通过调用第39行中的CityDistrict可以看到,我们在这里用标识符“optim_schedule”标记这些电源调度Sebastian Schwarz、Sebastian Alexander Uerlich和Antonello Monti软件X 16(2021)10083961进口matplotlib.pyplotasplt2从pycity_schedulingg. classesimport*3从pycity_schedulingg. algorithmsimport*45 t=Timer(op_horizon=24,step_size=3600,inial_date =(2018,3,15),inial_time =(0,0,0))6w=Weather(timer=t,location =(50.76,6.07))7p=Prices(timer=t)8e=Environ ment(timer=t,weather=w,prices=p)910 fi=FixedLoad(environ ment=e,meth od=1,anual_demand =3000)。0,profile_type=“H0“)11pv=Phot_v_taic(environ met=e,meth od=1,peak_pwer=6)。0个)12ba=Batery(environ ment=e,e_el_max =8. 4,p_el_max_charge=3。6,p_el_max_discharge =3。六、1314 plot_time=list(range(t. timesteps_used_horizon)15 fig,axs=plt。subplots(1,3)16axs[0]。plot(plot_time,p.da_prices,color=“black“)17axs[0]。set_title(“Day-aheadenergymarketprices[ct/kWh]“)18axs[1]。plot(plot_time,fi. p_el_schedule,color=“black“)19axs[1]。set_title(“Single-familyhouuseleectricaloademandd[kW]“)20axs[2]。plot(plot_time,pv.p_el_supply,color=“black“)21axs[2]。set_title(“Residetialphotovoltaicsgeneration[kW]“)22 一个x在一个x中。图片:23ax. set(xlabel=“Time[h]“,xlim =[0,t. timesteps_used_horizon-1])24plt。grid()25plt。绍沃清单1:场景设置组件的说明性代码示例。27bd=Building(environ ment=e,objective=“none“)28bes=BuildingEnergySystem(environ met=e)29ap=Apartment(environ ment=e)30bd. add MultipleEnties(enties=[bes,ap])31bes。add Device(对象Instance =pv)32 一个p。add MultipleEnties(enties=[fi,ba])3334cd=CityDistrict(environ met=e,objective=“price“)35cd. add Entity(bd,position =(0,0))3637opt=CentralOptimization(city_district=cd,mode=“integer“)38 res=opt. n.[美]太阳,太阳,太阳39cd. copy_schedule(dst=“optim_schedule“)清单2:电源调度组件的说明性代码示例(续)。3.3. 后处理代码示例图四、根 据 清 单 1 中 的 代 码 绘 制 时间序列数据图。成本最小化目标。由于这种行为,低成本的电能被暂时存储在电池单元内清单3中的代码完成了本图的整个工作流程通过演示pycity_scheduling框架的不同后处理功能,提供了一个传统的代码示例。为此,在第一步中,我们导入框架 在第二步中,我们在第45行中调用CityDistrict在第三步中,我们使用框架这些图如图所示。其中,具有后缀“p_el”的调度表分别表示电功率,并且“e_el”表示电能。从图在图5中,变得明显的是,柔性电池装置以这样的方式被调度,使得电力主要由地区运营商在便宜的现货市场时段期间从能量现货市场输入,比较图4中的左图。这意味着电池单元被激励在这段时间里根据给定的能量给自己反之亦然,电池单元被激励在昂贵的能量现货市场电价时段期间自身放电,以在这些时段期间本地供应非灵活建筑物的电力负载。此外,可以看出,电池单元也在光伏单元的高功率穿透的时隙期间被充电,比较图1B中的右图。四、这是因为假设本地产生的光伏能量具有零能量成本,即,它可以被认为是自由的。如第50行中评估的,建筑物的功率自消耗率度量为约67%,证实了这种情况。然而,剩余的23%的光伏发电不能由建筑物本地消耗,因为电池单元已经在其物理充电功率极限3. 6千瓦。最后,为了进一步研究,我们根据第52行将获得的不同多能源系统资产的时间表导出到名为“cost_otpim.json”的文件中Sebastian Schwarz、Sebastian Alexander Uerlich和Antonello Monti软件X 16(2021)100839741从pycity_schedulingg. 乌特湖metricimportself_consumption42从pycity_schedulingg. 乌特湖plot_schedulesimportplot_entity43从pycity_schedulingg. 乌特湖write_schedulesimportschedule_too_jso_n4445cd. load_schedule(schedule=“optim_schedule“)4647plot_entity(entity=cd,schedule =[“optim_schedule“],title =“Citydistrict-Cost-optimalschedules“)48plot_enty(entity=ba,schedule =[“optim_schedule“],title=“Bateryunit-Cost-optimalschedules“)4950 print(self_consumption(entity=bd))5152 schedule_to_json(input_list=[fi,pv,ba],file_name=“cost_optim. json“,schedule =[“optim_schedule“])清单3:后处理组件的示例性代码(续)。图五. 根据清单3中的代码,绘制了针对市区(左)和电池组(右)获得的最佳调度图。正号表示功率/能量输入,而负号表示功率/能量输出。4. 影响Pycity_scheduling框架的发展主要是由欧盟委员会制定的能源目标推动的[17,23]。随着越来越多的分布式发电机和可再生能源安装在配电网和地方能源系统中,该框架背后的想法符合欧盟的最新政治意图,并支持对智能电网技术和能源数字化的研究。鉴于该框架的实施设计以客户为中心,它已经满足了未来欧洲能源政策的关键要求,即建立一个更可持续的欧洲能源供应系统在[23]中。此外,由于pycity_scheduling框架是开源的,并且作为完全独立于硬件的Python包,它可以用作开发、修改、测试和基准测试用于多能源系统的基于优化的功率调度算法的参考软件工具,并且为在该研究领域中致力于不同概念方法和解决方案的科学家提供共同不幸的是,文献中提出的许多功率调度算法实现在其意义和可再现性方面受到限制,因为没有允许人们充分比较不同方法的场景和数学编程模型的明显标准化。相反,许多解决方案依赖于非常特定的用例应用程序,因此,由于输入、数据和模型的不可用,很难评估和复制。该研究领域的许多科学家仍然使用他们个人的但通常不可访问的软件解决方案,这导致缺乏软件代码透明性,类似任务的重复工作以及相关缺点。pycity_scheduling框架解决了这个难题。有一个共同的软件框架基础,另外促进了富有成果的讨论,以及研究人员和潜在的利益相关者之间的专业知识和新思想的交流。尽管pycity_scheduling框架中预先可用的算法是以顺序的方式实现的,但是pycity_scheduling框架中的算法是以顺序的方式实现的调度框架还允许其用户执行可扩展性分析和大规模能量系统模拟。这对于针对由数百个资产和设备组成的复杂多能源系统设置的所有电力调度应用都很重要。我们希望鼓励用户实现新的功率调度算法,以支持紧耦合或松耦合机器上的并行计算这将促进分布式和分散式计算,因此可以显着减少复杂优化问题的计算时间。此外,此功能也可能对公司或第三方组织参与的模拟感兴趣,但由于数据隐私问题而无法共享机密数据,例如,由于保护了真实的客户数据或关键的基础设施拓扑数据。作为一种科学工具,pycity_scheduling框架目前已成功应用于欧盟这种特定的多能源系统受到可再生能源生产的高份额的影响,并且目标是量化在灵活性提供方面的技术经济措施,这些灵活性提供对于这种系统具有长期的特殊价值。这还包括日前电力调度应用程序,作为一个新的需求侧管理概念的基础,并已实现的pycity_scheduling框架。除此之外,一些科学出版物已经利用了pycity_scheduling框架实现,例如[25此外,pycity_scheduling软件包由非营利FEIN亚琛协会推广[28]它在其网站上提供其源代码和文档的永久链接。5. 结论我 们 介 绍 了 pycity_scheduling 面 向 对 象 和 独 立 于 平 台 的Python软件包,用于有效地开发、测试和评估本地多能源系统的基于优化的日前电力调度应用程序。该框架由三个核心组成部分组成,Sebastian Schwarz、Sebastian Alexander Uerlich和Antonello Monti软件X 16(2021)1008398允许用户以直接的方式编码、优化和评估这种多能量系统设置。当前的包及其未来的版本都是在MIT许可下授权的,并通过Python项目索引(PyPI)公开提供。pycity_scheduling包附带了一个完整的在线类文档和几个示例脚本,这些脚本说明了该框架的主要功能和特性。 其中还包括本文中讨论的说明性代码示例。该框架它旨在为标准化Python编程环境奠定坚实的基础,用于开发此类电力调度概念/算法,其中几个有用的预处理和后处理功能可以支持用户实现。这包括提供一组分层类别,其在物理上和数学上对多能源系统内的不同资产进行建模。由于Python包pycity_scheduling是开源的,因此强烈鼓励开发人员扩展和/或修改其组件、模型和功能。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作确认这项工作是在欧盟地平线2020研究和创新计划的框架内进行的,该计划是824392引用[1] Dall'Anese E,Mancarella P,Monti A.解锁灵活性:多能源系统的集成优化和 控 制 。 IEEEPowerEnergyMagaz2017;15 ( 1 ) : 43-52.http://dx.doi.org/10.1109/MPE.2016.2625218网站。[2] [10]杨文辉,张文辉.未来的能源中心。 IEEE Power Energy Magaz 2007;5(1):24-30. http://dx.doi.org/10.1109/MPAE.2007.264850网站。[3] Martínez Ceseña EA,Good N,Syrri AL,Mancarella P.多能源微电网的技术经济和商业案例评估,以及能源,储备和可靠性服务的共同优化。应用能源2018;210:896-913。http://dx.doi.org/10.1016/j.apenergy.2017.08.131网站。[4] Parisio A,Del Vecchio C,Vaccaro A.一个强大的优化方法,能源枢纽管理。IntJElectrPowerEnergySyst2012;42(1):98-104.http://dx.doi.org/10.1016/j.ijepes.2012.03.015网站。[5] Blaud PC,Haurant P,Claveau F,Lacarrière B,Chevrel P,Mouraud A.多能源系统的多产消者节点与经济模型预测控制建模与控制。Int J ElectrPowerEnergySyst2020;118:105778.http://dx.doi.org/10.1016/j.ijepes.2019.105778网站。[6] [10]杨文,李文,李文. 审查用于分析将可再生能源纳入各种能源系统的计算机 工 具 。 应 用 能 源 2010;87 ( 4 ) : 1059-82. http://dx.doi.org/10 的 网 站 。1016/j.apenergy.2009.09.026。[7] Allegrini J , Obergounig K , Mavromaiden G , Ruesch F , Doggov V ,Evins R. 区 域 尺 度能 源 系 统 模 拟的 建 模 方 法 和工 具 综 述 。Renew SustainEnergy Rev 2015;52:1391-404. 网址://dx.doi.org/10.1016/j.rser.2015.07.123网站。[8][10]张晓刚,张晓刚,张晓刚.建立城市尺度能源模型的模拟工具:综述。能源2018;11(12):3269. http://dx.doi的网站。org/10.3390/en11123269。[9]朱尔斯加德湾利用智能电网中的分布式资源:协调方法。(博士)
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功