• No results found

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.