智慧楼宇多目标调度问题【数学规划的应用(含代码)】阿里达摩院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



相关文章
|
4月前
|
达摩院 供应链 安全
光储荷经济性调度问题【数学规划的应用(含代码)】阿里达摩院MindOpt
本文介绍使用MindOpt工具优化光储荷经济性调度的数学规划问题。光储荷经济性调度技术旨在最大化能源利用率和经济效益,应用场景包括分布式光伏微网、家庭能源管理系统、商业及工业用电、电力市场参与者等。文章详细阐述了如何通过数学规划方法解决虚拟电厂中的不确定性与多目标优化难题,并借助MindOpt云建模平台、MindOpt APL建模语言及MindOpt优化求解器实现问题建模与求解。最终案例展示了如何通过合理充放电策略减少37%的电费支出,实现经济与环保双重效益。读者可通过提供的链接获取完整源代码。
|
4月前
|
达摩院 BI 索引
切割问题【数学规划的应用(含代码)】阿里达摩院MindOpt
本文主要讲述了使用MindOpt工具对切割问题进行优化的过程与实践。切割问题是指从一维原材料(如木材、钢材等)中切割出特定长度的零件以满足不同需求,同时尽可能减少浪费的成本。文章通过实例详细介绍了如何使用MindOpt云上建模求解平台及其配套的MindOpt APL建模语言来解决此类问题,包括数学建模、代码实现、求解过程及结果分析等内容。此外,还讨论了一维切割问题的应用场景,并对其进行了扩展,探讨了更复杂的二维和三维切割问题。通过本文的学习,读者能够掌握利用MindOpt工具解决实际切割问题的方法和技术。
|
7月前
|
达摩院 开发者 容器
「达摩院MindOpt」优化形状切割问题(MILP)
在制造业,高效地利用材料不仅是节约成本的重要环节,也是可持续发展的关键因素。无论是在金属加工、家具制造还是纺织品生产中,原材料的有效利用都直接影响了整体效率和环境影响。
「达摩院MindOpt」优化形状切割问题(MILP)
|
7月前
|
人工智能 自然语言处理 达摩院
MindOpt 云上建模求解平台:多求解器协同优化
数学规划是一种数学优化方法,主要是寻找变量的取值在特定的约束情况下,使我们的决策目标得到一个最大或者最小值的决策。
|
2月前
|
机器学习/深度学习 算法 数据可视化
如果你的PyTorch优化器效果欠佳,试试这4种深度学习中的高级优化技术吧
在深度学习领域,优化器的选择对模型性能至关重要。尽管PyTorch中的标准优化器如SGD、Adam和AdamW被广泛应用,但在某些复杂优化问题中,这些方法未必是最优选择。本文介绍了四种高级优化技术:序列最小二乘规划(SLSQP)、粒子群优化(PSO)、协方差矩阵自适应进化策略(CMA-ES)和模拟退火(SA)。这些方法具备无梯度优化、仅需前向传播及全局优化能力等优点,尤其适合非可微操作和参数数量较少的情况。通过实验对比发现,对于特定问题,非传统优化方法可能比标准梯度下降算法表现更好。文章详细描述了这些优化技术的实现过程及结果分析,并提出了未来的研究方向。
35 1
|
5月前
|
人工智能 算法 调度
优化问题之如何选择合适的优化求解器
优化问题之如何选择合适的优化求解器
|
5月前
|
调度 决策智能
优化问题之优化求解器有哪些主要的评估特性
优化问题之优化求解器有哪些主要的评估特性
|
达摩院 调度
使用达摩院MindOpt优化交通调度_最大化通行量—线性规划问题
在数学规划中,网络流问题是指一类基于网络模型的流量分配问题。网络流问题的目标是在网络中分配资源,使得网络的流量满足一定的限制条件,并且使得某些目标函数最小或最大化。网络流问题通常涉及一个有向图,图中每个节点表示一个资源,每条边表示资源之间的关系。边上有一个容量值,表示该边上最多可以流动的资源数量。流量从源节点开始流出,经过一系列中间节点,最终到达汇节点。在这个过程中,需要遵守一定的流量守恒和容量限制条件。
|
7月前
|
存储 达摩院 调度
「达摩院MindOpt」优化FlowShop流水线作业排班问题
在企业在面临大量多样化的生产任务时,如何合理地安排流水线作业以提高生产效率及确保交货期成为了一个重要的问题。
「达摩院MindOpt」优化FlowShop流水线作业排班问题
MindOpt V1.0优化种植计划问题,新的建模方法
种植计划是指农业生产中针对不同农作物的种植时间、面积和种植方式等方面的规划安排。根据具体情况进行合理的规划和安排,以实现农作物的高产、优质和可持续发展。
MindOpt V1.0优化种植计划问题,新的建模方法
下一篇
DataWorks