智慧楼宇多目标调度问题【数学规划的应用(含代码)】阿里达摩院MindOpt

简介: 本文探讨了使用MindOpt工具优化智慧楼宇的多目标调度问题,特别是在虚拟电厂场景下的应用。智慧楼宇通过智能化技术综合考虑能耗、舒适度等多目标,实现楼宇设备的有效管理和调度。虚拟电厂作为多能源聚合体,能够参与电力市场,提供调峰、调频等辅助服务。文章介绍了如何使用MindOpt云上建模求解平台及MindOpt APL建模语言对楼宇多目标调度问题进行数学建模和求解,旨在通过优化储能设备的充放电操作来最小化用电成本、碳排放成本和功率变化成本,从而实现经济、环保和电网稳定的综合目标。最终结果显示,在使用储能设备的情况下,相比不使用储能设备的情形,成本节约达到了约48%。

本文主要讲述使用MindOpt工具优化智慧楼宇多目标调度问题

视频讲解👈👈👈👈👈👈👈👈👈

一、 案例场景

image.png

智慧楼宇多目标调度是指利用智能化技术和优化算法,综合考虑楼宇内多个目标,如能耗最小化、舒适度最大化、设备健康维度等,对楼宇内的各个设备和系统进行调度和管理的过程。

应用场景有:一是商业办公楼,有大量的设备和系统,如照明系统、空调系统、电梯系统等等,通过智慧楼宇多目标调度可实现能源自由调度,以降低能耗和成本,提高舒适度,并延长设备寿命。

二是酒店和旅游业,智慧楼宇多目标调度可用于优化客房的能源使用,提高客人住房舒适度,同时还可通过灵活调度负荷,参与能源市场,实现能源成本的优化。

三是医疗机构,通常需要保持稳定的室内环境,如室内的温度、湿度等,并确保医疗设备的正常运行,智慧楼宇多目标调度可以帮助医疗机构实现能源的优化调度,保证室内环境舒适的同时,确保医疗设备的正常运行和设备寿命的延长。

其次还有大型商场和购物中心,以及本次讲述虚拟电厂的场景。



二、 虚拟电厂

image.png

作为一个区域性多能源聚合形式,实现了可再生能源大量接入电力系统运行,推动城市能源绿色高效发展。有效聚合电源、负荷、储能等各类资源,参与电力市场,响应价格信号,为电网提供调峰、调频、调压与备用等辅助服务。

总的来说,结合多个分布式光组合系统形成一个虚拟电厂。通过集中调度虚拟电厂可在电力市场中像传统电厂一样进行电力交易和提供电力服务。

在实际的情况下,考虑去电厂的问题难点主要包括两点:一是不确定性,可再生能源、储能以及负荷等单独运行时,电容量较小,并具有较大随机性、波动性、间歇性。比如在发电功率上,从生产原理来看,光伏、风电的发电和天气息息相关,具有不稳定性;还有在用电负荷上,用户端用电规律会随着时间变化;同时不同的用电场景,比如居民楼、商业楼、写字楼等具有不同的负荷特性。

二是多目标优化,在并网状态下,虚拟电厂与大电网同步运行,在过往的状态下,虚拟电厂需要自动控制电压和频率的平衡。在用电设备可控的情况下,可以联合调解用电负荷和智能设备,实现虚拟电厂内部设备的协同和电网的互动。但是在这个案例中,为了不影响居民或者产业正常用电,我们希望在不消减负荷需求的情况下,通过控制虚拟电厂的储能单元,确保电力系统经济低碳安全的运行。



三、 数学规划

image.png

智慧楼宇多目标调度也可使用数学规划的方法。数学规划是一种数据优化方法,主要是寻找变量的取值在特定的约束情况下,使决策目标得到一个最大或者最小的决策。数学规划最常见的有线性规划以及整数规划,还有非线性规划。使用数学规划的方法,首先是需确定问题的目标、约束以及变量的取值范围,建立数学模型,然后将数学模型转化为代码进行求解,最后得出的结果就是最优决策。在求解过程中会使用到优化解器工具,可以帮助计算大规模数学规划问题。



四、 问题描述

image.png

在保证社区负荷需求的情况下,通过储能设备的指令控制,以用电经济性、环保性和对电网稳定性为综合目标的一直调度场景。社区用电来源可以包括光伏设备发电、储能设备放电和向公网购买。我们考虑多时段、多目标优化问题,通过资源协调利用,在满足设备功率约束和能量状态条件约束下提供调度决策参考。

主要考虑以下几点:一是调度需确保社区的负荷需求得到满足,确保供电能满足社区的用电需求。

二是调度使用储存设备的指令控制,包括充电和放电的操作,通过合理控制储存设备的充放电,可以优化用电经济性、环保性和电网稳定性。

三是考虑社区的用电来源,光伏设备发电也是一个重要因素,可合理利用光伏设备的发电能力,满足一部分社区的负荷需求。

四是当社区的负荷需求,无法通过储能设备和光伏设备满足时,需要从公网购买电力来弥补不足。

五是考虑到不同时段用电情况和目标的多样调度需要进行多时段多目标的优化,以及在不同时段中平衡经济性、环保性。

六是电网冷链状态约束,以确保储能设备的正常运营。



五、代码解析

image.png

在案例中,我们对这个问题进行数学建模和代码转化,用到MindOpt云上建模求解平台(一个页面版的线上开发环境,可在线的开发调试代码)、以及达摩院研发的建模语言MindOpt APL,与学公式非常贴近。

工具:

声明集合

image.png

  • set I := 1..2;
    定义建筑物集 I 为 1 和 2。
  • set T := 1..24;
    定义时间周期集 T 为 1 到 24。
  • set T0 := 1..23;
    定义时间周期集 T0 为 1 到 23,用于表示 T 时间段内的状态点。
  • set T1 := 1..25;
    定义时间周期集 T1 为 1 到 25,用于表示 T 时间段前后的状态点。

参数定义

image.png

  • 负荷矩阵 load_matrix[I*T]
  • 定义了每个建筑物在各个时间段的负荷需求。
  • 单位电价 price[T]
  • 定义了每个时间段的电价。
  • 碳排放价格 emission[T]
  • 定义了每个时间段的碳排放价格。
  • 充放电效率 charge_efficiency, discharge_efficiency
  • 分别定义了充电效率和放电效率。
  • 储能单次充放电限制 nominal_power
  • 定义了储能设备单次充放电的最大功率限制。
  • 基准值 direct_cost_base, emission_charge_base, ramping_charge_base
  • 定义了在不使用储能的情况下,直接成本、碳排放成本和爬坡成本的基准值。


声明变量

image.png

  • var x[I*T] >= 0 <= nominal_power;
    充电变量,表示每个建筑物在各个时间段的充电功率。
  • var y[I*T] <= 0 >= - nominal_power;
    放电变量,表示每个建筑物在各个时间段的放电功率。
  • var soc[I*T1] >= 0 <= 1;
    储能设备状态(State-of-Charge),表示每个建筑物在各个时间段的状态。
  • var vu[I*T] >= 0;
    楼宇净消费电量,表示每个建筑物在各个时间段的净用电量。
  • var mu[T] >= 0;
    区域净消费电量,表示整个区域在各个时间段的净用电量。
  • var w[T0] >= 0;
    区域爬坡电量,表示整个区域在相邻时间段的净用电量变化。


声明目标

image.png

优化目标是由三部分组成,每部分权重为1/3,使得他们在计算平均成本时具有同等的重要性。第一部分是电力成本,对于每个时段的净消费电量mu*电价/直接电力成本进行加权求和,第二部分是碳排放成本,计算每个楼宇在每个时间段的净消费电量vu*碳排放价格/碳排放成本的基本值进行加权求和。第三部分是功率变化成本,对哪个时段的去功率变化w/功率变化成本的基本值,通过加权和整合三个不同指标来最小化智慧楼宇调度的总平均成本。

声明约束

image.png

  • 对于每个时间点 t,区域净消费电量 mu[t] 减去所有建筑物的总充电功率 sum {i in I} x[i,t] 再减去所有建筑物的总放电功率 - sum{i in I} y[i,t] 必须大于等于所有建筑物在该时间点的总负荷需求 sum{i in I} load_matrix[i, t]

示例: 假设 t=1,则有:

  • mu[1]: 区域净消费电量。
  • x[1,1] + x[2,1]: 所有建筑物在 t=1 的总充电功率。
  • y[1,1] + y[2,1]: 所有建筑物在 t=1 的总放电功率。
  • load_matrix[1,1] + load_matrix[2,1]: 所有建筑物在 t=1 的总负荷需求。

因此,约束条件变为: [ mu[1] - (x[1,1] + x[2,1]) - (y[1,1] + y[2,1]) >= (load_matrix[1,1] + load_matrix[2,1]) ]

image.png

  • 对于每个建筑物 i 和每个时间点 t,楼宇净消费电量 vu[i,t] 减去该建筑物在该时间点的充电功率 x[i,t] 加上放电功率 y[i,t] 必须大于等于该建筑物在该时间点的负荷需求 load_matrix[i, t]

示例: 假设 i=1 t=1,则有:

  • vu[1,1]: 第 1 座建筑物在 t=1 的净消费电量。
  • x[1,1]: 第 1 座建筑物在 t=1 的充电功率。
  • y[1,1]: 第 1 座建筑物在 `t=1] 的放电功率。
  • load_matrix[1,1]: 第 1 座建筑物在 t=1 的负荷需求。

因此,约束条件变为: [ vu[1,1] - (x[1,1] + y[1,1]) >= load_matrix[1,1] ]


image.png

  • 对于每个时间点 t(除了最后一个时间点),区域爬坡电量 w[t] 必须大于等于区域净消费电量从 t t+1 的变化量的绝对值。

示例: 假设 t=1,则有:

  • w[1]: 第 1 个时间点的区域爬坡电量。
  • mu[2]: 第 2 个时间点的区域净消费电量。
  • mu[1]: 第 1 个时间点的区域净消费电量。

因此,约束条件变为: [ w[1] - (mu[2] - mu[1])  >= 0 ] [ w[1] - (mu[1] - mu[2]) >= 0 ]

这意味着 w[1] 必须大于等于 |mu[2] - mu[1]|


image.png

  • 对于每个建筑物 i,储能设备在第 1 个时间点的状态 soc[i,1] 必须为 0。

示例: 假设 i=1,则有:

  • soc[1,1]: 第 1 座建筑物在第 1 个时间点的状态。

因此,约束条件变为: [ soc[1,1] == 0 ]


image.png

  • 对于每个建筑物 i 和每个时间点 t,储能设备在下一个时间点的状态 soc[i,t+1] 等于当前时间点的状态 soc[i,t] 加上该时间点的充电功率乘以充电效率 charge_efficiency 再加上放电功率除以放电效率 discharge_efficiency

示例: 假设 i=1 t=1,则有:

  • soc[1,2]: 第 1 座建筑物在第 2 个时间点的状态。
  • soc[1,1]: 第 1 座建筑物在第 1 个时间点的状态。
  • x[1,1]: 第 1 座建筑物在第 1 个时间点的充电功率。
  • y[1,1]: 第 1 座建筑物在第 1 个时间点的放电功率。
  • charge_efficiency: 充电效率。
  • discharge_efficiency: 放电效率。

此,约束条件变为: [ soc[1,2] == soc[1,1] + x[1,1] * charge_efficiency + y[1,1] / discharge_efficiency ]


结果解析

image.png

然后就可用求解指令进行求解。最后得出的结果是0.52,我们在使用储能设备对比不使用储能设备的情况下节省了大概48%的成本。

六、 内容回顾

本期主要讲在虚拟电厂场景下优化智慧楼宇多目标调度问题——最小化调度的平均总成本。使用到的工具是MindOpt求解平台,网址是opt.aliyun.com。


获取案例源代码

image.png

虚拟电厂智能调度-MindOpt Studio



相关文章
|
达摩院 供应链 安全
光储荷经济性调度问题【数学规划的应用(含代码)】阿里达摩院MindOpt
本文介绍使用MindOpt工具优化光储荷经济性调度的数学规划问题。光储荷经济性调度技术旨在最大化能源利用率和经济效益,应用场景包括分布式光伏微网、家庭能源管理系统、商业及工业用电、电力市场参与者等。文章详细阐述了如何通过数学规划方法解决虚拟电厂中的不确定性与多目标优化难题,并借助MindOpt云建模平台、MindOpt APL建模语言及MindOpt优化求解器实现问题建模与求解。最终案例展示了如何通过合理充放电策略减少37%的电费支出,实现经济与环保双重效益。读者可通过提供的链接获取完整源代码。
|
达摩院 BI 索引
切割问题【数学规划的应用(含代码)】阿里达摩院MindOpt
本文主要讲述了使用MindOpt工具对切割问题进行优化的过程与实践。切割问题是指从一维原材料(如木材、钢材等)中切割出特定长度的零件以满足不同需求,同时尽可能减少浪费的成本。文章通过实例详细介绍了如何使用MindOpt云上建模求解平台及其配套的MindOpt APL建模语言来解决此类问题,包括数学建模、代码实现、求解过程及结果分析等内容。此外,还讨论了一维切割问题的应用场景,并对其进行了扩展,探讨了更复杂的二维和三维切割问题。通过本文的学习,读者能够掌握利用MindOpt工具解决实际切割问题的方法和技术。
|
达摩院 Linux API
阿里达摩院MindOpt求解器V1.1新增C#接口
阿里达摩院MindOpt求解器发布最新版本V1.1,增加了C#相关API和文档。优化求解器产品是求解优化问题的专业计算软件,可广泛各个行业。阿里达摩院从2019年投入自研MindOpt优化求解器,截止目前经历27个版本的迭代,取得了多项国内和国际第一的成绩。就在上个月,2023年12月,在工信部产业发展促进中心等单位主办的首届能源电子产业创新大赛上,MindOpt获得电力用国产求解器第一名。本文将为C#开发者讲述如何下载安装MindOpt和C#案例源代码。
598 3
阿里达摩院MindOpt求解器V1.1新增C#接口
|
达摩院 Linux 决策智能
阿里达摩院MindOpt优化求解器-月刊(2024年3月)
### MindOpt 优化求解器月刊(2024年3月) - 发布亮点:MAPL建模语言升级至V2.4,支持云上无安装使用和向量化建模语法。 - 新增功能:Linux用户可本地安装`maplpy`,并支持Python与MAPL混编。 - 实例分享:介绍背包问题的组合优化,展示如何在限定容量下最大化收益。 - 用户投稿:探讨机票超售时的最优调派策略,以最小化赔付成本。 - 加入互动:官方钉钉群32451444,更多资源及。 [查看详细内容](https://opt.aliyun.com/)
272 0
阿里达摩院MindOpt优化求解器-月刊(2024年3月)
|
达摩院 开发者 容器
「达摩院MindOpt」优化形状切割问题(MILP)
在制造业,高效地利用材料不仅是节约成本的重要环节,也是可持续发展的关键因素。无论是在金属加工、家具制造还是纺织品生产中,原材料的有效利用都直接影响了整体效率和环境影响。
「达摩院MindOpt」优化形状切割问题(MILP)
|
机器学习/深度学习 达摩院
阿里达摩院MindOpt优化求解器-月刊(2024年4月)
【摘要】2024.04.30,阿里云发布了MindOpt优化求解器的新商品和功能。MindOpt现在已上架,提供超低价零售求解器,支持按需购买,可在阿里云平台上直接购买联网或不联网License。新版本V1.2发布,提升MILP性能,并增加PostScaling参数。此外,MindOpt Studio推出租户定制版,正处于邀测阶段。同时分享了使用MindOpt解决二分类SVM问题的案例。更多内容,可访问相关链接。
500 0
|
达摩院 供应链 JavaScript
网络流问题--仓储物流调度【数学规划的应用(含代码)】阿里达摩院MindOpt
本文通过使用MindOpt工具优化仓储物流调度问题,旨在提高物流效率并降低成本。首先,通过考虑供需匹配、运输时间与距离、车辆容量、仓库储存能力等因素构建案例场景。接着,利用数学规划方法,包括线性规划和网络流问题,来建立模型。在网络流问题中,通过定义节点(资源)和边(资源间的关系),确保流量守恒和容量限制条件下找到最优解。文中还详细介绍了MindOpt Studio云建模平台和MindOpt APL建模语言的应用,并通过实例展示了如何声明集合、参数、变量、目标函数及约束条件,并最终解析了求解结果。通过这些步骤,实现了在满足各仓库需求的同时最小化运输成本的目标。
|
达摩院 安全 调度
网络流问题--交通调度【数学规划的应用(含代码)】阿里达摩院MindOpt
本文探讨了如何利用数学规划工具MindOpt解决交通调度问题。交通调度涉及网络流分析,考虑道路容量、车辆限制、路径选择等因素,以实现高效运行。通过建立数学模型,利用MindOpt云平台和建模语言MAPL,设定流量最大化目标并确保流量守恒,解决实际的调度问题。案例展示了如何分配车辆从起点到终点,同时满足道路容量约束。MindOpt Studio提供在线开发环境,支持模型构建和求解,帮助优化大规模交通调度。
|
达摩院 IDE 开发工具
阿里达摩院MindOpt优化求解器-月刊(2024年5月)
阿里达摩院MindOpt优化求解器-月刊(2024年5月版),新增了两个案例,如何使用LLM和MindOpt更准确地回答数学问题、如何使用MindOpt优化云计算集群虚拟机资源配置提高机器利用率,和如何利用IIS冲突分析指导不可解的问题解决方案。MindOpt的求解器已经可以在阿里云线上购买不联网版本。租户版也正式上线,可体验更多功能。新增QQ交流群。
346 4
人员排班【数学规划的应用(含代码)】阿里达摩院MindOpt
本文介绍了使用阿里巴巴达摩院的MindOpt工具解决人员排班的数学规划问题。人员排班在多个行业中至关重要,如制造业、医疗、餐饮和零售等。问题涉及多种约束,包括工作需求、员工能力、工作时间限制、连续工作天数及公平性。通过MindOpt云建模平台和建模语言MindOpt APL,建立数学模型并编写代码来解决最小化总上班班次的问题。案例中展示了如何声明集合、参数、变量和约束,并给出了部分代码示例。最后,通过MindOpt求解器得到最优解,并将结果输出到CSV文件中。

热门文章

最新文章