CHAPTER 4. ENHANCED POWER SAVING MECHANISM FOR NEXT GENERATION
5.5 Node Scheduling Problem and Algorithms
Given the optimal number of nodes to active η∗, we formulate an optimal node activation
scheduling problem to maximize the network lifetime by taking the residual energy of nodes into
account. In this chapter, the maximum network lifetime is achieved by maximizing the lifetime of
each cluster.
5.5.1 Optimal Node Scheduling: Problem Formulation
Nodes are partitioned into a set of groups G = {g1, g2, · · · }, and the proposed scheme activates
one group at a time. Here, we have |G| = G = bW/η∗c, where W = |W|. That is, the proposed
scheme activates the minimum number (η∗) of nodes to maximize the energy saving. The lifetime
of each group is determined by the node with the least amount of residual energy in the group.
That is, the lifetime of gb is proportional to min{φ(wa) : ∀wa∈ gb}, where φ(wa) is a function that
returns the residual energy of node wa. By maximizing the sum of minimum residual energy over
all groups, we can form an optimal node scheduling problem as below (called P.5.4).
max Z G X b=1 min{φ(wa) : ∀wa∈ gb} (5.4a) subject to: ∀b : W X a=1 zab = η∗ (5.4b) ∀a : G X b=1 zab ≤ 1 (5.4c) ∀a, b : zab ∈ {0, 1}, (5.4d)
where Z = [zab](a,b)∈{1,2,··· ,W }×{1,2,··· ,G} is a W -by-G membership indicator matrix with zab = 1 if
(Eq.5.4b), and each node wa belongs to at most one group (Eq. 5.4c). We, then, transform P.5.4
into an MILP formulation as shown below (called P.5.5).
max Z,Z,v G X b=1 vb (5.5a)
subject to: constraints in (5.4b), (5.4c), (5.4d)
∀a, b : vb ≤ φ(wa) × zab+ φmax× zab (5.5b)
∀a, b : zab+ zab= 1, (5.5c)
where Z = 1W ×G− Z (Eq. 5.5c) and φmax is the maximum battery capacity of a node. From
both Eq. 5.5a and Eq.5.5b, we have vb = min{min{φ(wa) : ∀wa ∈ gb}, φmax}. The new objective
function (Eq. 5.5a) is equivalent to the previous one (Eq. 5.4a) as long as each group has at least
one node, which is always guaranteed by Eq.5.4b. The optimal solutions Z∗ and v∗ ∈ RG indicate
which node belongs to which group and the set of the group-wise least residual energy, respectively.
The number of binary variables in P. 5.5 is W × G ≈ W2/η∗, which could make the problem
intractable as the number of nodes increases. However, by carefully studying P.5.5, we can reduce
the number of binary variables.
Let Φ = {φ[1], φ[2], φ[3], · · · , φ[W ]} be an ordered list of φ(wa) for a = 1, 2, · · · , W , such that
φ[k]< φ[k+1].2 Also, let g[k] be a group that the minimum residual energy among the nodes in the
group is the kth smallest among those values of all groups. For g[k], the set of residual energy of
the nodes in the group is denoted by Φ[k] = {φk[1], φk[2], · · · , φ[ηk∗]} such that φk[l] < φk[l+1]. For the
minimum residual energy, φk
[1], of groups g[k]for all k = 2, 3, · · · , G − 1, we have φ k−1
[1] < φk[1] < φ k+1
[1] .
Claim 1 (Optimal Node Partitioning):3 Given that Eq. 5.5a equals maxPG
b=1φb[1], we
claim that an optimal partitioning of φ values4 (or an optimal node partitioning) is: Φˆ[1] =
{φ[k+1], φ[k+2], · · · , φ[k+η∗]}, ˆΦ[2] = {φ[k+η∗+1], φ[k+η∗+2], · · · , φ[k+2η∗]}, · · · , ˆΦ[G] = {φ[k+(G−1)η∗+1],
φ[k+(G−1)η∗+2], · · · , φ[k+Gη∗]}, where k = W − η∗× bW
η∗c. The corresponding optimal ˆv vector is: 2We assume φ
[k]is real-valued. Thus, without loss of generality, we assume that φ[k]6= φ[k0] if k 6= k0.
3
The proof of Claim 1 is available in AppendixB.
[ ˆφ1[1](= φ[k+1]), ˆφ2[1](= φ[k+η∗+1]), · · · , ˆφG
[1](= φ[k+(G−1)η∗+1])]T. Also, ˆv is element-wise greater than
or equal to any other v = {φ1[1], φ2[1], · · · , φG[1]}, and thus, we have PG
b=1φˆb[1]≥
PG
b=1φb[1].
Given the optimal partitioning of nodes, we can make P. 5.5 more tractable by scheduling one
group at a time, thus reducing the number of binary variables. The modified problem P.5.6chooses
η∗ nodes to form a group ˆg[G], which is the set of nodes with residual energy being ˆΦ[G].
max z,z,v v (5.6a) subject to: W X a=1 za= η∗ (5.6b) ∀a : za ∈ {0, 1} (5.6c) ∀a : v ≤ φ(wa) × za+ φmax× za, (5.6d) ∀a : za+ za= 1, (5.6e)
where z ∈ {0, 1}W denotes the membership relation between each node and ˆg[G], z = 1W − z,
and v ∈ R is the minimum nodal residual energy in ˆg[G], i.e., ˆφG
[1] or φ[k+(G−1)η∗+1]. In P. 5.6, the
number of binary variables is W , which is much smaller than W2/η∗ for a large W and a small η∗.
To summarize, we have formulated an optimal node scheduling problem P. 5.4which partitions
all nodes in a cluster into G groups. The problem is then converted to an MILP formulation which
is P. 5.5. Finally, based on the analytical solution to P.5.5given by Claim 1, we have formulated
an optimal node scheduling problem P. 5.6 which chooses only η∗ number of nodes to activate to
reduce the complexity of the combinatorial optimization problem.
5.5.2 Optimal and Greedy Node Scheduling Algorithms
Given the optimal node scheduling for ˆg[G]from P.5.6, we can derive an Optimal Node Schedul-
ing (ONS) algorithm which runs as follows. [Step 1] ONS runs P.5.6to choose η∗ number of nodes
to activate. [Step 2] When any of the active nodes does not have enough residual energy to operate,
remove/deactivate the node, and go back to [Step 1]. Please note that P.5.6is still an MILP. When
Algorithm 6 Optimal/Greedy Node Scheduling
1: if |W| < η∗ then
2: Terminate // infeasible, not enough nodes
3: end if
4: g ← {} // initialize to an empty set
5: if ONS is chosen then 6: z∗← Solve P.5.6
7: g ← g ∪ {wa}, ∀a such that z∗a= 1
8: else if GNS is chosen then 9: while |g| < η∗ do
10: a∗ ← argamax{φ(wa) : ∀a ∈ idx(W − g)}
11: g ← g ∪ {wa∗}
12: end while 13: end if
14: while |g| = η∗ do 15: Activate nodes in g
16: if ∃wa∈ g such that φ(wa) < φthr then
17: g ← g − {wa}, W ← W − {wa}
18: end if 19: end while 20: Go to line:1
negligible amount of time, but it is not always the case if the number of nodes in a cluster is large
or the processing power of the FC is limited.
To further reduce the complexity, we propose a Greedy Node Scheduling (GNS) algorithm that
produces the same node selection as ONS but with a much lower complexity of O(η∗W ). Given
that an optimal node selection for ˆg[G] is equivalent to finding nodes with residual energy of ˆΦ[G]
= {φ[k+(G−1)η∗+1], φ[k+(G−1)η∗+2], · · · , φ[k+Gη∗]}, this can be done by choosing η∗ nodes with the
highest residual energy. Please note that φ[k+(G−1)η∗+1], φ[k+(G−1)η∗+2], · · · , φ[k+Gη∗]correspond to
(η∗)th, (η∗− 1)st, · · · , 1sthighest nodal residual energy, respectively, in a cluster. GNS has the same
two-step algorithm as ONS except in [Step 1], instead of solving P. 5.6, GNS iteratively selects a
node with the nth highest nodal residual energy where n = 1, 2, · · · , η∗ to activate. The algorithm
Algo.6first checks if the number of nodes in the cluster is at least η∗(line 1); if not, it terminates
(line 2). Then, the set g is initialized to an empty set (line 4). For ONS, g is determined by the
solution to P. 5.6 (lines 5–7). On the other hand, GNS chooses nodes to activate by iteratively
searching for a node with the highest residual energy (lines 8–12). At line 10, the idx(·) function
returns the index set; e.g., idx({w1, w2, w7}) = {1, 2, 7}. When g is determined, all nodes in the
group become activated (line 15), while the others stay in the sleep mode to minimize the energy
consumption. The φthr (lines 16) is the battery threshold such that if the residual energy of a node
drops below the threshold, the node can no longer function properly. Any battery-drained nodes
will be removed from both g and W (line 17), and the algorithm starts over (line 20) from the
beginning.