
2020; Liu et al., 2022; Wang et al., 2019; Liu et al.,
2018). The algorithms differ in assumptions made
and target parameters chosen.
Among the works mentioned above, only (Liu
et al., 2018) and (Tang et al., 2020) address online
route planning and operation of MCSs. The work
in (Liu et al., 2018) focus on using demand and dis-
tance based routing algorithms for MCSs, but does
not propose any mechanism for finding the optimal
MCS for a particular request. The work in (Tang
et al., 2020) formulates the problem as a mixed in-
teger linear programming problem which is not scal-
able to a large number of requests and MCSs. We
aim to build efficient heuristic algorithms which per-
form both route planning of MCSs and scheduling of
charging requests in an online manner at scale.
3 PROBLEM SPECIFICATION
We consider EVs moving in a city, with an MCS op-
erator providing mobile charging service to the EVs.
MCSs are charging stations with limited charge ca-
pacity (from batteries carried on vehicles) that move
within the city. Their states are always known to the
MCS operator, including remaining charge, location,
and availability. While the capacity of an MCS to
charge EVs depends on the capacity of batteries it car-
ries, the MCS itself is assumed to be gas-powered;
hence, it is assumed to have no range limitation for
its own movement. An MCS can only charge EVs at
one or more of a set of predefined fixed charging loca-
tions. We assume that at a time, only one MCS can be
parked at one of these locations. The charging service
is provided for a fixed duration in a day, broken up
into T time instants. At the start of a day, all MCSs
are fully charged and stationed at their home depot.
MCSs travel to different locations to charge EVs as
directed by the MCS operator. If an MCS runs out of
charge, it goes to its closest depot to get charged, and
then services requests again.
Each EV move from a source to a destination lo-
cation. If the remaining charge is deemed to be insuf-
ficient, EVs make charging requests with details of
their requirements to the MCS operator’s central con-
trol system. The central system sends a response to
the request immediately accepting or rejecting it. If
the system accepts a request, it is always served.
The road network in the city is modeled as a di-
rected graph G = (N , E), where N denotes the set
of nodes, and E denotes the set of roads. The nodes
can be vehicle locations, charging stations, depot lo-
cations, charging locations, or source/destination lo-
cations.
The set of electric vehicles is denoted as V .
A vehicle v ∈ V is represented by the tuple
⟨cap
v
, soc
t
v
, loc
t
v
, s
v
, d
v
, c
v
⟩, where cap
v
is the bat-
tery capacity (kWh) of v, soc
t
v
is the state of charge
(SoC) of v at time t (charge remaining as a percentage
of total charge), loc
t
v
is the location of v at time t, s
v
is
the average speed of the vehicle, d
v
is the discharging
rate (battery discharged per unit distance), and c
v
is
the charging rate (battery charged per unit time).
Let M be the set of all MCSs. An MCS m ∈ M
at a particular time t, is represented by the tuple
⟨ dep
m
, cap
m
, soc
t
m
, loc
t
m
, s
m
, out
m
, c
m
, cout
m
,
req list
t
m
, path
t
m
⟩, where dep
m
is the home depot of
m, cap
m
is the effective battery capacity (kWh) of m
(to charge EVs), soc
t
m
is the state of charge (SoC) of
m, loc
t
m
is the location of m at time t, s
m
is the av-
erage speed of m, out
m
is the number of outlets/ports
in m which can be used for charging, c
m
is the rate at
which m can get charged, cout
m
is the rate at which m
can charge a vehicle (in kWh per unit time), path
t
m
is
the future path planned for m at time t (a sequence of
tuples, each with a location, starting time and ending
time denoting the duration the MCS will stay in that
location), and req
list
t
m
is the requests scheduled at
the MCS at time t. The requests are stored as an array
of 2-tuples, containing the starting time at which the
vehicle is scheduled to start, and the time at which the
charging will end.
Let R be the set of all charging requests.
A request r ∈ R is represented by the tuple
⟨ time
r
, v
r
, curr soc
r
, des soc
r
, req loc
r
,
des loc
r
, dev
r
, wait
r
⟩, where time
r
is the time at
which the request is made, v
r
is the EV which has
made the request, curr soc
r
is the current SoC of the
EV requesting charge, des soc
r
is the desired SoC of
the EV requesting charge, req loc
r
is the current lo-
cation of the EV when the request is made, des loc
r
is the destination location of the EV, dev
r
is the max-
imum extra distance the EV is willing to travel for
charging, and wait
r
is the maximum time the vehicle
can wait at the charging location. Let L (L ⊂ N ) be
the set of all charging locations. MCSs can charge
EVs only at one of these locations.
The output of any algorithm for the MCS alloca-
tion problem is a |M |×|V |×|L|×T matrix S , where
S[m, v, l, t] = 1 if and only if MCS m is charging the
EV v placed at charging location l at time t, 0 other-
wise. The problem is to compute a schedule for plac-
ing the set of MCSs at the set of locations for charging
the vehicles in the set V such that the number of ve-
hicles charged is maximized. Formally, the goal is to
maximize
∑
m∈M
∑
v∈V
∑
l∈L
∑
t∈T
Dynamic Charging on the Go: Optimizing Mobile Charging Stations for Electric Vehicle Infrastructure
467