From the given description of the considered network and corresponding model, in this section, we define and formulate our problem.
4.2. Problem Formulation
Now, we present an integer linear programming (ILP) formulation for DCEM. Definitions for symbols used in the ILP formulation are presented in
Table 1.
Let us assume that a network consists of a set of nodes, , where the element 1 represents the sink, and a set of arcs, . Furthermore, let us define M as a set of MDCs where .
Let
denote the travel distance (Euclidean distance) from node
i to node
j. We also define
as a binary decision variable that becomes one if
is on the paths of the MDC
k,
, but becomes zero otherwise. That is,
Furthermore,
is defined as the number of nodes visited by MDC
k up to node
i. We also define
as the travel time between node
i and node
j. Recall that
is the sojourn time of the MDC at node
i for charging and collecting data. Note that
represents the sojourn time of the MDC at the sink. Each MDC spends a small amount of time,
, at the sink to replace its own battery.
refers to the time for one round journey of MDC
k or the time for one period. Therefore,
can be calculated as follows:
Let
denote energy consumption by the MDC to travel one meter, and
r is the data-generation rate of a sensor (in bits per s). Furthermore,
denotes the energy transfer rate from the MDC to sensor
i. Recall that
is the energy consumption to receive one bit of data. We define
,
and
, respectively, as energy consumed by MDC
k for wireless charging of visited sensors, its movement energy and the energy consumption to receive data from visited sensors during its one-round journey. Therefore, in each period, the total energy consumption of MDC
k (
) can be calculated as follows:
Each sensor consumes energy for generating data and transmitting buffered data to the MDC. Recall that
and
represent the consumed energy for transmitting and generating one bit of data, respectively. Furthermore, let
denote the energy transfer efficiency between the MDC and sensors. Then, after generating the data, transmitting them to the MDC and energy replenishment, the residual energy at sensor
i by the end of a period is:
We replace
from Equation (
3); then, Equation (
5) can be rewritten as follows:
Now, the ILP problem can be formulated as follows:
The objective function for the formulation is represented by Equation (
7). Recall that every MDC consumes energy for wireless charging of visited sensors, its movement and receiving data from visited sensors. In Equation (
7), the first, second and third term represent the energy consumption by all MDCs for wireless charging, moving and data reception, respectively. Therefore, Equation (
7) presents the total energy consumption of all MDCs. The objective is to minimize the total energy consumption by finding optimal paths of MDCs.
Equations (
8)–(
17) represent constraints on the paths of the MDCs. More specifically, Constraints (
8) and (
9) ensure that every node except the sink is visited exactly once by only one MDC. For example, if MDC
k arrives at node
j (
) from node
i, then
. Since
, other MDCs from any other node cannot visit node
j. Furthermore, when MDC
k leaves node
j, it only goes to one node among the
N nodes to satisfy Constraint (
9).
Constraint (
10) is the route continuity constraint, which ensures that once an MDC arrives at a node, it must also leave that node. Specifically, if MDC
k arrives at a node, say node
p from node
i, then
. Constraint (
10) is satisfied whenever
, i.e., MDC
k leaves node
p and travels to another node
j. Constraint (
11) ensures that MDC
k starts its tour from the sink to any other node, say node
j (i.e.,
), and Constraint (
12) ensures that MDC
k returns to the sink from exactly one node among the
N nodes (i.e.,
). Recall that 1 represents the sink.
Constraint (
13) is the delay constraint for each MDC. It ensures that time for one round journey of MDC
k (
), which includes the travel and charge time of the MDC, cannot exceed the given deadline,
D. The time MDC
k needs to finish a one-round journey is estimated in Equation (
3). Constraint (
14) limits the maximum energy consumption of each MDC. More specifically, it ensures that energy consumption by every MDC, which includes wireless charging, moving and data reception, cannot exceed its energy capacity,
Q. The total energy consumption of MDC
k (
) is calculated in Equation (
4). Constraint (
15) ensures that at the end of the current period, every sensor has the minimum residual energy,
, after being recharged by the MDC and consuming energy for generating and transmitting data. The residual energy of sensor
i (
) at the end of a period is presented in Equation (
5).
Constraints (
16) and (
17) eliminate the sub-tours in the paths of the MDCs in a way similar to Miller–Tucker–Zemlin (MTZ) sub-tour elimination of the traveling salesman problem (TSP) [
33]. MTZ sub-tour elimination constraints eliminate a collection of the disjoint sub-tour that together satisfies Constraints (
8)–(
15). Recall that
is the number of nodes visited by MDC
k up to node
i. Constraint (
16) sets the value of
for the sink (
) to be one, i.e.,
, and Constraint (
17) ensures that
, when
. Thus, Constraints (
16) and (
17) together prohibit the formation of any sub-tour within nodes in
.
4.3. Alternative Objectives
In this work, we focus on minimizing the total energy consumption. Depending on the requirements, alternative objectives can be considered. For example, the travel distance can be a main concern in some cases. Then, the problem can be defined as minimizing the total distance traveled by all MDCs and satisfying the delay and energy constraints. That is,
Meanwhile, in some applications, mainly packet delay needs to be considered. In such a case, the objective can be minimizing the maximum tour time of the MDCs. Since data delivery relies on the physical movement of the MDCs, packet delay can be reduced by minimizing their tour time. Let
denote the maximum time from among the MDCs to finish one round journey. Thus, the problem can also be expressed as follows: minimize the maximum tour time of MDCs,
, while satisfying the delay and energy constraints. That is,
In this case, delay Constraint (
13) is replaced with Constraints (
20) and (
21). More specifically, Constraint (
20) ensures that the travel time and charging time of every MDC cannot exceed the maximum tour time,
. Constraint (
21) ensures that the maximum time an MDC needs to finish a one-round journey cannot exceed the given deadline,
D.