事件驱动优化:现实场景举例
本文为 事件驱动优化 举一个 能源互联网 的例子(搬运自这篇综述)。
1 场景
- 问题概述:
- 建筑微电网中,分布式风力发电 供给 电动汽车充电,这样的协调优化问题。
- 电动汽车停在建筑停车场 一段时间(已知),建筑用风电 / 常规电网为它充电,希望充电后的电量能撑过 下一段行程(已知)。
- 风电免费,如果风电没法 cover 电动汽车充电需求,则使用收费的常规电网充电。
- 优化目标:尽可能少利用 电网的常规发电。
- 问题详述:
- 系统在 t 时刻的状态:
,其中 表示 t 时刻的风电发电功率, 表示电动汽车 n 当前剩余的充电需求(为满足下一次出行,最少需要再充多少), 表示电动汽车 n 当前剩余停车时间(距离下一次离开还有多久)。 - 决策变量 / action:假设充电功率恒定 P = 1kW,我们需要决策 每时刻 每辆车 充或不充,因此 t 时刻的行动可表示为
,其中 at ∈ {0, 1}(决策的离散时间间隔 ∆t = 30mins)。 - 目标函数:总充电费用,
,其中 为电网买电费用, 是电网电价。
- 系统在 t 时刻的状态:
2 事件驱动建模
- 事件定义:
- 第一类:风力发电水平切换。
,其中 ,共 N 个事件。即,上一时刻电量不在 [kP, (k+1)P) 区间,这一时刻变到了该区间。 。即,上一时刻电量 ≤ NP,这一时刻电量>NP。- 这个事件定义 类似状态定义,仅根据变化后的状态,定义 o(n) 个事件。但也与状态不同,只有从其他状态 j 变到 状态 i 才会触发事件 i。
- 第二类:电动汽车 n 的充电需求。
。即,上一时刻(如果所有时间都充电)时间富裕,但这一时刻(所有时间都充电)时间刚好够用。(剩余需充电量均不为零,剩余时间均不为零) 。即,从 未充满状态 变到了 充满状态()。(剩余时间均不为零) 。即,车辆 n 停车完毕,该离开了。- 1 2 3 这三个事件是互斥的。
- 第一类 第二类事件可能同时发生,因此定义 3^N * (N+1) 个互斥的事件,第一项为 N 辆车 每辆车都可能处于 3 种事件之一,第二项为风力发电水平的 N+1 个事件。
- 第一类:风力发电水平切换。
- 实验验证:
- 详见综述原文第 7 页。
- outperform 了贪婪策略(到达后就开始充电,直到最小充电需求满足,然后停止),同时决策次数也变少了(真的变少了吗?)
- 优化方法:
- 综述里没有写,是我个人的猜想:
- 用 本文第二部分 的 ε-greedy 策略,一直跑模拟器 / 直接拿概率算期望,计算 Q 因子。
- 策略更新:取令 Q 因子 argmax 的 action 作为新 action;或者,如果 (3)式 不满足(并且不能强行假装满足),根据策略梯度 搜索局部最优策略。
本文作者:MoonOut
本文链接:https://www.cnblogs.com/moonout/p/16315330.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步