The vehicle scheduling problem under consideration is a multi-depot VSP. However, given the problem setup (see Sec. II-A), where each trip originates and terminates at the same depot, and each e-bus exclusively serves a single depot, the only coupling factor between depots is the total number of e-buses, |B||\mathcal{B}|. Consequently, once the set of buses associated with each depot, B_(d)\mathcal{B}_{d}, is determined, the problem can be decoupled into several single-depot VSPs. These single-depot problems can then be solved independently for each depot, resulting in a more computationally efficient approach. 所考虑的车辆调度问题是一个多仓库车辆调度问题(VSP)。然而,鉴于问题设置(见第 II-A 节),每次行程均从同一仓库出发并在同一仓库结束,并且每辆电动公交车仅服务于一个仓库,因此仓库之间的唯一耦合因素是电动公交车的总数 |B||\mathcal{B}| 。因此,一旦确定与每个仓库相关的公交车集合 B_(d)\mathcal{B}_{d} ,该问题就可以解耦为几个单仓库的 VSP。这些单仓库问题可以独立地为每个仓库解决,从而实现更高的计算效率。
In light of this, we propose a three-stage VSP. Firstly, we formulate and solve the VSP-I, which determines the optimal number of e-buses allocated to each depot, considering the average daily energy requirements among depots. This decouples the depots and enables us to address the remaining problems as single-depot VSPs for each depot dd. In the second stage, we introduce the VSP-II_(d)\mathrm{VSP}-\mathrm{II}_{d}, which minimizes the maximum daily energy requirement for the buses within the depot dd. The optimal objective value of VSP-II_(d)\mathrm{VSP}-I I_{d} is then integrated to VSP-III _(d){ }_{d} as a constraint, which optimally determines schedules and the chargeable time-slots for each e-bus in depot dd and facilitates reduction of battery degradation. 鉴于此,我们提出了一个三阶段的电动公交车调度问题(VSP)。首先,我们制定并解决了 VSP-I,该问题确定分配给每个车库的电动公交车的最优数量,考虑到各车库之间的平均每日能量需求。这使得车库之间相互解耦,使我们能够将剩余问题作为每个车库的单车库 VSP 来处理 dd 。在第二阶段,我们引入 VSP-II_(d)\mathrm{VSP}-\mathrm{II}_{d} ,该问题最小化车库内公交车的最大每日能量需求 dd 。然后,将 VSP-II_(d)\mathrm{VSP}-I I_{d} 的最优目标值作为约束整合到 VSP-III _(d){ }_{d} 中,最优地确定车库 dd 中每辆电动公交车的调度和可充电时间段,并促进电池退化的减少。
A. Allocation of e-Buses to Depots A. 电动公交车分配到车库
The objective of the first stage VSP, VSP-I, is to determine the number of e-buses assigned to each depot such that the average daily energy requirement for each e-bus is evenly distributed between depots [34]. This objective provides the foundation for the VSP in the next stage, VSP-II _(d){ }_{d}, wherein the daily energy requirement for each e-bus is evenly distributed within depots. It is crucial to ensure a balanced distribution of energy requirements among e-buses, as this leads to uniform processed energy per e-bus and consequently contributes to consistent aging of e-bus batteries within the fleet. This promotes uniform battery performance and longevity. 第一阶段电动公交车调度问题(VSP-I)的目标是确定分配给每个车库的电动公交车数量,以便每辆电动公交车的平均每日能量需求在各个车库之间均匀分配[34]。这一目标为下一阶段的电动公交车调度问题(VSP-II)奠定了基础,在这一阶段,每辆电动公交车的每日能量需求在车库内均匀分配。确保电动公交车之间能量需求的平衡分配至关重要,因为这会导致每辆电动公交车的处理能量均匀,从而有助于车队内电动公交车电池的一致老化。这促进了电池性能和使用寿命的均匀性。
The following mixed-integer program defines the VSP-I: 以下混合整数规划定义了 VSP-I:
{:[" VSP-I : min "psi],[" s.t. "b_(d) >= B_(d)^(min)","AA d inD","],[sum_(d inD)b_(d)=|B|","],[(1)/(b_(d))sum_(r inR_(d))e_(r) <= psi","quad AA d inD.]:}\begin{aligned}
& \text { VSP-I : min } \boldsymbol{\psi} \\
& \text { s.t. } \boldsymbol{b}_{d} \geq B_{d}^{\min }, \forall d \in \mathcal{D}, \\
& \sum_{d \in \mathcal{D}} \boldsymbol{b}_{d}=|\mathcal{B}|, \\
& \frac{1}{b_{d}} \sum_{r \in \mathcal{R}_{d}} e_{r} \leq \boldsymbol{\psi}, \quad \forall d \in \mathcal{D} .
\end{aligned}
In this formulation, the objective function defined in (1a) aims to minimize the maximum daily expected energy consumption per e-bus across depots, thereby ensuring an equitable distribution of this quantity among depots. (1b) sets the lower bound on b_(d)\boldsymbol{b}_{d}, ensuring that each depot is assigned a sufficient number of e-buses to serve their associated trips. The lower bound B_(d)^(min)B_{d}^{\min } is simply the maximum number of trips served simultaneously for depot dd, which can be calculated from the trip timetables as B_(d)^(min)=max{sum_(r inR_(b))m_(r,t)^(d)}_(t inT)B_{d}^{\min }=\max \left\{\sum_{r \in \mathcal{R}_{b}} m_{r, t}^{d}\right\}_{t \in \mathcal{T}}. (1c) ensures that each e-bus in the fleet is allocated to a depot. The term on the left-hand side of (1d) represents the daily expected energy consumption per e-bus for depot dd. The objective function utilizes the variable psi\psi to minimize the highest value of this term across all depots. 在这个公式中,(1a)中定义的目标函数旨在最小化各个车库之间每辆电动公交车的最大每日预期能耗,从而确保这一数量在车库之间的公平分配。(1b)设定了 b_(d)\boldsymbol{b}_{d} 的下限,确保每个车库分配足够数量的电动公交车以服务其相关的行程。下限 B_(d)^(min)B_{d}^{\min } 仅仅是车库 dd 同时服务的最大行程数量,可以从行程时间表中计算得出为 B_(d)^(min)=max{sum_(r inR_(b))m_(r,t)^(d)}_(t inT)B_{d}^{\min }=\max \left\{\sum_{r \in \mathcal{R}_{b}} m_{r, t}^{d}\right\}_{t \in \mathcal{T}} 。(1c)确保车队中的每辆电动公交车都分配给一个车库。(1d)左侧的项表示车库 dd 每辆电动公交车的每日预期能耗。目标函数利用变量 psi\psi 来最小化所有车库中该项的最高值。
The solution of VSP-I reveals the optimal number of e-buses assigned to each depot, i.e., {b_(d)}^(***VSP-I)\left\{\boldsymbol{b}_{\boldsymbol{d}}\right\}^{\star \mathrm{VSP}-\mathrm{I}} for all d inDd \in \mathcal{D}, which is used to construct the e-bus fleet sets for each depot dd as B_(d)\mathcal{B}_{d} to be used in the subsequent formulations. VSP-I 的解揭示了分配给每个车库的电动公交车的最优数量,即 {b_(d)}^(***VSP-I)\left\{\boldsymbol{b}_{\boldsymbol{d}}\right\}^{\star \mathrm{VSP}-\mathrm{I}} 对于所有 d inDd \in \mathcal{D} ,这用于构建每个车库的电动公交车车队集合 dd ,作为 B_(d)\mathcal{B}_{d} 以便在后续的公式中使用。
B. Determining the Maximum Daily Energy Consumption of Depots B. 确定仓库的最大日能耗
Once the fleets of each depot dd are distinguished by the sets B_(d)\mathcal{B}_{d} using VSP -I , the vehicle scheduling problem of each depot is decoupled and the vehicle scheduling of each depot can be done independently. The objective of VSP-III_(d)\mathrm{VSP}-\mathrm{II} I_{d} is to equalize the daily energy consumption of each e-bus within a depot dd while ensuring that each trip in R_(d)\mathcal{R}_{d} can be feasibly served. Using the trip timetable data m_(r,t)^(d)m_{r, t}^{d}, we formulate the VSP-II_(d)\mathrm{VSP}-I \mathrm{I}_{d} as a MILP as follows: 一旦通过 VSP -I 区分了每个仓库 dd 的车队与集合 B_(d)\mathcal{B}_{d} ,每个仓库的车辆调度问题就被解耦,且每个仓库的车辆调度可以独立进行。 VSP-III_(d)\mathrm{VSP}-\mathrm{II} I_{d} 的目标是在确保 R_(d)\mathcal{R}_{d} 中的每个行程都能可行服务的同时,使每个仓库 dd 内的每辆电动公交车的每日能耗保持平衡。利用行程时间表数据 m_(r,t)^(d)m_{r, t}^{d} ,我们将 VSP-II_(d)\mathrm{VSP}-I \mathrm{I}_{d} 公式化为如下的混合整数线性规划 (MILP):
{:[VSP-II_(d):mingamma_(d)],[qquad{:[" s.t. "sum_(r inR_(d))h_(b,r)^(d) >= 1","quad AA b inB_(d)],[sum_(b inB_(d))h_(b,r)^(d)=1","quad AA r inR_(d)],[sum_(r inR_(d))h_(b,r)^(d)m_(r,t)^(d) <= 1","AA b inB_(d)","AA t inT],[sum_(r inR_(d))h_(b,r)^(d)e_(r) <= gamma_(d)","quad AA b inB_(d)]:}]:}\begin{aligned}
& \mathrm{VSP}-\mathrm{II}_{d}: \min \boldsymbol{\gamma}_{d} \\
& \qquad \begin{aligned}
\text { s.t. } & \sum_{r \in \mathcal{R}_{d}} \boldsymbol{h}_{b, r}^{d} \geq 1, \quad \forall b \in \mathcal{B}_{d} \\
& \sum_{b \in \mathcal{B}_{d}} \boldsymbol{h}_{b, r}^{d}=1, \quad \forall r \in \mathcal{R}_{d} \\
& \sum_{r \in \mathcal{R}_{d}} \boldsymbol{h}_{b, r}^{d} m_{r, t}^{d} \leq 1, \forall b \in \mathcal{B}_{d}, \forall t \in \mathcal{T} \\
& \sum_{r \in \mathcal{R}_{d}} \boldsymbol{h}_{b, r}^{d} e_{r} \leq \boldsymbol{\gamma}_{d}, \quad \forall b \in \mathcal{B}_{d}
\end{aligned}
\end{aligned}
Here, the objective function in (2a) targets minimizing the maximum daily expected energy consumption within depot dd to ensure uniform energy consumption among e-buses. h_(b,r)^(d)\boldsymbol{h}_{b, r}^{d} is the binary trip assignment variable, which takes the value 1 if the e-bus b inB_(d)b \in \mathcal{B}_{d} is assigned to serve the trip r inR_(d)r \in \mathcal{R}_{d}, and zero otherwise. Constraints (2b)-(2d) are the standard constraints for a VSP. In particular, (2b) ensures that every e-bus is assigned to serve at least one trip, while (2c) guarantees that each trip is served by only one e-bus. (2d) prevents the allocation of two trips with overlapping schedules to the same e-bus. The left-hand side of (2e) is the daily energy consumption of a single e-bus, and the maximum energy consumption among all e-buses is represented by the variable gamma_(d)\boldsymbol{\gamma}_{d}, which is minimized by (2a) to equalize the daily energy consumption of each e-bus in B_(d)\mathcal{B}_{d}. 在这里,目标函数(2a)旨在最小化仓库 dd 内的最大每日预期能耗,以确保电动公交车之间的能耗均匀。 h_(b,r)^(d)\boldsymbol{h}_{b, r}^{d} 是二进制行程分配变量,当电动公交车 b inB_(d)b \in \mathcal{B}_{d} 被分配服务行程 r inR_(d)r \in \mathcal{R}_{d} 时取值为 1,否则为 0。约束条件(2b)-(2d)是车辆调度问题的标准约束。特别地,(2b)确保每辆电动公交车至少被分配服务一个行程,而(2c)保证每个行程仅由一辆电动公交车服务。(2d)防止将两个时间表重叠的行程分配给同一辆电动公交车。(2e)左侧是单辆电动公交车的每日能耗,所有电动公交车中的最大能耗由变量 gamma_(d)\boldsymbol{\gamma}_{d} 表示,该变量通过(2a)被最小化,以使 B_(d)\mathcal{B}_{d} 中每辆电动公交车的每日能耗相等。
It is noted that we only recover gamma_(d):={gamma_(d)}^(**VSP-II)_(d)\gamma_{d}:=\left\{\boldsymbol{\gamma}_{d}\right\}^{* \mathrm{VSP}-\mathrm{II}}{ }_{d} from VSP-II_(d)\mathrm{VSP}-\mathrm{I} I_{d}, and the final trip assignments are determined by the solution of VSP-III_(d)\mathrm{VSP}-\mathrm{II} I_{d}, which is defined next. 注意到我们仅从 VSP-II_(d)\mathrm{VSP}-\mathrm{I} I_{d} 中恢复 gamma_(d):={gamma_(d)}^(**VSP-II)_(d)\gamma_{d}:=\left\{\boldsymbol{\gamma}_{d}\right\}^{* \mathrm{VSP}-\mathrm{II}}{ }_{d} ,最终的行程分配由 VSP-III_(d)\mathrm{VSP}-\mathrm{II} I_{d} 的解确定,接下来将定义该解。
C. Determining Trip Assignments, e-Bus Timetables and Chargeable Time-Slots C. 确定行程分配、电子公交时刻表和可收费时间段
The third stage VSP involves determining the trip assignments for each depot while ensuring that the maximum daily energy consumption within depot dd, denoted as gamma_(d)\gamma_{d} and obtained through the solution of VSP-III_(d)\mathrm{VSP}-\mathrm{II} I_{d}, is not exceeded. In order to facilitate interaction between the VSP and reduction of battery degradation, the concepts of chargeable dwell period and chargeable time-slot are introduced, and the problem VSP-\mathrm{VSP}- II _(d)_{d} is defined. To elaborate on this, we first introduce the binary variable k_(b,t)\boldsymbol{k}_{b, t}, referred to as the e-bus timetable, defined as follows: 第三阶段的 VSP 涉及为每个车库确定行程分配,同时确保车库 dd 内的最大日能耗 gamma_(d)\gamma_{d} ,通过解决 VSP-III_(d)\mathrm{VSP}-\mathrm{II} I_{d} 获得,不被超过。为了促进 VSP 与电池衰减的减少之间的互动,引入了可充电停留时间和可充电时间段的概念,并定义了问题 VSP-\mathrm{VSP}- II _(d)_{d} 。为此,我们首先引入二元变量 k_(b,t)\boldsymbol{k}_{b, t} ,称为电动公交时刻表,定义如下:
k_(b,t)=sum_(r inR_(d))h_(b,r)^(d)m_(r,t)^(d),quad AA b inB_(d),AA t inT\boldsymbol{k}_{b, t}=\sum_{r \in \mathcal{R}_{d}} \boldsymbol{h}_{b, r}^{d} m_{r, t}^{d}, \quad \forall b \in \mathcal{B}_{d}, \forall t \in \mathcal{T}
where the variable k_(b,t)\boldsymbol{k}_{b, t} takes the value 1 if an e-bus bb is serving a trip during time-slot tt, and zero otherwise. Consequently, k_(b,t)\boldsymbol{k}_{b, t} comprises of consecutive ones and zeros, representing the trip periods on the road and dwell periods at the depot, respectively. During the dwell periods, the e-bus may be available for charging. However, as per the practical considerations delineated in Sec. II-B, not every dwell period is considered as chargeable. In particular, based on PC1-PC3, a dwell period is considered chargeable if and only if its duration is greater than or equal to T_(LB):=T_(pre)+T_(post)+T_(min)T_{L B}:=T_{p r e}+T_{p o s t}+T_{m i n}. 变量 k_(b,t)\boldsymbol{k}_{b, t} 的值为 1,当电动公交车 bb 在时间段 tt 内执行一次行程时,其他情况下为零。因此, k_(b,t)\boldsymbol{k}_{b, t} 由连续的 1 和 0 组成,分别表示在路上的行程时间和在车库的停留时间。在停留期间,电动公交车可能可用于充电。然而,根据第 II-B 节中列出的实际考虑,并非每个停留时间都被视为可充电的。特别是,根据 PC1-PC3,只有当停留时间的持续时间大于或等于 T_(LB):=T_(pre)+T_(post)+T_(min)T_{L B}:=T_{p r e}+T_{p o s t}+T_{m i n} 时,才被视为可充电的停留时间。
The aim of VSP-III _(d){ }_{d} is to maximize the number of chargeable dwell periods within the day for each e-bus while maintaining the minimized maximum daily energy consumption gamma_(d)\gamma_{d} obtained by VSP-II_(d)\mathrm{VSP}-I I_{d} and ensuring feasible trip assignments based on constraints (2c) - (2e). The rationale for this objective is to increase the charging opportunities of e-buses within the day, thereby keeping the depth-of-discharge low and reducing battery degradation. VSP-III 的目标是最大化每辆电动公交车在一天内可充电的停留时间,同时保持通过 VSP-II_(d)\mathrm{VSP}-I I_{d} 获得的最小化最大日能耗 gamma_(d)\gamma_{d} ,并确保基于约束条件(2c) - (2e)的可行行程分配。这个目标的理由是增加电动公交车在一天内的充电机会,从而保持放电深度较低,减少电池退化。
To mathematically represent the number of chargeable dwell periods, we introduce the binary variables k_(b,t)^("st "),k_(b,t)^("end "),l_(b,t)\boldsymbol{k}_{b, t}^{\text {st }}, \boldsymbol{k}_{b, t}^{\text {end }}, \boldsymbol{l}_{b, t}, and write the following constraints: 为了数学上表示可收费的停留时间数量,我们引入二元变量 k_(b,t)^("st "),k_(b,t)^("end "),l_(b,t)\boldsymbol{k}_{b, t}^{\text {st }}, \boldsymbol{k}_{b, t}^{\text {end }}, \boldsymbol{l}_{b, t} ,并写出以下约束:
{:[k_(b,t)-k_(b,t-1)=k_(b,t)^(st)-k_(b,t)^(end)","AA t inT","AA b inB_(d)],[k_(b,0)=0","AA b inB_(d)],[k_(b,t)^(st)+k_(b,t)^("end ") <= 1","AA t inT","AA b inB_(d)],[(T_(LB)+1)l_(b,t) <= k_(b,t)^(st)+T_(LB)-sum_(t^(')=t+1)^(t+T_(LB))k_(b,t^(')) <= (T_(LB)+1)],[quad-(1-l_(b,t))","AA t in{1,dots,|T|-T_(LB)}","quad AA b inB_(d)]:}\begin{aligned}
& \boldsymbol{k}_{b, t}-\boldsymbol{k}_{b, t-1}=\boldsymbol{k}_{b, t}^{s t}-\boldsymbol{k}_{b, t}^{e n d}, \forall t \in \mathcal{T}, \forall b \in \mathcal{B}_{d} \\
& \boldsymbol{k}_{b, 0}=0, \forall b \in \mathcal{B}_{d} \\
& \boldsymbol{k}_{b, t}^{s t}+\boldsymbol{k}_{b, t}^{\text {end }} \leq 1, \forall t \in \mathcal{T}, \forall b \in \mathcal{B}_{d} \\
& \left(T_{L B}+1\right) \boldsymbol{l}_{b, t} \leq \boldsymbol{k}_{b, t}^{s t}+T_{L B}-\sum_{t^{\prime}=t+1}^{t+T_{L B}} \boldsymbol{k}_{b, t^{\prime}} \leq\left(T_{L B}+1\right) \\
& \quad-\left(1-\boldsymbol{l}_{b, t}\right), \forall t \in\left\{1, \ldots,|\mathcal{T}|-T_{L B}\right\}, \quad \forall b \in \mathcal{B}_{d}
\end{aligned}
Here, the variables k_(b,t)^(st)\boldsymbol{k}_{b, t}^{s t} and k_(b,t)^("end ")\boldsymbol{k}_{b, t}^{\text {end }} takes the value one if time-slot tt marks the start and end of a dwell period for ebus bb, respectively, and zero otherwise. This is achieved by the constraint (4a), while (4b) sets the initial condition. (4c) ensures that a time-slot cannot be both the start and the end of a dwell period simultaneously. Finally, (4d) ensures that the variable l_(b,t)\boldsymbol{l}_{b, t} takes the value one if and only if time-slot tt marks the start of a chargeable dwell period, i.e., a dwell period that is of duration at least T_(LB)T_{L B} time-slots, for e-bus bb. Effectively, constraints (4) allows us to represent the total number of chargeable dwell periods within a depot as sum_(b,t)l_(b,t)\sum_{b, t} \boldsymbol{l}_{b, t}, which is the objective function to be maximized as per the aim of the third stage VSP. Based on this, VSP-III I_(d)I_{d} is formulated as a MILP as follows: 在这里,变量 k_(b,t)^(st)\boldsymbol{k}_{b, t}^{s t} 和 k_(b,t)^("end ")\boldsymbol{k}_{b, t}^{\text {end }} 分别在时间段 tt 标记为电动公交车 bb 的停留期开始和结束时取值为 1,否则取值为 0。这是通过约束(4a)实现的,而(4b)设定了初始条件。(4c)确保一个时间段不能同时是停留期的开始和结束。最后,(4d)确保变量 l_(b,t)\boldsymbol{l}_{b, t} 当且仅当时间段 tt 标记为可收费停留期的开始时取值为 1,即,对于电动公交车 bb ,停留期的持续时间至少为 T_(LB)T_{L B} 个时间段。实际上,约束(4)使我们能够将车库内可收费停留期的总数表示为 sum_(b,t)l_(b,t)\sum_{b, t} \boldsymbol{l}_{b, t} ,这是根据第三阶段 VSP 的目标需要最大化的目标函数。基于此,VSP-III I_(d)I_{d} 被制定为如下的混合整数线性规划(MILP):
where the objective function (5a) is to maximize the total number of chargeable dwell periods, and (5b) retains the optimal value gamma_(d)\gamma_{d} acquired by the solution of VSP-II_(d)\mathrm{VSP}-\mathrm{II}_{d}. We denote the optimal values as h_(b,r)^(d)={h_(b,r)^(d)}^(**VSP-III_(d))h_{b, r}^{d}=\left\{\boldsymbol{h}_{b, r}^{d}\right\}^{* V S P-I I I_{d}} and k_(b,t)={k_(b,t)}^(**VSP-III)_(d)k_{b, t}=\left\{\boldsymbol{k}_{b, t}\right\}^{* \mathrm{VSP}-\mathrm{III}}{ }_{d}. 目标函数 (5a) 是最大化可收费停留期的总数,而 (5b) 保留了通过 VSP-II_(d)\mathrm{VSP}-\mathrm{II}_{d} 的解获得的最优值 gamma_(d)\gamma_{d} 。我们将最优值表示为 h_(b,r)^(d)={h_(b,r)^(d)}^(**VSP-III_(d))h_{b, r}^{d}=\left\{\boldsymbol{h}_{b, r}^{d}\right\}^{* V S P-I I I_{d}} 和 k_(b,t)={k_(b,t)}^(**VSP-III)_(d)k_{b, t}=\left\{\boldsymbol{k}_{b, t}\right\}^{* \mathrm{VSP}-\mathrm{III}}{ }_{d} 。
From the solution of VSP-III_(d)\mathrm{VSP}-I I I_{d}, specifically the values of k_(b,t)k_{b, t}, we can identify the chargeable time-slots, which denote periods when an e-bus bb is eligible for charging within a chargeable dwell period, based on PC1-PC3. To denote these chargeable time-slots, we use the parameter a_(b,t)a_{b, t}, which is assigned a value of 1 if time-slot tt is chargeable for e-bus bb, and zero otherwise. A time-slot tt is deemed chargeable for e-bus bb (i.e., a_(b,t)=1a_{b, t}=1 ) if it meets three criteria: i) it falls within a chargeable dwell period, ii) it occurs at least T_("pre ")T_{\text {pre }} time-slots after the beginning of the chargeable dwell period, and iii) it is at least T_("post ")T_{\text {post }} time-slots before the chargeable dwell period ends. These values of a_(b,t)a_{b, t} are determined by examining the k_(b,t)k_{b, t} values and verifying these conditions. The significance of computing a_(b,t)a_{b, t} values will become clear in later sections. 从 VSP-III_(d)\mathrm{VSP}-I I I_{d} 的解决方案中,特别是 k_(b,t)k_{b, t} 的值,我们可以识别可充电时间段,这些时间段表示在可充电停留期间,电动公交车 bb 有资格进行充电,基于 PC1-PC3。为了表示这些可充电时间段,我们使用参数 a_(b,t)a_{b, t} ,如果时间段 tt 对电动公交车 bb 是可充电的,则赋值为 1,否则为 0。时间段 tt 被视为电动公交车 bb (即 a_(b,t)=1a_{b, t}=1 )的可充电时间段,如果它满足三个标准:i) 它在可充电停留期间内,ii) 它在可充电停留期开始后至少 T_("pre ")T_{\text {pre }} 个时间段发生,iii) 它在可充电停留期结束前至少 T_("post ")T_{\text {post }} 个时间段。 a_(b,t)a_{b, t} 的这些值是通过检查 k_(b,t)k_{b, t} 值并验证这些条件来确定的。计算 a_(b,t)a_{b, t} 值的重要性将在后面的章节中变得清晰。
IV. Electric Bus Charging Model IV. 电动公交车充电模型
In this section, we introduce the e-bus charging model, which comprises e-bus-level constraints ensuring that the e-bus is adequately charged to feasibly serve its associated trips within T\mathcal{T}, and charger-level constraints accounting for the limited number of chargers and the practical considerations delineated in Sec. II-B. The e-bus charging model, along with the neural network-based battery degradation model introduced in Sec. V, are employed in subsequent modules of the proposed multi-module framework. 在本节中,我们介绍了电动公交车充电模型,该模型包括电动公交车级别的约束,确保电动公交车在 T\mathcal{T} 内能够充分充电,以便可行地服务于其相关的行程,以及充电器级别的约束,考虑到充电器数量有限和第二节 B 部分中列出的实际考虑。电动公交车充电模型与第五节中介绍的基于神经网络的电池退化模型一起,在所提出的多模块框架的后续模块中使用。
A. Electric Bus-Level Constraints A. 电动公交车级别约束
We consider an e-bus in isolation and identify the feasible space of charging schedules as well as state-of-charge (SoC) trajectories for an e-bus bb. The primary variables of interest for an e-bus bb are the SoC at the end of time-slot t,s_(b,t)t, s_{b, t} (in perunit of the battery capacity), and the charging power during t,p_(b,t)^(ch)t, \boldsymbol{p}_{b, t}^{c h} (in kW ). The linear (affine) constraints for an e-bus bb are given as follows: 我们单独考虑一辆电动公交车,并确定电动公交车的充电计划和电量状态(SoC)轨迹的可行空间 bb 。电动公交车 bb 的主要关注变量是时间段 t,s_(b,t)t, s_{b, t} 结束时的电量状态(以电池容量的单位表示),以及在 t,p_(b,t)^(ch)t, \boldsymbol{p}_{b, t}^{c h} 期间的充电功率(以千瓦为单位)。电动公交车 bb 的线性(仿射)约束如下:
{:[s_(b,t)=s_(b,t-1)+(Delta T)/(E_(cap))(p_(b,t)^(ch)-p_(b,t)^(dch))","AA t inT],[s_(b,0)=s_("init ")","s_(b,|T|)=s_("init ")],[s_(b,t_(r)-1) >= rho_(r)(Delta T)/(E_(cap))sum_(t^(')=t_(r))^( bar(t)_(r))p_(b,t^('))^(dch)","AA r inR_(b)],[s_ <= s_(b,t) <= bar(s)","AA t inT","s__("init ") <= s_("init ") <= bar(s)_("init ")],[0 <= p_(b,t)^(ch) <= bar(p)a_(b,t)","quad AA t inT]:}\begin{aligned}
& \boldsymbol{s}_{b, t}=\boldsymbol{s}_{b, t-1}+\frac{\Delta T}{E_{c a p}}\left(\boldsymbol{p}_{b, t}^{c h}-p_{b, t}^{d c h}\right), \forall t \in \mathcal{T} \\
& \boldsymbol{s}_{b, 0}=\boldsymbol{s}_{\text {init }}, \boldsymbol{s}_{b,|\mathcal{T}|}=\boldsymbol{s}_{\text {init }} \\
& \boldsymbol{s}_{b, t_{r}-1} \geq \rho_{r} \frac{\Delta T}{E_{c a p}} \sum_{t^{\prime}=t_{r}}^{\bar{t}_{r}} p_{b, t^{\prime}}^{d c h}, \forall r \in \mathcal{R}_{b} \\
& \underline{s} \leq \boldsymbol{s}_{b, t} \leq \bar{s}, \forall t \in \mathcal{T}, \underline{s}_{\text {init }} \leq \boldsymbol{s}_{\text {init }} \leq \bar{s}_{\text {init }} \\
& 0 \leq \boldsymbol{p}_{b, t}^{c h} \leq \bar{p} a_{b, t}, \quad \forall t \in \mathcal{T}
\end{aligned}
Here, (6a) represents the e-bus battery SoC charging dynamics, where E_(cap)E_{c a p} is the battery capacity (in kWh ), and the discharging expected power p_(b,t)^(dch)p_{b, t}^{d c h} (in kW ) is calculated using the trip assignments h_(b,r)^(d)h_{b, r}^{d}, bus timetables k_(b,t)k_{b, t} and expected energy consumptions e_(d,r)e_{d, r}. (6b) constrains the initial and terminal SoC values, which must be equal for the continuity of service for the subsequent time horizon (i.e., the next day). In (6c), t__(r)\underline{t}_{r} and bar(t)_(r)\bar{t}_{r} are the starting and ending time-slot of a trip rr, respectively. Accordingly, Delta Tsum_(t^(')=t__(r))^( bar(t)_(r))p_(b,t^('))^(dch)\Delta T \sum_{t^{\prime}=\underline{t}_{r}}^{\bar{t}_{r}} p_{b, t^{\prime}}^{d c h} is the expected energy consumption of trip rr. Hence, ( 6 c ) ensures that an e-bus battery has at least rho_(r)\rho_{r} (see Sec. II-A) times the expected energy consumption of trip rr before serving the trip. (6d) defines the SoC bounds. Finally, (6e) establishes the charging power bounds, where bar(p)\bar{p} is the rated charging power in kW , and implies that charging power can be non-zero only during chargeable time-slots. We assume that a tuple of charging schedule {p_(b,t)^(ch)}_(t inT)\left\{\boldsymbol{p}_{b, t}^{c h}\right\}_{t \in \mathcal{T}}, a SoC trajectory {s_(b,t)}_(t inT)\left\{\boldsymbol{s}_{b, t}\right\}_{t \in \mathcal{T}} and an initial SoC s_("init ")s_{\text {init }} that satisfies (6) can always be found. 在这里,(6a) 表示电动公交车电池的状态充电动态,其中 E_(cap)E_{c a p} 是电池容量(以千瓦时为单位),放电预期功率 p_(b,t)^(dch)p_{b, t}^{d c h} (以千瓦为单位)是通过行程分配 h_(b,r)^(d)h_{b, r}^{d} 、公交时刻表 k_(b,t)k_{b, t} 和预期能耗 e_(d,r)e_{d, r} 计算得出的。(6b) 限制了初始和终端的 SoC 值,这两个值必须相等,以确保后续时间范围内的服务连续性(即,第二天)。在 (6c) 中, t__(r)\underline{t}_{r} 和 bar(t)_(r)\bar{t}_{r} 分别是行程 rr 的开始和结束时间段。因此, Delta Tsum_(t^(')=t__(r))^( bar(t)_(r))p_(b,t^('))^(dch)\Delta T \sum_{t^{\prime}=\underline{t}_{r}}^{\bar{t}_{r}} p_{b, t^{\prime}}^{d c h} 是行程 rr 的预期能耗。因此,(6c) 确保电动公交车电池在服务行程之前至少有 rho_(r)\rho_{r} (见第 II-A 节)倍于行程 rr 的预期能耗。(6d) 定义了 SoC 的界限。最后,(6e) 确立了充电功率的界限,其中 bar(p)\bar{p} 是额定充电功率(以千瓦为单位),并暗示充电功率仅在可充电时间段内可以非零。我们假设总能找到一个满足 (6) 的充电计划元组 {p_(b,t)^(ch)}_(t inT)\left\{\boldsymbol{p}_{b, t}^{c h}\right\}_{t \in \mathcal{T}} 、SoC 轨迹 {s_(b,t)}_(t inT)\left\{\boldsymbol{s}_{b, t}\right\}_{t \in \mathcal{T}} 和初始 SoC s_("init ")s_{\text {init }} 。
B. Charger-Level Constraints B. 充电器级别限制
We now model the interactions of e-buses within a depot dd in terms of sharing the charging equipment, while considering the practical considerations on the charging scheduling and the limited number of chargers at the depot. The associated mixed-integer linear constraints are as follows: 我们现在在一个车库 dd 中对电动公交车的互动进行建模,考虑到充电调度的实际因素以及车库中充电器的数量有限。相关的混合整数线性约束如下:
{:[x_(b,t) <= a_(b,t)","AA t inT],[epsix_(b,t) <= p_(b,t)^(ch) <= bar(p)x_(b,t)],[x_(b,t)-x_(b,t-1)=x_(b,t)^(pi)-x_(b,t)^(po)","AA t inT],[x_(b,0)=0],[x_(b,t)^(pi)+x_(b,t)^(po) <= 1","AA t inT],[sum_(t^(')=t)^(t+T_(min)-1)x_(b,t^(')) >= T_(min)(1-x_(b,t)^(pi))","AA t inT^((7f))],[sum_(b inB_(d))x_(b,t) <= n_(ch)","AA t inT],[sum_(b inB_(d))x_(b,t) <= n_(ch)-sum_(t^(')=t-T_(rec)+1)^(t)sum_(b inB_(d))x_(b,t^('))^(po)","AA t inT^((7h))],[sum_(t^(')=t)^(t+T_(ic)-1)x_(b,t^(')) <= T_(ic)(1-x_(b,t)^(po))","AA t inT^((7i))],[n__(ch) <= n_(ch) <= |B_(d)|],[x_(b,t_(off)+1)=x_(b,t)","AA t in{t_(off)+1,dots,|T|}]:}\begin{aligned}
& \boldsymbol{x}_{b, t} \leq a_{b, t}, \forall t \in \mathcal{T} \\
& \varepsilon \boldsymbol{x}_{b, t} \leq \boldsymbol{p}_{b, t}^{c h} \leq \bar{p} \boldsymbol{x}_{b, t} \\
& \boldsymbol{x}_{b, t}-\boldsymbol{x}_{b, t-1}=\boldsymbol{x}_{b, t}^{p i}-\boldsymbol{x}_{b, t}^{p o}, \forall t \in \mathcal{T} \\
& \boldsymbol{x}_{b, 0}=0 \\
& \boldsymbol{x}_{b, t}^{p i}+\boldsymbol{x}_{b, t}^{p o} \leq 1, \forall t \in \mathcal{T} \\
& \sum_{t^{\prime}=t}^{t+T_{m i n}-1} \boldsymbol{x}_{b, t^{\prime}} \geq T_{m i n}\left(1-\boldsymbol{x}_{b, t}^{p i}\right), \forall t \in \mathcal{T}^{(7 f)} \\
& \sum_{b \in \mathcal{B}_{d}} \boldsymbol{x}_{b, t} \leq \boldsymbol{n}_{c h}, \forall t \in \mathcal{T} \\
& \sum_{b \in \mathcal{B}_{d}} \boldsymbol{x}_{b, t} \leq \boldsymbol{n}_{c h}-\sum_{t^{\prime}=t-T_{r e c}+1}^{t} \sum_{b \in \mathcal{B}_{d}} \boldsymbol{x}_{b, t^{\prime}}^{p o}, \forall t \in \mathcal{T}^{(7 h)} \\
& \sum_{t^{\prime}=t}^{t+T_{i c}-1} \boldsymbol{x}_{b, t^{\prime}} \leq T_{i c}\left(1-\boldsymbol{x}_{b, t}^{p o}\right), \forall t \in \mathcal{T}^{(7 i)} \\
& \underline{n}_{c h} \leq \boldsymbol{n}_{c h} \leq\left|\mathcal{B}_{d}\right| \\
& \boldsymbol{x}_{b, t_{o f f}+1}=\boldsymbol{x}_{b, t}, \forall t \in\left\{t_{o f f}+1, \ldots,|\mathcal{T}|\right\}
\end{aligned}
where T^((7f)):={1,dots,|T|-T_(min)+1},T^((7h)):=\mathcal{T}^{(7 f)}:=\left\{1, \ldots,|\mathcal{T}|-T_{\min }+1\right\}, \mathcal{T}^{(7 h)}:={T_("rec "),dots,|T|}\left\{T_{\text {rec }}, \ldots,|\mathcal{T}|\right\}, and T^((7i)):={1,dots,|T|-T_(ic)+1}\mathcal{T}^{(7 i)}:=\left\{1, \ldots,|\mathcal{T}|-T_{i c}+1\right\}. In the constraints above, the binary variable x_(b,t)\boldsymbol{x}_{b, t} represents the charging status of e-bus bb during time slot tt, which is equal to 1 if e-bus bb is connected to a charger during tt, and zero otherwise. (7a) ensures that e-buses can only be charged during their chargeable time-slots, which also accounts for PC1 and PC2. (7b) stipulates that the charging status during time slot tt is equal to 1 only if the charging power during that time slot is greater than a small positive constant epsi\varepsilon. This constraint also prevents the scheduling of very low charging powers. 在上述约束中,二元变量 x_(b,t)\boldsymbol{x}_{b, t} 表示电动公交车 bb 在时间段 tt 的充电状态,如果电动公交车 bb 在 tt 期间连接到充电器,则等于 1,否则为零。 (7a) 确保电动公交车只能在其可充电时间段内充电,这也考虑了 PC1 和 PC2。 (7b) 规定只有当该时间段内的充电功率大于一个小的正常数 epsi\varepsilon 时,时间段 tt 的充电状态才等于 1。该约束还防止了非常低充电功率的调度。
The binary variables x_(b,t)^(pi)\boldsymbol{x}_{b, t}^{p i} and x_(b,t)^(po)\boldsymbol{x}_{b, t}^{p o} are defined in accordance with constraint (7c), thanks to which they are equal to 1 if ebus bb is plugged-in and plugged-out from the charger at the end of time slot tt, respectively, and zero otherwise. (7d) sets the initial charging status, while (7e) ensures that plug-in and plug-out events do not occur simultaneously. 二元变量 x_(b,t)^(pi)\boldsymbol{x}_{b, t}^{p i} 和 x_(b,t)^(po)\boldsymbol{x}_{b, t}^{p o} 根据约束(7c)定义,因此当电动巴士 bb 在时间段 tt 结束时插入和拔出充电器时,它们分别等于 1,否则为零。(7d)设定初始充电状态,而(7e)确保插入和拔出事件不会同时发生。
Constraint ( 7 f ) ensures that an e-bus must remain connected for a minimum of T_(min)T_{\min } time-slots once it has been pluggedin. This constraint is in line with PC3. To ensure that the number of charging e-buses is less than or equal to the number of chargers, n_(ch)\boldsymbol{n}_{c h}, constraint (7g)(7 \mathrm{~g}) is imposed. ( 7 h ) ensures that if an e-bus is unplugged from a charger, that charger cannot be used for at least T_(rec)T_{r e c} time-slots, in line with PC4. It can be observed that this is achieved by limiting the sum of connected e-buses to the number of chargers minus the number of unplugged e-buses for a period of T_(rec)T_{r e c} time-slots. (7j) defines the upper and lower bounds for the number of chargers. (7i) stipulates that once an e-bus is plugged-out, it cannot be plugged-in again for at least T_(ic)T_{i c} time-slots, as per PC5. Finally, (7k) indicates that the charging status of an e-bus cannot change during the out-of-office hours, starting from t_(off)t_{o f f}, in accordance with PC6. By implementing these constraints (7), limited charger availability and all the practical charging considerations can be accounted for in a charging scheduling problem. 约束(7f)确保一辆电动公交车在插入后必须保持连接至少 T_(min)T_{\min } 个时间段。该约束符合 PC3。为了确保充电的电动公交车数量小于或等于充电器的数量, n_(ch)\boldsymbol{n}_{c h} ,施加了约束 (7g)(7 \mathrm{~g}) 。约束(7h)确保如果一辆电动公交车从充电器上拔出,该充电器在至少 T_(rec)T_{r e c} 个时间段内不能被使用,这符合 PC4。可以观察到,这通过将连接的电动公交车总数限制为充电器数量减去拔出电动公交车的数量,在 T_(rec)T_{r e c} 个时间段内实现。(7j)定义了充电器数量的上限和下限。(7i)规定一旦电动公交车被拔出,至少在 T_(ic)T_{i c} 个时间段内不能再次插入,符合 PC5。最后,(7k)指出电动公交车的充电状态在办公时间外不能改变,从 t_(off)t_{o f f} 开始,符合 PC6。通过实施这些约束(7),可以在充电调度问题中考虑有限的充电器可用性和所有实际的充电考虑。
V. NEural NEtwork-BASEd Battery DEGRADATION MODEL V. 基于神经网络的电池退化模型
To account for the battery degradation costs in this study, we employ the battery degradation model introduced in [35], which specifically models the capacity fading due to cycling as a function of SoC. The per-unit capacity fade (that is, kWh faded per kWh processed), denoted as f_("deg ")\mathrm{f}_{\text {deg }}, is given by [35]: 为了在本研究中考虑电池退化成本,我们采用了文献[35]中提出的电池退化模型,该模型专门将由于循环引起的容量衰减建模为状态的函数。单位容量衰减(即每处理 1 kWh 的衰减 kWh),记作 f_("deg ")\mathrm{f}_{\text {deg }} ,由[35]给出:
f_(deg)(s_(avg),s_(dev))=kappa_(1)s_(dev)exp(kappa_(2)s_(avg))+kappa_(3)exp(kappa_(4)s_(dev))\mathrm{f}_{d e g}\left(\boldsymbol{s}_{a v g}, \boldsymbol{s}_{d e v}\right)=\kappa_{1} \boldsymbol{s}_{\boldsymbol{d} e v} \exp \left(\kappa_{2} \boldsymbol{s}_{a v g}\right)+\kappa_{3} \exp \left(\kappa_{4} \boldsymbol{s}_{d e v}\right)
wherein kappa_(1),dots,kappa_(4)\kappa_{1}, \ldots, \kappa_{4} are model parameters, and s_(avg)\boldsymbol{s}_{a v g} and s_(dev)\boldsymbol{s}_{d e v} are computed from the SoC as a function of processed energy s(E)s(\boldsymbol{E}) as follows: 其中 kappa_(1),dots,kappa_(4)\kappa_{1}, \ldots, \kappa_{4} 是模型参数, s_(avg)\boldsymbol{s}_{a v g} 和 s_(dev)\boldsymbol{s}_{d e v} 是根据处理能量 s(E)s(\boldsymbol{E}) 作为 SoC 的函数计算得出的,如下所示:
{:[s_(avg)=(1)/(E_(Sigma))int_(0)^(E_(Sigma))s(E)dE],[s_(dev)=sqrt((3)/(E_(Sigma))int_(0)^(E_(Sigma))(s(E)-s_(avg))^(2)dE)]:}\begin{aligned}
s_{a v g} & =\frac{1}{E_{\Sigma}} \int_{0}^{E_{\Sigma}} s(\boldsymbol{E}) d \boldsymbol{E} \\
s_{d e v} & =\sqrt{\frac{3}{E_{\Sigma}} \int_{0}^{E_{\Sigma}}\left(s(\boldsymbol{E})-\boldsymbol{s}_{a v g}\right)^{2} d \boldsymbol{E}}
\end{aligned}
where E_(Sigma)E_{\Sigma} denotes the cumulative processed energy over a designated period. Note that (9) can be reformulated as a function of SoC,s_(b,t)\mathrm{SoC}, \boldsymbol{s}_{b, t}, through algebraic manipulations. This revised function can be incorporated into (8) to calculate the per-unit degradation. For the sake of brevity, we denote this function as F_(deg)(s_(b))\mathrm{F}_{d e g}\left(s_{b}\right), with s_(b):={s_(b,t)}_(t in{0}uuT)s_{b}:=\left\{s_{b, t}\right\}_{t \in\{0\} \cup \mathcal{T}}. The derivation of this form can be found in [36]. 其中 E_(Sigma)E_{\Sigma} 表示在指定时间段内的累计处理能量。注意,(9) 可以通过代数变换重新表述为 SoC,s_(b,t)\mathrm{SoC}, \boldsymbol{s}_{b, t} 的函数。这个修订后的函数可以被纳入 (8) 中以计算每单位的降解。为了简洁起见,我们将这个函数表示为 F_(deg)(s_(b))\mathrm{F}_{d e g}\left(s_{b}\right) ,并且 s_(b):={s_(b,t)}_(t in{0}uuT)s_{b}:=\left\{s_{b, t}\right\}_{t \in\{0\} \cup \mathcal{T}} 。该形式的推导可以在 [36] 中找到。
Since the battery degradation model F_("deg ")\mathrm{F}_{\text {deg }} is a complicated non-linear and non-convex function of s_(b)\boldsymbol{s}_{b}, incorporating it into an optimization formulation leads to an intractable problem. Instead, we propose employing neural networks to represent the mapping F_("deg ")\mathrm{F}_{\text {deg }}. To achieve this, we first perform a dataset generation procedure to create a set of randomly generated feasible SoC trajectories for each e-bus b inBb \in \mathcal{B}. Subsequently, we calculate their corresponding per-unit degradations. Next, we introduce a feature selection mechanism to reduce the dimensionality of the learning problem. Finally, we train the neural network models, which can be efficiently integrated into the CD&CPP using its exact mixed-integer representation [37]. 由于电池退化模型 F_("deg ")\mathrm{F}_{\text {deg }} 是一个复杂的非线性和非凸函数 s_(b)\boldsymbol{s}_{b} ,将其纳入优化公式会导致一个难以处理的问题。因此,我们建议采用神经网络来表示映射 F_("deg ")\mathrm{F}_{\text {deg }} 。为此,我们首先执行数据集生成程序,为每个电动公交车 b inBb \in \mathcal{B} 创建一组随机生成的可行状态-of-charge(SoC)轨迹。随后,我们计算它们相应的单位退化。接下来,我们引入特征选择机制以降低学习问题的维度。最后,我们训练神经网络模型,这些模型可以有效地集成到 CD&CPP 中,使用其精确的混合整数表示[37]。
A. Dataset Generation and Feature Selection A. 数据集生成与特征选择
We present a fast and effective approach to generate a dataset to be used in the training of the neural network for approximating the battery degradation model. Since the degradation model is a function of SoC trajectory, s_(b)s_{b}, we generate a set of randomly generated trajectories. However, to ensure that the dataset comprises meaningful samples capable of enhancing the accuracy of the trained neural network, it is essential that these SoC trajectories are feasible. To achieve this, we propose the NNDG_(b)\mathrm{NNDG}_{b} problem for an e-bus bb as: 我们提出了一种快速有效的方法来生成一个数据集,以用于训练神经网络以近似电池退化模型。由于退化模型是充电状态(SoC)轨迹的函数,我们生成了一组随机生成的轨迹。然而,为了确保数据集包含能够提高训练神经网络准确性的有意义样本,这些 SoC 轨迹必须是可行的。为此,我们提出了针对电动公交车的 NNDG_(b)\mathrm{NNDG}_{b} 问题,定义为:
Here, Lambda\Lambda is a large constant, set to 10^(6)10^{6}. To solve (10), a random (not necessarily feasible) SoC trajectory, s_(b)^("rand "):=s_{b}^{\text {rand }}:={s_(b,t)^("rand ")}_(t inT)\left\{s_{b, t}^{\text {rand }}\right\}_{t \in \mathcal{T}}, is generated by drawing from the uniform distribution U[s_, bar(s)]U[\underline{s}, \bar{s}]. The objective function in (10) minimizes the ℓ_(1)\ell_{1} distance between s_(b)^("rand ")s_{b}^{\text {rand }} and s_(b)s_{b} in the first term. Furthermore, to generate SoC trajectories with various initial SoCs, 在这里, Lambda\Lambda 是一个大常数,设定为 10^(6)10^{6} 。为了解决 (10),通过从均匀分布 U[s_, bar(s)]U[\underline{s}, \bar{s}] 中抽取生成一个随机(不一定可行的)SoC 轨迹, s_(b)^("rand "):=s_{b}^{\text {rand }}:={s_(b,t)^("rand ")}_(t inT)\left\{s_{b, t}^{\text {rand }}\right\}_{t \in \mathcal{T}} 。在 (10) 中的目标函数最小化第一项中 s_(b)^("rand ")s_{b}^{\text {rand }} 和 s_(b)s_{b} 之间的 ℓ_(1)\ell_{1} 距离。此外,为了生成具有不同初始 SoC 的 SoC 轨迹,
Fig. 2. Selected features from the SoC trajectory. 图 2. SoC 轨迹中的选定特征。
a random value s_("init ")^("rand ")s_{\text {init }}^{\text {rand }} is drawn from the uniform distribution U[s__("init "), bar(s)_("init ")]U\left[\underline{s}_{\text {init }}, \bar{s}_{\text {init }}\right]. The second term in the objective function of (10) ensures that the resulting s_("init ")s_{\text {init }} is as close as possible to s_("init ")^("rand ")s_{\text {init }}^{\text {rand }} with a penalty coefficient Lambda\Lambda. Notably, the obtained {s_(b)}^(***NNDG_(b))\left\{s_{b}\right\}^{\star N N D G_{b}} is feasible with respect to (6), and distinct feasible SoC trajectories can be generated by drawing different samples of (s_(b)^("rand "),s_("init ")^("rand "))\left(s_{b}^{\text {rand }}, s_{\text {init }}^{\text {rand }}\right). For each e-bus b,N_("data ")b, N_{\text {data }} data samples are generated by solving (10) N_("data ")N_{\text {data }} times, each time using a different pair of (s_(b)^("rand "),s_("init ")^("rand "))\left(s_{b}^{\text {rand }}, s_{\text {init }}^{\text {rand }}\right). It is important to highlight that due to the linear nature of (10), it can be efficiently solved with low computational overhead. This characteristic makes it well-suited for repetitive solution iterations in order to generate feasible SoC trajectories. Subsequently, the per-unit degradations of these generated trajectories are calculated utilizing (8) - (9) to obtain the corresponding target variables. 从均匀分布 U[s__("init "), bar(s)_("init ")]U\left[\underline{s}_{\text {init }}, \bar{s}_{\text {init }}\right] 中抽取一个随机值 s_("init ")^("rand ")s_{\text {init }}^{\text {rand }} 。目标函数(10)中的第二项确保得到的 s_("init ")s_{\text {init }} 尽可能接近 s_("init ")^("rand ")s_{\text {init }}^{\text {rand }} ,并带有惩罚系数 Lambda\Lambda 。值得注意的是,获得的 {s_(b)}^(***NNDG_(b))\left\{s_{b}\right\}^{\star N N D G_{b}} 在(6)方面是可行的,并且可以通过抽取不同的 (s_(b)^("rand "),s_("init ")^("rand "))\left(s_{b}^{\text {rand }}, s_{\text {init }}^{\text {rand }}\right) 样本生成不同的可行 SoC 轨迹。对于每个电动公交车 b,N_("data ")b, N_{\text {data }} ,通过解决(10) N_("data ")N_{\text {data }} 次生成数据样本,每次使用一对不同的 (s_(b)^("rand "),s_("init ")^("rand "))\left(s_{b}^{\text {rand }}, s_{\text {init }}^{\text {rand }}\right) 。需要强调的是,由于(10)的线性特性,它可以高效地解决,计算开销低。这一特性使其非常适合于重复的解决迭代,以生成可行的 SoC 轨迹。随后,利用(8) - (9)计算这些生成轨迹的每单位退化,以获得相应的目标变量。
One can observe that using the entire SoC trajectory s_(b)s_{b} as features for the neural network model results in high input dimensionality, particularly when T\mathcal{T} is large. To mitigate this, we adopt the feature selection strategy, adapted from our previous work [36], [38]. In this strategy, the SoC values for the time-slots immediately preceding and following feasible charging periods are selected as input features. To elaborate, a specific time-slot t_(0)t_{0} and corresponding value s_(b,t_(0))s_{b, t_{0}} are selected as features if t_(0)t_{0} equals zero, or |T||\mathcal{T}|, or if the difference a_(b,t_(0)+1)-a_(b,t_(0))a_{b, t_{0}+1}-a_{b, t_{0}} is non-zero. 可以观察到,使用整个 SoC 轨迹 s_(b)s_{b} 作为神经网络模型的特征会导致高输入维度,特别是当 T\mathcal{T} 较大时。为了解决这个问题,我们采用了特征选择策略,该策略改编自我们之前的工作 [36],[38]。在该策略中,选择在可行充电周期前后紧接的时间段的 SoC 值作为输入特征。具体来说,如果 t_(0)t_{0} 等于零,或 |T||\mathcal{T}| ,或者差值 a_(b,t_(0)+1)-a_(b,t_(0))a_{b, t_{0}+1}-a_{b, t_{0}} 非零,则选择特定时间段 t_(0)t_{0} 和相应值 s_(b,t_(0))s_{b, t_{0}} 作为特征。
The feature selection strategy effectively reduces the number of features from |T|+1=1441|\mathcal{T}|+1=1441 to |F_(b)|\left|\mathcal{F}_{b}\right| (approximately 20-30), where F_(b)\mathcal{F}_{b} is the set of time indices corresponding to the selected features. A visual representation of the selected features within the SoC trajectory can be observed in Fig. 2. We refer to the SoC values consisting of the selected features as tilde(s)_(b,i)\tilde{\boldsymbol{s}}_{b, i}, where i in{1,dots,|F_(b)|}i \in\left\{1, \ldots,\left|F_{b}\right|\right\}. It is worth underlining that since each e-bus has a unique schedule and feature set, distinct datasets are created and separate networks are trained for each. 特征选择策略有效地将特征数量从 |T|+1=1441|\mathcal{T}|+1=1441 减少到 |F_(b)|\left|\mathcal{F}_{b}\right| (大约 20-30),其中 F_(b)\mathcal{F}_{b} 是与所选特征对应的时间索引集合。所选特征在 SoC 轨迹中的可视化表示可以在图 2 中观察到。我们将由所选特征组成的 SoC 值称为 tilde(s)_(b,i)\tilde{\boldsymbol{s}}_{b, i} ,其中 i in{1,dots,|F_(b)|}i \in\left\{1, \ldots,\left|F_{b}\right|\right\} 。值得强调的是,由于每辆电动公交车都有独特的时间表和特征集,因此为每个电动公交车创建了不同的数据集,并训练了独立的网络。
B. Neural Network MILP Representation B. 神经网络 MILP 表示
To create a model that approximates F_("deg ")\mathrm{F}_{\text {deg }} for e-bus bb, a fully-connected neural network regressor net _(b):R^(|F_(b)|)rarrR_{b}: \mathbb{R}^{\left|\mathcal{F}_{b}\right|} \rightarrow \mathbb{R} with ReLU\operatorname{ReLU} activation is trained using the generated dataset with selected features. The network consists of an input layer with |F_(b)|\left|\mathcal{F}_{b}\right| neurons, a single hidden layer with N_(hid)N_{h i d} neurons, and an output layer with a single neuron. The weight from input neuron ii to hidden neuron jj and the bias of hidden neuron jj are denoted as omega_(i,j)^(in)\omega_{i, j}^{i n} and beta_(j)^(in)\beta_{j}^{i n}, respectively. Similarly, the hidden-to-output weights and bias are denoted as omega_(j)^("hid ")\omega_{j}^{\text {hid }} and beta^("hid ")\beta^{\text {hid }}. It should be noted that while the weights and biases are unique for each e-bus, the subscript bb is omitted for brevity. 为了创建一个近似于 F_("deg ")\mathrm{F}_{\text {deg }} 的模型用于电动公交车 bb ,使用生成的数据集和选定的特征训练一个全连接神经网络回归模型 _(b):R^(|F_(b)|)rarrR_{b}: \mathbb{R}^{\left|\mathcal{F}_{b}\right|} \rightarrow \mathbb{R} ,该模型采用 ReLU\operatorname{ReLU} 激活函数。网络由一个包含 |F_(b)|\left|\mathcal{F}_{b}\right| 个神经元的输入层、一个包含 N_(hid)N_{h i d} 个神经元的单隐层和一个包含单个神经元的输出层组成。从输入神经元 ii 到隐层神经元 jj 的权重和隐层神经元 jj 的偏置分别表示为 omega_(i,j)^(in)\omega_{i, j}^{i n} 和 beta_(j)^(in)\beta_{j}^{i n} 。同样,隐层到输出层的权重和偏置分别表示为 omega_(j)^("hid ")\omega_{j}^{\text {hid }} 和 beta^("hid ")\beta^{\text {hid }} 。需要注意的是,虽然权重和偏置对于每个电动公交车都是唯一的,但为了简洁起见,省略了下标 bb 。
To obtain an exact mixed-integer linear representation of the trained net _(b)_{b}, the following set of constraints are utilized [37]: 为了获得训练网络 _(b)_{b} 的精确混合整数线性表示,使用以下约束集 [37]:
where I_(b):={1,dots,|F_(b)|}\mathcal{I}_{b}:=\left\{1, \ldots,\left|\mathcal{F}_{b}\right|\right\} and J:={1,dots,N_("hid ")}\mathcal{J}:=\left\{1, \ldots, N_{\text {hid }}\right\}. Here, tilde(s)_(b,i)\tilde{s}_{b, i} is the variable in the input neuron ii. The left-hand side of (11a) represents the value that is sent to the hidden neuron jj from the input layer before applying the ReLU activation function. (11b) implements the ReLU activation. Specifically, if the left-hand side (LHS) of (11a) is positive, the binary indicator variable zeta_(b,j)\zeta_{b, j} in (11b) takes the value 1 , which leads to the real variables chi_(b,j)\chi_{b, j} being equal to the LHS and xi_(b,j)\boldsymbol{\xi}_{b, j} to become zero. Conversely, if LHS is negative, then zeta_(b,j)\zeta_{b, j} and chi_(b,j)\chi_{b, j} become zero, and xi_(b,j)\xi_{b, j} is equal to the absolute value of the LHS. Thus, chi_(b,j)\chi_{b, j} represents the ReLU-activated output of the hidden neuron jj. (11c) represents the weighted sum of the inputs to the hidden layer, which is equal to the output of n^(2)t_(b)n^{2} t_{b} denoted as f_(b)^(deg)f_{b}^{d e g} (i.e., the approximated perunit degradation). (11d) - (11g) define the bounds on the optimization variables (methods for determining these bounds can be found in [37]). Ultimately, the set of constraints (11) exactly represents the trained neural network-based battery degradation model f_(b)^(deg)=net_(b)({s_(b,t)}_(t inF_(b)))f_{b}^{d e g}=\operatorname{net}_{b}\left(\left\{s_{b, t}\right\}_{t \in \mathcal{F}_{b}}\right), which is subsequently integrated into the CD&CP\mathrm{CD} \& \mathrm{CP} module, as detailed in the next section. 其中 I_(b):={1,dots,|F_(b)|}\mathcal{I}_{b}:=\left\{1, \ldots,\left|\mathcal{F}_{b}\right|\right\} 和 J:={1,dots,N_("hid ")}\mathcal{J}:=\left\{1, \ldots, N_{\text {hid }}\right\} 。这里, tilde(s)_(b,i)\tilde{s}_{b, i} 是输入神经元 ii 中的变量。方程 (11a) 的左侧表示在应用 ReLU 激活函数之前,从输入层发送到隐藏神经元 jj 的值。(11b) 实现了 ReLU 激活。具体来说,如果 (11a) 的左侧 (LHS) 为正,则 (11b) 中的二元指示变量 zeta_(b,j)\zeta_{b, j} 取值为 1,这导致实变量 chi_(b,j)\chi_{b, j} 等于 LHS,而 xi_(b,j)\boldsymbol{\xi}_{b, j} 变为零。相反,如果 LHS 为负,则 zeta_(b,j)\zeta_{b, j} 和 chi_(b,j)\chi_{b, j} 变为零,而 xi_(b,j)\xi_{b, j} 等于 LHS 的绝对值。因此, chi_(b,j)\chi_{b, j} 表示隐藏神经元 jj 的 ReLU 激活输出。(11c) 表示输入到隐藏层的加权和,等于 n^(2)t_(b)n^{2} t_{b} 的输出,记作 f_(b)^(deg)f_{b}^{d e g} (即,近似的每单位降级)。(11d) - (11g) 定义了优化变量的界限(确定这些界限的方法可以在 [37] 中找到)。 最终,约束条件(11)准确地表示了基于训练神经网络的电池退化模型 f_(b)^(deg)=net_(b)({s_(b,t)}_(t inF_(b)))f_{b}^{d e g}=\operatorname{net}_{b}\left(\left\{s_{b, t}\right\}_{t \in \mathcal{F}_{b}}\right) ,该模型随后被集成到 CD&CP\mathrm{CD} \& \mathrm{CP} 模块中,具体细节将在下一节中说明。
VI. CHARGER DEPloyMENT AND CHARGING PlANNING MODULE VI. 充电器部署与充电规划模块
The CD&CP module combines the e-bus charging model (Sec. IV) and the battery degradation model (Sec. V) to minimize the life cycle cost (LCC) of e-bus fleet operations for each depot individually. The module consists of two stages, determining the ideal charging schedules and reserved charging time-slots for each e-bus, to be used in the online charging scheduling module. CD&CP 模块结合了电动公交充电模型(第 IV 节)和电池退化模型(第 V 节),以最小化每个车库电动公交车队运营的生命周期成本(LCC)。该模块由两个阶段组成,确定每辆电动公交车的理想充电计划和预留充电时间段,以便在在线充电调度模块中使用。
The LCC for depot dd is given as follows: 车间 dd 的 LCC 如下所示:
LCC_(d)=c_(ch)+sum_(y=1)^(T_(proj))(c_(EC)+c_(UCC)+c_(deg))/((1+R)^(y))\boldsymbol{L C C _ { d }}=\boldsymbol{c}_{c h}+\sum_{y=1}^{T_{p r o j}} \frac{\boldsymbol{c}_{E C}+\boldsymbol{c}_{U C C}+\boldsymbol{c}_{d e g}}{(1+R)^{y}}
where T_("proj ")T_{\text {proj }} represents the project lifetime (in years), and RR denotes the discount rate. The cost components include the investment cost for the depot, ^(1){ }^{1} which covers the procurement of charging equipment (c_(ch))\left(\boldsymbol{c}_{c h}\right), along with annual operational costs: ToU energy charges (c_(EC))\left(\boldsymbol{c}_{E C}\right), uncontracted capacity charges (c_(UCC))\left(\boldsymbol{c}_{U C C}\right), and battery degradation costs (c_(deg))\left(\boldsymbol{c}_{d e g}\right) It is noted that the costs such as maintenance and driver salary are excluded from our model as they are primarily influenced 其中 T_("proj ")T_{\text {proj }} 代表项目生命周期(以年为单位), RR 表示折现率。成本组成部分包括仓库的投资成本 ^(1){ }^{1} ,该成本涵盖充电设备的采购 (c_(ch))\left(\boldsymbol{c}_{c h}\right) ,以及年度运营成本:时段电价费用 (c_(EC))\left(\boldsymbol{c}_{E C}\right) 、未合同容量费用 (c_(UCC))\left(\boldsymbol{c}_{U C C}\right) 和电池衰减成本 (c_(deg))\left(\boldsymbol{c}_{d e g}\right) 。需要注意的是,维护和司机薪资等成本被排除在我们的模型之外,因为它们主要受到影响。
by variables such as operational time and mileage, which are considered fixed in the problem setting under study and hence do not impact the decision-making process within the optimization framework. 通过操作时间和里程等变量,这些变量在研究中的问题设定中被视为固定,因此不会影响优化框架内的决策过程。
The procurement cost of charging equipment is given by the following equation: 充电设备的采购成本由以下方程给出:
where lambda_(ch)\lambda_{c h} represents the cost of one charger (in $/unit). The yearly operational cost has three components. The first component is the ToU energy charges, c_(EC)\boldsymbol{c}_{E C}, given by: 其中 lambda_(ch)\lambda_{c h} 代表一个充电器的成本(以 $/单位计)。年度运营成本有三个组成部分。第一个组成部分是时段电价(ToU)能源费用, c_(EC)\boldsymbol{c}_{E C} ,由以下公式给出:
{:[p_(t)^(agg)=sum_(b inB_(d))p_(b,t)^(ch)","AA t inT],[c_(EC)=N_(day)sum_(t inT)lambda_(t)^(EC)p_(t)^(agg)Delta T]:}\begin{aligned}
& \boldsymbol{p}_{t}^{a g g}=\sum_{b \in \mathcal{B}_{d}} \boldsymbol{p}_{b, t}^{c h}, \forall t \in \mathcal{T} \\
& \boldsymbol{c}_{E C}=N_{d a y} \sum_{t \in \mathcal{T}} \lambda_{t}^{E C} \boldsymbol{p}_{t}^{a g g} \Delta T
\end{aligned}
The aggregated power drawn by the depot dd during timeslot tt is represented by p_(t)^(agg)\boldsymbol{p}_{t}^{a g g} in (14a). N_("day ")N_{\text {day }} in (14b) is the number of equivalent days in a year and is used to scale the daily energy charges to a yearly basis. This is required as c_(EC)\boldsymbol{c}_{E C} is defined for a year, but the control horizon is only one day. Lastly, lambda_(t)^(EC)\lambda_{t}^{E C} is the ToU rate (in $//kWh\$ / \mathrm{kWh} ) for time-slot tt. 在时间段 tt 内,仓库 dd 所消耗的总功率用(14a)中的 p_(t)^(agg)\boldsymbol{p}_{t}^{a g g} 表示。 (14b)中的 N_("day ")N_{\text {day }} 是每年等效天数,用于将每日能源费用按年度进行缩放。这是必要的,因为 c_(EC)\boldsymbol{c}_{E C} 是按年定义的,但控制范围仅为一天。最后, lambda_(t)^(EC)\lambda_{t}^{E C} 是时间段 tt 的时段电价(以 $//kWh\$ / \mathrm{kWh} 为单位)。
The subsequent operational cost is the uncontracted capacity charge (UCC), which is analogous to the demand charge that is imposed on commercial and industrial customers [39]. The UCC is calculated by first determining the average peak demand during a specified measurement interval, typically 1530 minutes, over the course of a billing period. If the averaged peak demand (represented as P_("peak ")P_{\text {peak }} ) exceeds the contracted capacity of the customer (i.e., the depot charging station), denoted by P_(CC)P_{C C}, then the UCC is billed as lambda_(UCC)xx(P_("peak ")-:}\lambda_{U C C} \times\left(P_{\text {peak }}-\right.P_(CC)P_{C C} ), where lambda_(UCC)\lambda_{U C C} denotes the UCC rate (in $//kW//\$ / \mathrm{kW} / month). 后续的运营成本是未合同容量费用(UCC),这类似于对商业和工业客户征收的需求费用[39]。UCC 的计算首先是在计费周期内,确定指定测量区间(通常为 1530 分钟)内的平均峰值需求。如果平均峰值需求(表示为 P_("peak ")P_{\text {peak }} )超过客户的合同容量(即,仓库充电站),表示为 P_(CC)P_{C C} ,则 UCC 按 lambda_(UCC)xx(P_("peak ")-:}\lambda_{U C C} \times\left(P_{\text {peak }}-\right.P_(CC)P_{C C} 计费,其中 lambda_(UCC)\lambda_{U C C} 表示 UCC 费率(以 $//kW//\$ / \mathrm{kW} / 为单位)。
To account for the UCC, it is necessary to calculate the running average of p_(t)^("agg ")\boldsymbol{p}_{t}^{\text {agg }} over a sliding window of size T_("mea ")T_{\text {mea }} which represents the number of time-slots associated with the measurement interval. The following equations are used to calculate the UCC: 为了计算 UCC,有必要在大小为 T_("mea ")T_{\text {mea }} 的滑动窗口内计算 p_(t)^("agg ")\boldsymbol{p}_{t}^{\text {agg }} 的运行平均值,该窗口表示与测量间隔相关的时间槽数量。以下方程用于计算 UCC:
{:[p_(t)^("avg ")=(1)/(T_("mea "))sum_(t^(')=t)^(t+T_("mea ")-1)p_(mod(t^(')-1,|T|)+1)^(agg)","AA t inT],[p_(t)^("avg ")-P_(CC) <= Υ","AA t inT],[0 <= Υ],[c_(UCC)=N_(mo)lambda_(UCC)Υ]:}\begin{aligned}
& \boldsymbol{p}_{t}^{\text {avg }}=\frac{1}{T_{\text {mea }}} \sum_{t^{\prime}=t}^{t+T_{\text {mea }}-1} \boldsymbol{p}_{\bmod \left(t^{\prime}-1,|\mathcal{T}|\right)+1}^{a g g}, \forall t \in \mathcal{T} \\
& \boldsymbol{p}_{t}^{\text {avg }}-P_{C C} \leq \boldsymbol{\Upsilon}, \forall t \in \mathcal{T} \\
& 0 \leq \mathbf{\Upsilon} \\
& \boldsymbol{c}_{U C C}=N_{m o} \lambda_{U C C} \mathbf{\Upsilon}
\end{aligned}
In (15a), p_(t)^("avg ")\boldsymbol{p}_{t}^{\text {avg }} is the running average of p_(t)^("agg ")\boldsymbol{p}_{t}^{\text {agg }} over the sliding window of size T_(mea)T_{m e a}. The modulo operation here ensures that the indices wrap around within the control horizon. Equations (15b) and (15c), and the variable Υ\Upsilon models the identity Υ=max(P_(CC),p_(1)^("avg "),dots,p_(|T|)^("avg "))-P_(CC)\boldsymbol{\Upsilon}=\max \left(P_{C C}, p_{1}^{\text {avg }}, \ldots, p_{|\mathcal{T}|}^{\text {avg }}\right)-P_{C C}, which models the amount by which the contracted capacity is exceeded. Finally, (15d) calculates the yearly UCC, c_(UCC)\boldsymbol{c}_{U C C}, where N_(mo)N_{m o} is the number of equivalent months in a year. 在 (15a) 中, p_(t)^("avg ")\boldsymbol{p}_{t}^{\text {avg }} 是在大小为 T_(mea)T_{m e a} 的滑动窗口内对 p_(t)^("agg ")\boldsymbol{p}_{t}^{\text {agg }} 的运行平均值。这里的取模操作确保索引在控制范围内循环。方程 (15b) 和 (15c),以及变量 Υ\Upsilon 模拟了身份 Υ=max(P_(CC),p_(1)^("avg "),dots,p_(|T|)^("avg "))-P_(CC)\boldsymbol{\Upsilon}=\max \left(P_{C C}, p_{1}^{\text {avg }}, \ldots, p_{|\mathcal{T}|}^{\text {avg }}\right)-P_{C C} ,该身份模拟了超出合同容量的量。最后,(15d) 计算了年度 UCC, c_(UCC)\boldsymbol{c}_{U C C} ,其中 N_(mo)N_{m o} 是一年中的等效月份数。
The final component to consider is the cost associated with battery degradation. Recall the per-unit degradation factor, f_(b)^(deg)f_{b}^{d e g}, for e-bus bb, as discussed in Sec. V. Let E_(b)^("proc ")E_{b}^{\text {proc }} denote the expected total energy processed by e-bus bb over the control horizon, predetermined using e-bus mobility data. Additionally, define lambda_("deg ")\lambda_{\text {deg }} as the capacity degradation cost (in $//kWh)\$ / \mathrm{kWh}). This cost is set as lambda_("deg ")=(lambda_("bat "))/(phi_("deg "))\lambda_{\text {deg }}=\frac{\lambda_{\text {bat }}}{\phi_{\text {deg }}}, where lambda_("bat ")\lambda_{\text {bat }} is the cost per kWh of the battery, and phi_("deg ")\phi_{\text {deg }} is the percentage of battery degradation at its economic end-of-life. Thus, when the battery degrades by phi_(deg)\phi_{d e g} of its capacity, the full cost of the battery is allocated as the cost of degradation. 最后需要考虑的组成部分是与电池退化相关的成本。回想一下在第 V 节中讨论的电动公交车 bb 的每单位退化因子 f_(b)^(deg)f_{b}^{d e g} 。设 E_(b)^("proc ")E_{b}^{\text {proc }} 为电动公交车 bb 在控制时间范围内处理的预期总能量,该值是根据电动公交车的移动数据预先确定的。此外,定义 lambda_("deg ")\lambda_{\text {deg }} 为容量退化成本(以 $//kWh)\$ / \mathrm{kWh}) 为单位)。该成本设定为 lambda_("deg ")=(lambda_("bat "))/(phi_("deg "))\lambda_{\text {deg }}=\frac{\lambda_{\text {bat }}}{\phi_{\text {deg }}} ,其中 lambda_("bat ")\lambda_{\text {bat }} 是电池每千瓦时的成本, phi_("deg ")\phi_{\text {deg }} 是电池在其经济使用寿命结束时的退化百分比。因此,当电池退化 phi_(deg)\phi_{d e g} 的容量时,电池的全部成本被分配为退化成本。
Accordingly, the annual battery degradation cost for e-bus bb is calculated as: 因此,电动公交车 bb 的年度电池衰减成本计算如下:
c_(b)^("deg ")=N_(day)lambda_(deg)f_(b)^(deg)E_(b)^("proc ")\boldsymbol{c}_{b}^{\text {deg }}=N_{d a y} \lambda_{d e g} f_{b}^{d e g} E_{b}^{\text {proc }}
Instead of representing the total degradation cost of the fleet by the summation, we consider the maximum of c_(b)^("deg ")c_{b}^{\text {deg }} over b inB_(d)b \in \mathcal{B}_{d}. This approach will not only minimize the total degradation cost, but also equalize the degradation within the fleet, which is beneficial in terms of leading to uniform battery aging. Given this, the yearly battery degradation cost of the e-bus fleet, denoted by c_(deg)\boldsymbol{c}_{d e g}, is represented as follows: 我们不通过求和来表示车队的总退化成本,而是考虑 b inB_(d)b \in \mathcal{B}_{d} 中的 c_(b)^("deg ")c_{b}^{\text {deg }} 的最大值。这种方法不仅会最小化总退化成本,还会使车队内的退化保持一致,这有利于实现均匀的电池老化。基于此,电动公交车车队的年度电池退化成本,记作 c_(deg)\boldsymbol{c}_{d e g} ,表示如下:
c_(deg) >= |B_(d)|c_(b)^("deg "),quad AA b inB_(d)\boldsymbol{c}_{d e g} \geq\left|\mathcal{B}_{d}\right| \boldsymbol{c}_{b}^{\text {deg }}, \quad \forall b \in \mathcal{B}_{d}
A. Minimizing the Life Cycle Cost A. 最小化生命周期成本
With the cost items delineated above, the first stage of the CD&CP\mathrm{CD} \& \mathrm{CP} module, i.e., CD&CPP_(d)-I\mathrm{CD} \& \mathrm{CPP}_{d}-\mathrm{I}, is given by the following MILP: 根据上述成本项目, CD&CP\mathrm{CD} \& \mathrm{CP} 模块的第一阶段,即 CD&CPP_(d)-I\mathrm{CD} \& \mathrm{CPP}_{d}-\mathrm{I} ,由以下混合整数线性规划(MILP)给出:
s.t. E-bus charging model: (6), AA b inB_(d)\forall b \in \mathcal{B}_{d}, (7), 电动公交车充电模型: (6), AA b inB_(d)\forall b \in \mathcal{B}_{d} , (7),
Battery degradation model: (11), AA b inB_(d)\forall b \in \mathcal{B}_{d}, 电池退化模型: (11), AA b inB_(d)\forall b \in \mathcal{B}_{d} ,
Costs: (13) - (17). 成本:(13)-(17)。
From the solution of (18), we recover the optimal cost values {c_(ch)^(d),c_(EC)^(d),c_(UCC)^(d)}:={c_(ch),c_(EC),c_(UCC)}^(**CD&CPP-I_(d))\left\{c_{c h}^{d}, c_{E C}^{d}, c_{U C C}^{d}\right\}:=\left\{\boldsymbol{c}_{c h}, \boldsymbol{c}_{E C}, \boldsymbol{c}_{U C C}\right\}^{* C D \& C P P-I_{d}} and the SoC trajectories {s_(b,t)^(d)}:={s_(b,t)}^(**CD&CPP-I)_(d)\left\{s_{b, t}^{d}\right\}:=\left\{s_{b, t}\right\}^{* C D \& C P P-I}{ }_{d} to be utilized for the second stage. The battery degradation cost, c_(deg)\boldsymbol{c}_{d e g}, is indirectly obtained by recovering the SoC trajectories, as there exists a one-to-one correspondence between the two. 从(18)的解中,我们恢复了最优成本值 {c_(ch)^(d),c_(EC)^(d),c_(UCC)^(d)}:={c_(ch),c_(EC),c_(UCC)}^(**CD&CPP-I_(d))\left\{c_{c h}^{d}, c_{E C}^{d}, c_{U C C}^{d}\right\}:=\left\{\boldsymbol{c}_{c h}, \boldsymbol{c}_{E C}, \boldsymbol{c}_{U C C}\right\}^{* C D \& C P P-I_{d}} 和用于第二阶段的 SoC 轨迹 {s_(b,t)^(d)}:={s_(b,t)}^(**CD&CPP-I)_(d)\left\{s_{b, t}^{d}\right\}:=\left\{s_{b, t}\right\}^{* C D \& C P P-I}{ }_{d} 。电池退化成本 c_(deg)\boldsymbol{c}_{d e g} 是通过恢复 SoC 轨迹间接获得的,因为两者之间存在一一对应关系。
B. Minimizing the Charging Ramps, Determining Ideal Charging Schedules and Reserved Charging Time-Slots B. 最小化充电坡度,确定理想充电时间表和预留充电时间段
The second stage of CD&CP module aims to minimize power ramps in the charging schedule while maintaining the optimal LCC obtained from CD&CPP-I_(d)C D \& C P P-I_{d}. Minimizing charging ramps is essential for achieving a smoother charging schedule and avoiding sudden changes in charging demand, which can lead to adverse effects on the distribution network, such as voltage deviations and frequency disturbances. On the other hand, excessive power ramps could breach the ramp rate limits specified by the grid codes [40], potentially incurring financial penalties. Moreover, abrupt changes in the charging power may have a negative impact on battery lifespan [41], adding to operational costs and impacting fleet efficiency. CD&CP 模块的第二阶段旨在最小化充电计划中的功率波动,同时保持从 CD&CPP-I_(d)C D \& C P P-I_{d} 获得的最佳生命周期成本(LCC)。最小化充电波动对于实现更平稳的充电计划至关重要,并避免充电需求的突然变化,这可能对配电网络产生不利影响,例如电压偏差和频率扰动。另一方面,过大的功率波动可能会违反电网规范[40]中规定的波动率限制,可能会导致财务处罚。此外,充电功率的突然变化可能对电池寿命产生负面影响[41],增加运营成本并影响车队效率。
To minimize the charging ramps, we formulate the MILP CD&CPP-II_(d)\mathrm{CD} \& \mathrm{CPP}-\mathrm{II}_{d} as follows: 为了最小化充电坡度,我们将混合整数线性规划(MILP) CD&CPP-II_(d)\mathrm{CD} \& \mathrm{CPP}-\mathrm{II}_{d} 公式化如下: CD&CPP-II_(d):minsum_(b,t)|p_(b,t-1)^(ch)-p_(b,t)^(ch)|\mathrm{CD} \& \mathrm{CPP}-\mathrm{II}_{d}: \min \sum_{b, t}\left|\boldsymbol{p}_{b, t-1}^{c h}-\boldsymbol{p}_{b, t}^{c h}\right|
|s_(b,t)-s_(b,t)^(d)| <= epsi,quad AA b,t inB_(d),F_(b)\left|s_{b, t}-s_{b, t}^{d}\right| \leq \varepsilon, \quad \forall b, t \in \mathcal{B}_{d}, \mathcal{F}_{b}
Here, (19a) minimizes the sum of charging ramps across the fleet. (19b) ensures that the optimal charger cost, energy charges and uncontracted capacity charges found in CD&CPP-I_(d)C D \& C P P-I_{d} are retained. Similarly, (19c) ensures that the SoC trajectories associated with the optimal battery degradation cost are maintained. Note that a small deviation epsi=10^(-4)\varepsilon=10^{-4} is allowed in the SoC to enhance numerical performance, which has negligible impact on the degradation cost in practice. 在这里,(19a) 最小化整个车队的充电坡度总和。(19b) 确保在 CD&CPP-I_(d)C D \& C P P-I_{d} 中找到的最优充电器成本、能源费用和未合同容量费用得以保留。同样,(19c) 确保与最优电池退化成本相关的 SoC 轨迹得以维持。请注意,允许在 SoC 中有一个小的偏差 epsi=10^(-4)\varepsilon=10^{-4} 以提高数值性能,这在实践中对退化成本的影响微乎其微。
The optimal values of three sets of variables are obtained from CD&CPP_(d)-II\mathrm{CD} \& \mathrm{CPP}_{d}-\mathrm{II} to be employed in the online charging scheduling module, which are p_(b,t)^("ideal "):={p_(b,t)^(ch)}^(**CD&CPP-II_(d))p_{b, t}^{\text {ideal }}:=\left\{\boldsymbol{p}_{b, t}^{c h}\right\}^{* C D \& C P P-I I_{d}} and x_(b,t):={x_(b,t)}^(**CD&CPP-II_(d))x_{b, t}:=\left\{\boldsymbol{x}_{b, t}\right\}^{* C D \& C P P-I I_{d}}, referred to as ideal charging schedules and reserved charging time-slots, respectively, as well as the initial SoC, s_("init "):={s_("init ")}^(**CD&CPP)-I_(d)s_{\text {init }}:=\left\{\boldsymbol{s}_{\text {init }}\right\}^{* C D \& C P P}-I_{d}. 从 CD&CPP_(d)-II\mathrm{CD} \& \mathrm{CPP}_{d}-\mathrm{II} 中获得三组变量的最优值,以用于在线充电调度模块,这些变量分别是 p_(b,t)^("ideal "):={p_(b,t)^(ch)}^(**CD&CPP-II_(d))p_{b, t}^{\text {ideal }}:=\left\{\boldsymbol{p}_{b, t}^{c h}\right\}^{* C D \& C P P-I I_{d}} 和 x_(b,t):={x_(b,t)}^(**CD&CPP-II_(d))x_{b, t}:=\left\{\boldsymbol{x}_{b, t}\right\}^{* C D \& C P P-I I_{d}} ,称为理想充电调度和预留充电时间段,以及初始状态的充电(SoC), s_("init "):={s_("init ")}^(**CD&CPP)-I_(d)s_{\text {init }}:=\left\{\boldsymbol{s}_{\text {init }}\right\}^{* C D \& C P P}-I_{d} 。
VII. Online Charging Scheduling Module VII. 在线充电调度模块
The online charging scheduling module implements a receding horizon control scheme, which continuously updates charging schedules in real-time to accommodate uncertainties in energy consumption. This approach ensures feasible and cost-optimal operation despite the presence of uncertainties. The ideal charging schedules, obtained from CD&CPP-II_(d)C D \& C P P-I I_{d} by assuming energy consumption at expected values (mean value solution), serve as a foundation for the online problem. 在线充电调度模块实现了一种递归视野控制方案,该方案实时更新充电计划,以适应能源消耗的不确定性。这种方法确保了在不确定性存在的情况下,操作的可行性和成本最优性。理想的充电计划是通过假设能源消耗在预期值(均值解)下从 CD&CPP-II_(d)C D \& C P P-I I_{d} 获得的,作为在线问题的基础。
During online scheduling, the reserved charging time-slots from CD&CPP-II_(d)C D \& C P P-I I_{d} remain fixed. This allows e-buses to charge only during their respective reserved time-slots (i.e., when x_(b,t)=1x_{b, t}=1 ), considering practical charging considerations and the limited number of chargers. By fixing the reserved time-slots, all constraints in (7) become linear, eliminating the mixed-integer aspect. Consequently, the online charging scheduling problem can be formulated as a computationally efficient linear program, rather than a mixed-integer program, facilitating its real-time implementation. 在在线调度过程中,来自 CD&CPP-II_(d)C D \& C P P-I I_{d} 的预留充电时间段保持不变。这使得电动公交车只能在各自预留的时间段内充电(即,当 x_(b,t)=1x_{b, t}=1 时),考虑到实际充电的因素和充电器的数量有限。通过固定预留时间段,(7)中的所有约束变为线性,从而消除了混合整数的特性。因此,在线充电调度问题可以被表述为一个计算上高效的线性规划,而不是混合整数规划,从而便于其实时实施。
In this context, it is assumed that a communication network is available for the e-bus fleet, providing information about the actual power consumption, p_(b,tau)^(act)p_{b, \tau}^{a c t}, of the vehicles at the end of each time-slot tau inT\tau \in \mathcal{T}. This information is utilized to solve the following linear online charging scheduling program OCSP_(d,tau)\mathrm{OCSP}_{d, \tau} at the end of each tau\tau for each depot dd, thereby updating the charging schedules: 在这种情况下,假设有一个通信网络可供电动公交车队使用,提供每个时间段结束时车辆的实际功耗信息 p_(b,tau)^(act)p_{b, \tau}^{a c t} 。这些信息用于在每个 tau\tau 结束时为每个车库 dd 解决以下线性在线充电调度程序 OCSP_(d,tau)\mathrm{OCSP}_{d, \tau} ,从而更新充电计划:
{:[OCSP_(d,tau):minc_(EC)+c_(UCC)+epsisum_(b,t)|p_(b,t)^(ch)-p_(b,t)^(ideal)|+Lambda epsilon],[s.t.quad(6c)","(13)-(15)","AA b],[s_(b,t)=s_(b,t-1)+(Delta T)/(E_(cap))(p_(b,t)^(ch)-p_(b,t)^( widetilde(dch)))","AA b","t],[s_(b,0)=s_("init ")","quads_(b,|T|) >= s_("init ")-epsilon_(b,1)","AA b],[s_-epsilon_(b,2) <= s_(b,t) <= bar(s)+epsilon_(b,3)","AA b","t],[0 <= p_(b,t)^(ch) <= bar(p)x_(b,t)","AA b","t],[p_(b,t)^(ch)=p_(b,t)^(sch)","AA b","AA t in{1","dots","tau}]:}\begin{aligned}
& \mathrm{OCSP}_{d, \tau}: \min \boldsymbol{c}_{E C}+\boldsymbol{c}_{U C C}+\varepsilon \sum_{b, t}\left|\boldsymbol{p}_{b, t}^{c h}-p_{b, t}^{i d e a l}\right|+\Lambda \boldsymbol{\epsilon} \\
& \mathrm{s.t.} \quad(6 c),(13)-(15), \forall b \\
& \boldsymbol{s}_{b, t}=\boldsymbol{s}_{b, t-1}+\frac{\Delta T}{E_{c a p}}\left(\boldsymbol{p}_{b, t}^{c h}-p_{b, t}^{\widetilde{d c h}}\right), \forall b, t \\
& s_{b, 0}=s_{\text {init }}, \quad s_{b,|\mathcal{T}|} \geq s_{\text {init }}-\boldsymbol{\epsilon}_{b, 1}, \forall b \\
& \underline{s}-\boldsymbol{\epsilon}_{b, 2} \leq \boldsymbol{s}_{b, t} \leq \bar{s}+\boldsymbol{\epsilon}_{b, 3}, \forall b, t \\
& 0 \leq \boldsymbol{p}_{b, t}^{c h} \leq \bar{p} x_{b, t}, \forall b, t \\
& \boldsymbol{p}_{b, t}^{c h}=p_{b, t}^{s c h}, \forall b, \forall t \in\{1, \ldots, \tau\}
\end{aligned}
Fig. 3. Histograms for expected energy consumptions per trip. 图 3. 每次旅行的预期能耗直方图。
In the objective function (20a), the first two terms represent the energy and uncontracted capacity charges, as defined in (13) - (15). The third term minimizes the discrepancy between the ideal charging schedules and the schedules generated by OCSP_(d,tau)\operatorname{OCSP}_{d, \tau}, incorporating a small positive penalty of epsi=10^(-1)\varepsilon=10^{-1}. By minimizing the difference, this term effectively minimizes battery degradation, without explicitly utilizing the mixed-integer battery degradation model. Furthermore, it assists in reducing charging ramps, as the charging ramps of p_(b,t)^(ideal)p_{b, t}^{i d e a l} are minimized by CD&CPP-II_(d)\mathrm{CD} \& \mathrm{CPP}-I I_{d}. The final term penalizes the auxiliary variables using a large scalar Lambda=10^(6)\Lambda=10^{6}, encouraging them to be as small as possible. 在目标函数 (20a) 中,前两项代表能量和未收缩的容量费用,如 (13) - (15) 所定义。第三项最小化理想充电计划与由 OCSP_(d,tau)\operatorname{OCSP}_{d, \tau} 生成的计划之间的差异,加入了一个小的正惩罚 epsi=10^(-1)\varepsilon=10^{-1} 。通过最小化差异,这一项有效地减少了电池退化,而不明确使用混合整数电池退化模型。此外,它有助于减少充电坡度,因为 p_(b,t)^(ideal)p_{b, t}^{i d e a l} 的充电坡度通过 CD&CPP-II_(d)\mathrm{CD} \& \mathrm{CPP}-I I_{d} 被最小化。最后一项使用一个大的标量 Lambda=10^(6)\Lambda=10^{6} 对辅助变量进行惩罚,鼓励它们尽可能小。
The constraint (20b) corresponds to (6a), with the distinction that p_(b,t)^(dch)p_{b, t}^{d c h} equals the actual discharging power ( p_(b,t)^(act)p_{b, t}^{a c t} ) for t <= taut \leq \tau, and equals the expected discharging power (p_(b,t)^(dch))\left(p_{b, t}^{d c h}\right) for t > taut>\tau. (20c) and (20d) are analogous to (6b) and (6d), respectively, but are relaxed using auxiliary variables epsilon_(b,1),epsilon_(b,2)\boldsymbol{\epsilon}_{b, 1}, \boldsymbol{\epsilon}_{b, 2}, and epsilon_(b,3)\boldsymbol{\epsilon}_{b, 3} to avoid infeasibilities resulting from uncertainties. (20e) indicates that each e-bus can only be charged during its reserved time-slots. (20f) preserves the charging power scheduled prior to tau.(20g)\tau .(20 \mathrm{~g}) and (20h) defines the summation and non-negativity of the auxiliary variables. 约束 (20b) 对应于 (6a),不同之处在于 p_(b,t)^(dch)p_{b, t}^{d c h} 等于 t <= taut \leq \tau 的实际放电功率 ( p_(b,t)^(act)p_{b, t}^{a c t} ),并且等于 t > taut>\tau 的预期放电功率 (p_(b,t)^(dch))\left(p_{b, t}^{d c h}\right) 。 (20c) 和 (20d) 分别类似于 (6b) 和 (6d),但通过使用辅助变量 epsilon_(b,1),epsilon_(b,2)\boldsymbol{\epsilon}_{b, 1}, \boldsymbol{\epsilon}_{b, 2} 和 epsilon_(b,3)\boldsymbol{\epsilon}_{b, 3} 进行放宽,以避免因不确定性而导致的不可行性。 (20e) 表示每辆电动公交车只能在其预留的时间段内充电。 (20f) 保留了在 tau.(20g)\tau .(20 \mathrm{~g}) 之前安排的充电功率,(20h) 定义了辅助变量的求和和非负性。
The solution to OCSP_(d,tau)\operatorname{OCSP}_{d, \tau} yields p_(b,tau)^(sch):={p_(b,tau+1)^(ch)}^(**^(OCSP_(d,tau)))p_{b, \tau}^{s c h}:=\left\{\boldsymbol{p}_{b, \tau+1}^{c h}\right\}^{*^{\operatorname{OCSP}_{d, \tau}}} for all b inB_(d)b \in \mathcal{B}_{d}. These represent the scheduled charging power to be applied during the immediate next time-slot tau+1\tau+1. This process is repeated in a time-receding manner until the end of T\mathcal{T}, updating the charging schedules by accounting for the realization of uncertain energy consumptions. OCSP_(d,tau)\operatorname{OCSP}_{d, \tau} 的解为 p_(b,tau)^(sch):={p_(b,tau+1)^(ch)}^(**^(OCSP_(d,tau)))p_{b, \tau}^{s c h}:=\left\{\boldsymbol{p}_{b, \tau+1}^{c h}\right\}^{*^{\operatorname{OCSP}_{d, \tau}}} ,适用于所有 b inB_(d)b \in \mathcal{B}_{d} 。这些代表在紧接着的下一个时间段 tau+1\tau+1 中应用的计划充电功率。这个过程以时间递减的方式重复,直到 T\mathcal{T} 结束,通过考虑不确定能耗的实现来更新充电计划。
VIII. ReSUltS AND DISCUSSION VIII. 结果与讨论
In this work, the internal shuttle bus network of Kent Ridge Campus at the National University of Singapore [43] is considered as a case study. During the data collection period in 2021, six different routes were present on the campus, and a total of 371 trips were served on weekdays during term time, between 07:15 and 23:00. There are three depots, with associated numbers of trips of 174,113 , and 84 , assumed to be served by a total of 25 e-buses. Through the utilization of publicly available data, field studies, and first principles, 在本研究中,新加坡国立大学肯特岭校园的内部穿梭巴士网络被作为案例研究。在 2021 年的数据收集期间,校园内有六条不同的路线,学期期间在工作日共提供了 371 个班次,时间为 07:15 至 23:00。共有三个车库,分别对应的班次数为 174、113 和 84,假设由总共 25 辆电动巴士提供服务。通过利用公开可用的数据、实地研究和基本原理,
^(1){ }^{1} For simplicity, the dd super/subscript indicating depot-specific variables is omitted from notation in this section, though it is still implied. 为了简化起见,本节中省略了表示特定仓库变量的超/下标 dd ,尽管它仍然是隐含的。