ADMM对偶问题转换为什么转置这里?

地址:上海市闵行区东川路800号 上海交通大学理科楼群6号楼2楼

随着电动汽车数量不断增加,大量电动汽车的无序充电行为会导致电网过载和电池寿命损耗。虽然当前已有很多研究关注电动汽车的有序充电行为,但如何在大规模有序充电过程中实现最大化车主便捷性同时减少电池寿命损耗尚未被研究。研究关注充电便捷性和减少电池损坏的充电服务调度优化对充电站充电服务质量和用户满意度提升具有重要意义。笔者提出一个实时充电服务调度策略来协调大量电动汽车的充电行为,以实现最大化车主便捷性同时降低电池损耗。为减少充电过程中信息直接交换造成隐私泄露,同时降低算法计算复杂度,基于交替方向多乘子(ADMM,alternating direction method of multipliers)的分布式算法被提出。大量实验表明所提算法比已有算法有显著提升,能减少33.0%的电池寿命损耗和18.3%的电费支出。

与内燃车相比,充电汽车因其不依赖于化石燃料和对环境友好的特点[-]受到大量关注,各大城市都大量新建充电站,以解决充电汽车里程短和充电难问题[-]。然而,由于大规模充电汽车的无序充电行为容易导致电网中断或者不必要的用电高峰[-],急需在充电服务调度系统的全局控制器(GC, global controller)中部署灵活的有序充电策略,以达到稳定电网和推移用电高峰的目的。当前已有研究主要关注如何提高车主便捷性和降低充电花费[-]。在文献[-]中,作者期望最大化车主的便捷性和最小化充电站的成本,没有对如何减少充电过程中的电池寿命损耗进行研究。另外,当前的充电控制通常采用集中式控制策略[-]。充电服务调度系统控制器(GC, controller)接收充电请求、车辆状态、计划的停留时间、以及实时电价等信息而控制充电汽车什么时候充电和充多少电。随着充电汽车数量增长,问题的计算复杂度和数据通信开销相应加大,并且,集中式控制GC需要知道充电汽车的停留时间和车辆相关信息,容易引起车主对隐私泄露的担忧。与集中式相比,分布式控制方式更具优势[-],不仅可以降低充电调度问题的计算复杂度,还可以保护车主隐私。

本研究重点关注如何在提高用户便捷性同时减少电池充电损耗这一优化目标,并针对该目标下充电过程信息直接交互带来的隐私泄露和高充电汽车数目带来的高计算复杂度问题,提出了基于交替方向多乘子ADMM(alternating direction method of multipliers)[-]的分布式有序充电服务调度算法。研究的主要贡献如下所示:

1) 建模并形式化一个新的充电汽车有序充电服务调度问题,该问题旨在如何最大化用户便捷性同时降低充电汽车充电电池的充电损耗。

2) 针对上述有序充电服务调度问题,提出一种基于ADMM的分布式有序充电调度算法,降低了计算复杂度,同时保护用户隐私。

3) 大量仿真实验结果表明研究算法相较其他算法有很大提升,能减少33.0%的电池寿命损耗和18.3%的电费支出。

充电汽车的大规模无序充电行为对已有电网设备运行的安全性和稳定性也造成极大挑战[-]。由于充电汽车在充电站或其他个人充电场所的停留时间远大于它所需要的充电时间,这使得采用一定的调度策略,实现有序充电而不影响车主的正常用车成为可能。

在文献[]中,作者提出一种集中式充电管理方式。文献[]关注了充电汽车车主的利益,定义与车辆状态和电价相关的优先级因子,当车辆剩余充电时间越少,未充电量越高,电价越低时,充电优先级越高,提出在满足充电需求前提下,根据充电因子高低来调度集中式充电管理方式。在文献[]中,作者提出一种新的充电站管理策略,通过同时管理控制充电汽车入站策略和定价机制来达到最大化充电站利润的目的。文献[]提出了LLLP(less time)原则,在充电过程中最小化总的充电代价。在文献[]中,作者针对开放式停车场充电问题,研究了两类车的充电习惯,包括周期性到达充电和随机到达充电,以最大化停车场收益和最大化满足充电需求为目标,提出集中式的充电管理策略。与上述研究相比,研究的是一个新的不同的优化问题,即关注如何在提高用户便捷性的同时减少电池充电损耗。

在充电服务的优化调度研究中,分布式算法得到了更多关注。在文献[]中,基于ADMM算法提出了一种具有计算伸缩性的优化框架,但是使用这个框架需要变量之间耦合度较低,不适用于目标和约束较多的复杂场景。在文献[]中,作者把数据中心员工汽车充电管理问题和数据中心用电管理问题结合起来,提出了一种用电成本最小化的分布式管理策略。但由于是数据中心场景,缺乏在充电站场景中对充电汽车车主便捷性的考虑。文献[]基于充电汽车的当前状态定义了用户的便捷性,提出了一种最大化用户便捷性的分布式控制策略。在文献[]中,作者基于车主驾驶习惯的不确定性和难以预测性,建模了多个驾驶场景,基于ADMM算法提出了一种分布式的管理策略。与上述研究相比,笔者主要使用ADMM算法来进行同时提升用户便捷性和减少电池充电损耗的有序充电服务的调度优化,使用的模型、系统架构、优化目标均与上述研究不同。

随着充电汽车数量的增加,越来越多的充电站趋向于安装更多的充电桩来为更多充电汽车提供服务。但由于充电站可以提供的最大总功率通常是有限的,同时不同种类的充电汽车的最大充电功率也不相同,导致所有的充电汽车无法同时充电或以最大功率充电。由于充电汽车在充电站的停留时间一般会超过它所需要的充电时间,一般情况下,充电汽车不需要以最大功率充电,并且也不需要一直充电,因此,在充电控制及充电服务调度中,可以实行灵活的充电服务调度策略,来协调所有充电汽车的充电行为,以满足充电站最大总功率限制和车主停留时间的约束。

t}$,每个时间槽的电价为rt。把当前时间槽记为Tcur,系统在每个时间槽开始的时候进行一次有序充电服务的调度。定义充电站中有N个充电槽。设定每个充电槽可以根据要求调节充电功率,假定第i个充电槽的当前功率为Qit,与充电槽相连正在充电的充电汽车最大充电功率为Pi

该约束表明充电槽在任意时刻的充电功率均不会超过充电汽车的最大充电功率Pi max。设定充电站最大总功率为Pmax,有以下约束

该约束表明所有充电槽的总功率不应超过充电站的最大可使用功率。设定充电汽车总电容量为Capi,当前电池有电状态为SOCi。充满还需充电量

设定充电汽车开始充电时间为Tib,离开时间为Tie,有以下约束

该约束表明充电结束时,充电汽车的充电量应大于等于充满所需要的充电量。

研究需要找到最优的充电配置,即分配每个时间槽每台充电汽车的充电功率,简单来说就是确定最优的Qit

首先考虑为不同的车赋予充电优先级λit。认为剩余充电时间越短、剩余充电量越高的车有越高的充电优先级。笔者以充电优先级来表征充电车主获得的便捷性大小,充电优先级越高,表明该用户获得的便捷性越高。另外,所有车主都希望在电价低时充更多的电,设定剩余充电时间为lit

剩余充电量为Eit,预估一天当中最低电价为rmin,最高电价为rmax

建模充电优先级(用户便捷性)损失函数为

由于充电功率对充电汽车电池寿命有很大影响,建模电池折旧损失为关于充电功率的二次损失函数

ADMM适用于解决在统计学、机器学习和其他相关领域的大规模分布式凸优化问题。这个框架能被应用于具有下列形式的问题中。

其中λRp是拉格朗日乘子。ρ>0二次惩罚项的惩罚因子。

ADMM能够在多个循环内解决上述问题,在第k+1轮循环有下述操作

当前优化问题无法直接使用ADMM框架,因为约束式(2)和式(4)造成所有变量耦合在一起,而ADMM框架解决形如式(13)的优化问题。为了解决ADMM框架不适用问题,引入了新的辅助变量Zit, Rt,使得${Z_{it}} = {Q_{it}}, \sum\limits_{i

可以观察到式(17)已经满足ADMM形式(12),并且完全等价于原式(10)。现在优化函数可以分解为分别与变量集QitZitRt相关的3个函数。变量集Qit控制电池折损的最小化。而变量集Zit控制优先级损失的最小化。而变量集Qit和变量集Zit由约束式(20)联系在一起。辅助变量的引入使得总功率约束式(17)和用户充电汽车充电量约束式(19)的分离成为可能。

函数式(17)转化为对应的拉格朗日函数为

在第k+1轮循环,根据式(14),Q-min问题涉及解决以下问题

根据不同的Qit,目标函数和约束能被分解为N*T个独立的小问题。每辆充电汽车负责独立地解决与其相关的T个问题。把式(25)分解为如下子问题(P1)

最后将式(28)带回式(27),得到最终结果。

求解第k+1轮式(25)的解Qitk+1的算法如算法1所示。算法以充电桩数量N,常数ρ,电池折损率常数σ,充电站最大供电功率Ptotal,第k轮式(37)的解Rtk,第k轮式(29)的解Zitk,第k轮对偶变量θitkωtk的值作为输入;以第k+1轮式(24)的解Qitk+1作为输出。程序遍历当前时间槽至时间槽T。根据式(28),计算得到$\mathrm{all}=\sum_{i=1}^{N}

输入:充电桩数量N,常数ρ,电池折损率常数σ,充电站最大供电功率Ptotal,第k轮式(37)的解Rtk,第k轮式(29)的解Zitk,第k轮对偶变量θitkωtk的值。

4.所有充电汽车同时根据问题(27)计算得到Qitk+1

在第k+1轮循环,根据式(15),Z-min问题涉及解决以下问题

根据不同的Zit,目标函数和约束能被分解为N*T个独立的小问题。每辆充电汽车负责解决与其相关的T个问题,把式(30)分解为如下子问题(P2)

根据KKT最优条件,有

求解第k+1轮式(31)的解Zitk+1的算法如算法2所示。算法以常数ρ,优先级常数λit,充电汽车最大充电功率Pimax,第k+1轮式(25)的解Qitk+1,第k轮对偶变量θitk的值作为输入;把第k+1轮式(30)的解Zitk+1作为输出。从等式(32),观察到只有η未知,通过折半查找来找到合适的η值,由式(32)和式(33)可以得到最小值式(36)和最大值式(37)。

程序遍历当前时间槽至时间槽T,在每个时间槽进行下列任务。GC根据式(36)和式(37)计算得到ηmin, ηmax。然后GC和充电汽车配合进行下列任务,直到满足精度要求。更新η,把更新结果传回所有充电汽车,而所有充电汽车同时根据式(35), 更新Z, 然后把Z传回给GC。根据一定二分查找法准测更新ηmax或者ηmin

输入:常数ρ,优先级常数λit,充电汽车最大充电功率Pimax,第k+1轮式(25)的解Qitk+1,第k轮对偶变量θitk

在第k+1轮循环,根据式(15)R-min问题涉及解决以下问题

根据式(15),在获得最优的QZR之后,更新对偶变量ωθ

4 实验 4.1 实验环境及其配置

kW,考虑同时存在2种类型的用户充电行为,一类用户因为工作原因,周期性地在早上6点左右到达充电站,晚上5点左右下班取车离开;另一类用户在一天当中随机到达,两者比例为3 :7。针对周期性到达的车辆,使用Gaussian模型来生成相关的到达时间tb和离开时间tetb服从均值μb=6:00 AM, 方差σb=60 min的正态分布;te服从均值μe=5:00 PM, 方差σe=60 min的正态分布。针对随机到达的车辆,到达时间设定在t∈{1, 2, …, T}中均匀分布,充电时间服从均值μ=3 h, 方差σ=1 h的正态分布。设定充电汽车数量为M,充电槽数目为N。实验中,假定发生拥塞时车主会一直等待。

4.2 对比方法及评价指标

first)进行了对比。FCFS总是给予先到达的用户更高的优先级,把充电资源优先供应给先到达车辆,保证先到达车辆以最佳功率充电,而对于后到达车辆不作保证。而EDF会优先分配有更短截止日期的充电汽车,优先保证充电时间剩余少的充电汽车有足够的充电资源。

·充电花费:在整个模拟周期内,所有车完成充电任务的总花费。

·电池折损:在式(9)中定义了电池损失为关于充电功率的二次损失函数C2。此处通过所有电池折损之和来描述总的电池损失情况,总电池损耗之和为$ \sum_{i=1}^{N} \sum_{t=1}^{T} C_{2}$。

·时间槽平均使用数目:完成充电任务所消耗的时间。

首先研究不同电动汽车数目在不同方法调度下的实验结果。以电动汽车数目M∈{100, 200, …, 700}分别进行实验。其中充电槽数目N=800, 该值较大,这样设置可以避免因为拥塞导致数据不准确的情况。描述了电动汽车数目对充电费用的影响,可以观察到随着充电汽车数量的增加,所有方法的充电费用均增加;但是相比其他方法,方法BPCS一直能帮助节省电费。方法BPCS相比其他方法在最好的情况下能够节省18.3%的电费支出。描述了电动汽车数目对电池损耗的影响,为了方便比较,图中已经做了归一化处理,可以观察到研究的方法相比其他方法能够提升33.0%的电池保护。描述了电动汽车数目对时间槽平均使用数目的影响。在中,可以观察到方法相比其他方法延长了42.8%的充电时间,充分利用了电动汽车停留时间远大于其充电时间的优点;而FCFS方法能最大力度的节省充电时间,这个特点能很好地应付充电站拥塞的情况,但是缺乏灵活性,不能帮助节省电费和保护电池。

通过上述观察可以发现方法在利用电动汽车停留时间远大于其充电时间的优点的情况下,发挥出了极大作用,能帮助用户节省了至多18.3%的电费支出,同时又能够提升33.0%的电池保护。接着,研究不同调度方法在不同充电槽数目下的实验结果。设置充电槽数目N∈{50, 100, …, 350}进行实验,其中充电汽车数目为450。描述了充电槽数目对充电费用的影响,方法FCFS和EDT对费用的影响几乎不受充电槽数目的影响;但是方法BPCS受充电槽数目的制约。在中,当充电槽数目N>150时,可以观察到,方法BPCS相比其他方法能够节省18.0%的电费支出;但是,当N < 150时,数据异常。方法BPCS通过有序调控延长了充电汽车的充电时间,导致后续车辆的等待充电时间变长,后续车辆的可用充电时间变少。当资源充裕时不存在问题,但是当资源短缺,充电站拥塞时,充电汽车无法得到足够的充电时间,造成数据异常。描述了充电槽数目对电池折损的影响。在中充电槽数目N>150,可以观察到方法相比其他方法有32.9%的电池保护的提升;但是,当N < 150,因为拥塞导致数据异常。描述了充电槽数目对充电槽平均使用数目的影响。在中充电槽数目N>150,可以观察到方法相比其他方法延长了充电时间;但是,当N < 150, 因为拥塞导致数据异常。

通过上述观察可以发现当充电槽充足时方法保持优势;但是当充电槽数量不充足时,会因为拥塞导致车辆等待时间过长,在离开时间确定的情况下,导致充电时间减小,引发异常。但是这种情况只针对充电槽短缺的情况,而实际生活中如果充电槽短缺,车辆会离开去其他充电站充电,或者提高最后的离开时间,给充电任务留下足够的时间。

随着电动汽车的大规模普及,大量电动车的无序充电行为容易造成电网过载和电池寿命的损耗。主要研究如何在有序充电过程中实现最大化车主便捷性的同时减少电池损耗这一重要问题,对这个问题进行了系统地建模和形式化,并提出了一个有序充电策略来协调充电行为,以实现最大化车主便捷性的同时降低电池损耗。为了阻止充电过程中信息直接交换造成不必要的隐私泄露和降低计算复杂度,还提出了一个基于交替方向多乘子ADMM的分布式有序充电服务调度算法。大量实验表明所提算法较已有算法有显著提升,能减少33.0%的电池寿命损耗和减少18.3%的电费支出。未来将对大规模充电汽车场景下如何减小充电费用和电池寿命损耗,以及新能源发电场景下有序充电服务的优化调度进行深入研究。

二、分布式问题的解决: ADMM在分布式统计学习中的应用。 我最近也读了Boyd 2011年的报道。 之后,我自己做了一些单方面的总结。 (仅对方差统计学习问题)交替方向乘法) alternatingdirectionmethodofmultipliers, ADMM ) )是求解方差凸优化问题,特别是统计优化问题的计算框架,ADMM通过分解协调(Decomposition-Coordination )过程,将大全局问题分解为小而比较容易求解的局部问题,部分ADMM最初由Glowinski Marrocco和Gabay Mercier分别于1975年和1976年提出,Boyd等人于2011年进行了综述,证明适用于大规模分布式优化问题。 由于ADMM的方案早于大型分布式计算系统和大型优化问题的出现,因此在2011年之前,该方法鲜为人知。 完全总结在我的博客里。 此语句可以用作ADMM的快速启动。 用ADMM实现统计学习问题的分散计算 MullOver

三、理解:归根到底是解决迷失函数规则。

当regulation为L1范数时,没有解决该凸优化问题的合适算法。 本来boyd老师提出了最小方法来解决这个问题,因为方法不直观,操作困难。 所以这些wwdhxc们正在寻找比较合适的算法来解决这个问题。 到2011年左右提出了一种比较通用直观的ADMM算法。对于ADMM算法,其实是一种交替求解的方式不断分解问题,再一一解决。 其中,在解决过程中发现,如果将棘手的L1 Norm中的变量置换为L1 L2 norm的形式,则比较容易求解(proximal algorithm ),因此真是太好了。 直接进行Loss function regulation求解的话,很难得到解。 从以上内容可以看出,变量的置换是解决问题的关键。 通过逐次求解,问题得到解决。 其实只要理解最简单的L1 norm的形状。 对各种proximal直接查询关联解即可。 ~

我要回帖

更多关于 固定效应虚拟变量omitted 的文章

 

随机推荐