Towards Low-Cost Yet High-Performance Sensor Networks by Deploying a Few Ultra-fast Charging Battery Powered Sensors

The employment of mobile vehicles to charge sensors via wireless energy transfer is a promising technology to maintain the perpetual operation of wireless sensor networks (WSNs). Most existing studies assumed that sensors are powered with off-the-shelf batteries, e.g., Lithium batteries, which are cheap, but it takes some non-trivial time to fully charge such a battery (e.g., 30–80 min). The long charging time may incur long sensor dead durations, especially when there are many lifetime-critical sensors to be charged. On the other hand, other studies assumed that every sensor is powered with an ultra-fast charging battery, where it only takes some trivial time to replenish such a battery, e.g., 1 min, but the adoption of many ultra-fast sensors will bring about high purchasing cost. In this paper, we propose a novel heterogeneous sensor network model, in which there are only a few ultra-fast sensors and many low-cost off-the-shelf sensors. The deployment cost of the network in the model is low, as the number of ultra-fast sensors is limited. We also have an important observation that we can significantly shorten sensor dead durations by enabling the ultra-fast sensors to relay more data for lifetime-critical off-the-shelf sensors. We then propose a joint charging scheduling and routing allocation algorithm, such that the longest sensor dead duration is minimized. We finally evaluate the performance of the proposed algorithm through extensive simulation experiments. Experimental results show that the proposed algorithm is very promising and the longest sensor dead duration by it is only about 10% of those by existing algorithms.


Introduction
Wireless sensor networks are widely used in many Internet of Things (IoTs) applications, including video monitoring, traffic control, structural health monitoring, radiation detection, forest fire and volcanor monitoing, etc. [1][2][3][4][5]. The energy consumption of sensors on data transmission however is very high. Although many techniques have been proposed to save sensor energy, such as dynamic duty cycle [6][7][8], sensors will run out of their energy eventually.
Many researchers proposed to prolong sensor lifetimes by enabling them to harvest energy from their surrounding environments, such as solar energy, wind energy, etc. [9,10]. However, the energy harvesting rates of sensors are low and unstable, due to their dynamic surrounding environments. For example, it is reported that the energy generating rates in sunny, cloudy and shadowy days can vary by up to three orders of magnitude in a solar harvesting system [11]. Such unpredictability and intermittency pose challenges in the efficient usage of harvested energy for various monitoring or surveillance tasks [12]. Recently, some pioneering researchers [13][14][15][16] proposed a revolutionary way to replenish sensor energy, that is, employing a mobile vehicle equipped with a charging device to move in the vicinity of a lifetime-critical sensor, and charge it via wireless energy transfer [14]. By doing so, the charging rate is high and stable.
A lot of attention has been paid to the vehicle charging scheduling for wireless sensor networks. Most of these studies assumed that sensors are powered with off-the-shelf batteries [15,[17][18][19][20][21][22][23][24][25], such as Lithium batteries, we here abbreviate an off-the-shelf battery powered sensors by an off-the-shelf sensor. The price of such a battery is only about a few dollars [26]; however, it usually takes some non-trivial time to fully charge one, e.g., 30-80 min [26]. Therefore, these studies mainly focused on shortening sensor dead durations due to the long charging time of off-the-shelf sensors.
Although excellent studies have been conducted for shorten sensor dead durations, some sensors still expire their energy for some durations, as the charging time of a sensor is non-trivial (e.g., 30-80 min). For example, in Figure 1a, assume that there are four off-the-shelf sensors v 1 , v 2 , v 3 and v 4 in a sensor network and three of them, i.e., v 1 , v 2 , v 3 , will run out of their energy soon. Assume that the residual lifetime l i of each lifetime-critical sensor v i is 40 min, i.e., l 1 = l 2 = l 3 = 40 min, and it takes an hour to fully charge each of them and their charging sequence is v 1 → v 2 → v 3 . For the sake of convenience, we ignore the traveling time of the charging vehicle, as it is usually much shorter than the sensor charging time [27]. It can be seen that the dead durations of sensors v 1 , v 2 , v 3 are 0, 60 − 40 = 20 min, and 2 × 60 − 40 = 80 min, respectively.
On the other hand, other researchers [12,[27][28][29][30] assumed that every sensor is powered with an ultra-fast charging battery, and it only takes a trivial time to fully charge such a battery, e.g., within 1 min [27,28], we here abbreviate an ultra-fast charging battery powered sensor by an ultra-fast sensor. Therefore, they usually ignored the sensor charging time when scheduling charging vehicles.
It is obvious that the adoption of ultra-fast sensors can significantly shorten sensor dead durations or even avoid their energy expirations. For example, in Figure 1a, if every sensor is powered with an ultra-fast charging battery, the energy expirations of sensors v 1 , v 2 , v 3 can be avoided, as the residual lifetime of each of these sensors is 40 min and it takes a very short time to charge such a sensor, e.g., 1 min.
It can be seen that, although the adoption of off-the-shelf sensors is cheap, but the dead durations of sensors may be long due to the long charging time of the sensors. Contrarily, the adoption of many ultra-fast sensors can significantly shorten sensor dead durations, but the adoption will incur a high purchasing cost. For example, the price of an ultra-fast charging battery is usually about 30-40 dollars, which is about ten times the cost of an off-the-shelf battery, e.g., a Lithium battery with the same capacity costs only 2-3 dollars [27,31]. Therefore, it is unrealistic to adopt many ultra-fast sensors in a wireless sensor network.
In this paper, we propose a novel heterogeneous sensor network model, in which there are only a few ultra-fast sensors and many low-cost off-the-shelf sensors in a sensor network. The ultra-fast sensors are deployed at some strategic locations near to the base station, as the sensors close to the base station need to relay a large amount of data from other remote sensors.
We here illustrate a heterogeneous sensor network. In Figure 1b, we only deploy one ultra-fast sensor v 1 , instead of three. We now consider the charging order v 1 → v 2 → v 3 again in Figure 1b, where the residual lifetimes of the three lifetime-critical sensors v 1 , v 2 , v 3 are 40 min, and it takes 1 min to charge the ultra-fast sensor v 1 and an hour to fully charge either off-the-shelf sensor v 2 or v 3 . Then, the dead durations of v 1 , v 2 , v 3 are reduced to 0, 0, and 60 + 1 − 40 =21 min, which are shorter than the sensor dead durations with only off-the-shelf sensors in Figure 1a, i.e., 0, 20 min, and 80 min.
We, however, observe that we can further reduce sensor dead durations by jointly considering charging scheduling and routing allocation in the heterogeneous sensor network. We can enable ultra-fast sensors to relay more data than off-the-shelf sensors, since the former can be quickly charged. For example, sensor v 2 can forward its data to the ultra-fast sensor v 1 , rather than v 3 (see Figure 1c). Then, the residual lifetime l 1 of v 1 is shortened from 40 min to, e.g., 20 min, while the residual lifetime l 3 of v 3 is prolonged from 40 min to, e.g., 80 min. In addition, the residual lifetime l 2 of sensor v 2 remains 40 min, as its routing load does not change. If we still charge the three lifetime-critical sensors in the order of v 1 → v 2 → v 3 , none of them runs out of their energy before their energy replenishments, as their start charging time points are 0, 1st, and 61th min, respectively, while their residual lifetimes are 20, 40, and 80 min, respectively. In this paper, we propose a novel heterogeneous network model, where a sensor network consists of only a few ultra-fast sensors and many low-cost off-the-shelf sensors. Then, the cost of deploying such a sensor network is low, due to the limited number of deployed ultra-fast sensors. On the other hand, we can significantly shorten sensor dead durations by not only scheduling the charging vehicle but also allocating routing among sensors smartly.
The main contributions in this paper are highlighted as follows: • Unlike existing studies that either assumed that all sensors are powered with low-cost off-the-shelf batteries, or assumed that every sensor is equipped with a high-cost ultra-fast charging battery, in this paper, we propose a novel heterogeneous sensor network model, where a sensor network consists of a few ultra-fast sensors and many low-cost off-the-shelf sensors. The deployment cost of such a network then is very low. • Under this novel network model, we study a fundamental problem of joint charging scheduling and routing allocation, such that the longest sensor dead duration is minimized. We also propose an efficient algorithm for this problem. • We finally evaluate the performance of the proposed algorithm through extensive simulation experiments. The experimental results show that the proposed algorithm is very promising, and the longest sensor dead duration by it is only 10% of those by existing algorithms.
The rest of this paper is organized as follows: Section 2 defines the network model, charging model and the problem, Section 3 presents the algorithm for the problem, Section 4 analyzes the proposed algorithm, Section 5 evaluates the performance of the proposed algorithm through extensive simulation experiments, Section 6 introduces the related work. Finally, Section 7 concludes this paper.

Preliminaries
In this section, we first introduce a novel heterogeneous network model and then present the charging model. We finally define the problem.

A Novel Heterogeneous Network Model
We consider a wireless sensor network G s = (V s ∪ {b}, E s ), which is deployed in a two-dimensional area, where V s is a set of n s sensors in the network, and b is a base station for collecting data from all sensors.
We assume that there are two types of sensors in the network. The first type of sensors are powered by off-the-shelf batteries, e.g., Lithium battery, and it usually takes a while to fully charge such a sensor, e.g., 30-80 min [26]. The other type of sensors are powered by ultra-fast charging batteries, and it takes only a very short time to fully charge such one, e.g., 1 min [27]. Assume that there are n N off-the-shelf sensors v 1 , v 2 , ..., v n N and n F ultra-fast sensors u 1 , u 2 , ..., u n F . Let V N = {v 1 , v 2 , ..., v n N } and V F = {u 1 , u 2 , ..., u n F }. Then, V s = V N ∪ V F . Notice that the number n F of ultra-fast sensors usually is very small, e.g., n F = 5, as the cost of each ultra-fast charging battery is not cheap. Denote by c N and c F the energy capacities of a sensor in V N and V F , respectively.
We now consider the placement of sensors. We assume that the off-the-shelf sensors are randomly deployed. On the other hand, since the communication range of a sensor is limited, sensors close to the base station have to relay sensing data from other remote sensors. Therefore, the former sensors consume more their energy on relaying data than the latter ones. We thus assume that the ultra-fast sensors are deployed at some strategic locations near to the base station, as they can be quickly charged. For example, the ultra-fast sensor can be co-located with the most energy-consuming off-the-shelf sensors.
We assume that there is an edge (v i , v j ) in E s for any two nodes v i and v j in V s ∪ {b} if they are within the transmission range of each other. Denote by N(v i ) the set of neighbor nodes of each node Assume that each sensor v i generates data at a rate of r i , and the generated data will be relayed to the base station via a given routing path, e.g., the delay-aware routing [32,33]. Each sensor can monitor its residual energy level and estimate its energy consumption rate. Denote by e i (e i ≥ 0) the amount of residual energy of sensor v i at time t. On the other hand, following [34], the energy consumption rate of sensor v i at time t is µ r are the energy consumptions for data sensing, data transmission and data reception per unit data, respectively, f ij and f ji are the data transmission rates from sensors v i to v j , and from v j to v i , at time t, respectively, µ t ij = β 1 + β 2 w α i,j , β 1 is the distance-independence constant term, β 2 is a coefficient of the distance-independence term, w i,j is the distance between sensor v i and sensor v j , and α is the path-loss index. Then, the residual lifetime l i of sensor v i at time t is l i = e i ρ i .

Charging Model
As the energy stored in every sensor battery is limited, it will run out of its energy due to data sensing, data transmission and data reception. To provide controllable and perpetual energy to sensors, we employ a charging vehicle equipped with a recharging device to replenish sensor energy. Denote by η N and η F the charging rates of the vehicle for charging an off-the-shelf sensor and an ultra-fast sensor, respectively. We assume that the vehicle can move at a speed of s m/s. The energy consumptions of different sensors vary significantly, i.e., some sensors may have little energy left while the others consume only a small fraction of their energy. Then, it is unnecessary for the vehicle to charge all sensors in each round, and sensors should be charged in an on-demand manner. To this end, each sensor v i sends a charging request to the base station once its residual lifetime l i falls below a given lifetime threshold l c at some time t 0 , e.g., l c = 2 h. After receiving the charging request, the base station starts a new charging round by dispatching the vehicle to charge lifetime-critical sensors.
Let V be the set of to-be-charged sensors in the current charging round. There are two types of sensors in set V, the lifetime-critical off-the-shelf sensors in V c and the ultra-fast sensors in V F , i.e., V = V c ∪ V F , where an off-the-shelf sensor v i is contained in V c if its residual lifetime l i at time t 0 is no longer than λl c , i.e., V c = {v i |v i ∈ V N , l i ≤ λl c }, λ is a given constant with λ ≥ 1, and l c is the lifetime-critical threshold. Notice that every ultra-fast sensor in V F is contained in the set of to-be-charged sensors V, as they are deployed at strategic locations where data traffics are extremely heavy. Moreover, it only takes a very short time to fully charge an ultra-fast sensor, and the number of ultra-fast sensors n F usually is small, e.g., n F = 5.
The base station will find a closed charging tour C of the charging vehicle for the sensors in V and allocate routing for the network G s . Let Then, the charging vehicle is dispatched to fully charge the sensors in V along tour C one by one (see Figure 2). Once all sensors in V is fully charged, the vehicle will return to the base station and recharge itself for the next charging round. Denote by T the duration that the vehicle spends for charging sensors along tour C, i.e, T =

Problem Definition
Many applications of sensor networks are sensitive to the data collection delay, and they usually require a continuous data collection, such as the sensor networks for video monitoring, radiation detection and forest fire detection [1,35,36]. For example, in a sensor network for radiation detection, once the energy depletion of a sensor lasts for a few hours, a radiation release cannot be detected in real time and the radiation may quickly spread to the degree of out of control and thus lead to a disaster. Therefore, we must shorten the dead durations of sensors as much as possible, due to their energy depletions. The objective of this paper is thus to find a charging tour C of the vehicle for charging sensors in V and allocate routing for each link (v i , v j ) in network G s , such that the longest dead duration of sensors in V is minimized. Let t i be the start charging time of sensor v i in V when the vehicle starts to charge sensor v i in tour C; the dead duration of sensor v i then is Given a heterogeneous sensor network G s , a charging vehicle, and a set V of to-be-charged sensors at some time t 0 , the dead duration minimization problem is to find a charging tour C of the vehicle for charging sensors in V, and allocate the routing f ij for each link (v i , v j ) in period [t 0 , t 0 + T], such that the longest dead duration of sensors in V is minimized, i.e., subject to the following constraints, i.e., Constraint (2) shows the flow reservation of each sensor v i . Constraint (3) indicates that the generated data from all sensors in V s must be sent back to the base station. Constraints (4) and (5) calculate the energy consumption rate and the residual lifetime of each sensor v i at time t 0 , respectively. Constraints (6) and (7) define the dead duration d i and the start charging time t i of sensor v i in the tour, and t 1 = t 0 + w b,1 s .

Algorithm for the Dead Duration Minimization Problem
In this section, we devise a joint charging scheduling and routing allocation algorithm for the dead duration minimization problem. We first present the framework of the algorithm, which invokes two algorithms for two subproblems of the original problem. We then detail the two algorithms.

Algorithm Framework
Recall that the dead duration minimization problem is to allocate the routing f ij for each link (v i , v j ) in period [t 0 , t 0 + T], and find a charging tour C for the charging vehicle to replenish sensors in V, such that the longest dead duration of sensors is minimized. It can be seen that the allocation of routing f ij and the scheduling of charging tour C are tightly coupled. On one hand, the residual lifetime of each sensor is highly related to the routing f ij , where a sensor consumes its energy quickly if it relays a large amount of data from other sensors. To minimize the longest sensor dead duration, the vehicle should charge the sensors with short residual lifetimes first. On the other hand, once the charging tour C is delivered, the start charging time that each sensor will be charged by the vehicle can be derived, by following Constraint (7). The routing f ij should be carefully allocated, such that the dead duration of each sensor before its start charging time is minimized. In this paper, we tackle the challenging dead duration minimization problem by considering its two subproblems. In the first subproblem, assume that the routing f ij is given, and the subproblem is to find a charging tour C, such that the longest dead duration of sensors in V is minimized, and this subproblem is referred to as the charging scheduling subproblem. In the second subproblem, we assume the charging tour C is given, and the subproblem is to allocate the routing f ij for each link (v i , v j ), so that we can deliver the minimum longest sensor dead duration, and this problem is referred to as the routing allocation subproblem. We will propose two algorithms for the two subproblems in two later subsections, respectively. Having the two algorithms, we devise a joint charging scheduling and routing allocation algorithm as follows.
The algorithm iteratively finds the routing and charging tour. Denote by f K−1 ij and f K ij the routings allocated before and after the Kth iteration, respectively. Similarly, denote by C K−1 and C K the charging tours delivered before and after the Kth iteration, respectively, where K = 1, 2, . . .. Initially, we obtain f 0 ij by assuming that each sensor uploads its data along its minimum energy path to the base station.
Within each iteration K, the algorithm consists of two steps. In the first step, with the given routing , it finds a charging tour C K , by utilizing the algorithm for the charging scheduling subproblem.
In the second step, having the charging tour C K , it obtains a routing f K ij by invoking the algorithm for the routing allocation subproblem. If the new solution , C K−1 )), we continue to the next iteration, until the difference of the objective values of the two solutions is no greater than a small threshold with > 0, e.g., = 1 min, or the number of the performed iterations achieves a given maximum iteration number K max , e.g., K max = 100.
The algorithm for the dead duration minimization problem is presented in Algorithm 1.

Algorithm 1 Joint charging scheduling and routing allocation algorithm (CSRA).
Input: a set V s , a set V of to-be-charged sensors, the residual energy e i of each sensor v i in V s at some time t 0 , a small threshold with > 0. Output: routing f ij , charging tour C.
1: Obtain a routing f 0 ij by assuming that each sensor uploads its data along its minimum energy path to the base station; 2: for K ← 1 to K max do 3: Find a charging tour C K with the routing f K−1 ij , by invoking Algorithm 2 for the charging scheduling subproblem; 4: Obtain a routing f K ij with the charging tour C K , by invoking Algorithm 3 for the routing allocation subproblem; 5: Let D K−1 and D K be the longest sensor dead durations of solutions ( f K−1 ij , C K−1 ) and ( f K ij , C K ), respectively; 6: if D K > D K−1 then 7: else 10: 12: if D K−1 − D K ≤ then 13: /* the difference of the longest sensor dead durations D K and D K−1 of solutions ( f K ij , C K ) and ( f K−1 ij , C K−1 ) is smaller than */ 14: break; 15: end if 16: end for 17: return charging tour C, and routing f ij .

Algorithm for the Charging Scheduling Subproblem
Given a set V(= V F ∪ V c ) of to-be-charged sensors at some time t 0 , and the routing f K−1 ij for each The charging scheduling subproblem is to find a charging tour C K , such that the longest dead duration of sensors in V is minimized, i.e., subject to constraints (2), (3), (4), (5), (6), and (7).
Assume that the charging time of each lifetime-critical off-the-shelf sensor in V c is a constant δ [37], e.g., δ = 1 h, since its residual energy is very low, where δ ≈ c N η N , c N is the energy capacity of the sensor, and η N is the off-the-shelf sensor charging rate. We further assume that the traveling time among two consecutive visited sensors can be considered as a small constant τ, e.g., τ = 1 min, as the vehicle traveling time usually is much shorter than the charging time δ of a lifetime-critical off-the-shelf sensor in V c , e.g., 1 min vs. 1 h [23]. Let ∆ = δ + τ.
Since it takes only a very short time to fully charge ultra-fast sensors in V F and these sensors have heavy data relay loads, the vehicle should charge sensors in V F before the lifetime-critical off-the-shelf sensors in V c . Thus, the charging tour C K consists of a sub-tour C K F for charging ultra-fast sensors in V F and a sub-tour C K N for replenishing lifetime-critical off-the-shelf sensors in V c , i.e., We obtain sub-tour C K F by a brute-force search, by enumerating all charging sequences. Notice that the number n F of ultra-fast sensors in V F usually is very small, and the brute-force search then will not take a long time. On the other hand, we derive the sub-tour C K N for lifetime-critical off-the-shelf sensors in V c in non-decreasing order of their residual lifetimes, i.e, C K N = v 1 → v 2 → · · · → v n , where l 1 ≤ l 2 ≤ · · · ≤ l n , l i is the residual lifetime of sensor v i and n = |V c |.
The algorithm for the charging scheduling subproblem is presented in Algorithm 2. We later will showthat Algorithm 2 delivers an optimal solution to the charging scheduling subproblem (see Section 4.1).

Algorithm 2 Algorithm for the charging scheduling subproblem.
Input: a set V of to-be-charged sensors, routing f K−1 ij , the residual energy e i of each sensor v i . Output: charging tour C K .
1: Calculate the residual lifetime l K q of each sensor v q in V; 2: Find a charging sub-tour C K F of ultra-fast sensors in V F by a brute-force search, such that the longest dead duration of sensors in V F is minimized; 3: Sort sensors in V c by their residual lifetimes in non-decreasing order, i.e., l K 1 ≤ l K 2 ≤ · · · ≤ l K n , where l K j is the residual lifetime of sensor v j in V c , and n = |V c |; 4: Find a charging sub-tour C K N of sensors in V c by charging them in the order of v 1 , v 2 , . . ., v n , i.e.,

Algorithm for the Routing Allocation Subproblem
Given a sensor network G s , a set V of to-be-charged sensors, and the charging tour C K of sensors in V, the routing allocation subproblem is to find the routing f K ij for each link (v i , v j ) in period [t 0 , t 0 + T], such that the longest dead duration of sensors in V is minimized, i.e., subject to constraints (2), (3), (4), (7), and constraint where D K is the longest dead duration of sensors in V, t K i , e i and ρ K i are the start charging time, residual energy and energy consumption rate of sensor v i , respectively. Notice that only flow rates f K ij s are variables.
To obtain the optimal flow rates, we rewrite constraint (9) as: which is equivalent to Then, subproblem P 2 is equivalent to subject to constraints (2), (3), (4), (7), and We note that the objective function in problem P 3 is a linear function, and constraints (2), (3), (4), and (7) are also linear functions. However, constraint (12) is not a linear function, where t K i , and e i are constants, while ρ K i and D K are variables. To solve problem P 3 , we reduce it to a series of linear programming (LP) problems. Denote by D K opt the minimum longest dead duration of sensors in V. The basic idea behind is to guess the optimal value D K opt . Given a guess D K g of D K opt , we consider the following LP: subject to constraints (2), (3), (4), (7), and Notice that constraint (13) is a linear function, as D K g is a given constant. When D K g < D K opt , we will show that there are no feasible solutions to LP P 4 (see Section 4.2). Otherwise (D K g ≥ D K opt ), we will prove that there is a feasible solution to LP P 4 . Then, we can find the minimum longest sensor dead duration D K opt through a binary search in interval [0, T]. The algorithm for the routing allocation subproblem is given in Algorithm 3.

Algorithm 3 Algorithm for the routing allocation subproblem.
Input: a set V s of sensors, a set V of to-be-charged sensors, the residual energy e i of each sensor v i in V s at some time t 0 , the charging tour C K . Output: routing f K ij . 1: Calculate the start charging time t i of each sensor v i in V by Constraint (7); 2: Let D l = 0 and D u = T; /* D l and D u are the lower and upper bounds on the optimal value D K opt , respectively */ 3: while D l < D u do 4: Let D K g = D l +D u 2 ; /* a guess of D K opt */ 5: if there are no feasible solutions f K ij to LP P 4 then 6: /* the guess D K g is smaller than D K opt , i.e., D K g < D K opt */ 7: Let D l = D K g + 1; 8: else 9: /* the guess D K g is no less than D K opt , i.e., D K g ≥ D K opt */ 10: Let D u = D K g ; 11: end if 12: end while 13: Let D K opt = D u (= D l ); 14: Find a feasible solution f K ij to LP P 4 with D K opt ; 15: return routing f K ij .

Algorithm Analysis
In this section, we analyze the proposed algorithms for the charging scheduling subproblem and routing allocation subproblem in Sections 4.1 and 4.2, respectively.

Algorithm Analysis for the Charging Scheduling Subproblem
Recall that the objective of the charging scheduling subproblem is to find a charging tour C K for sensors in V, such that the longest dead duration of sensors in V is minimized, given routing f K−1 ij , where tour C K consists of a sub-tour C K F for charging ultra-fast sensors in V F and a sub-tour C K N for replenishing lifetime-critical off-the-shelf sensors in V c , sub-tour C K F is obtained by a brute-force search, sub-tour C K N is delivered by charging sensors in V c in non-decreasing order of their residual lifetimes, i.e., C K N = v 1 → v 2 → · · · → v n , l 1 ≤ l 2 ≤ · · · ≤ l n , and n = |V c |. In the following, we show that the sub-tour C K N delivered by Algorithm 2 is an optimal solution to the charging scheduling subproblem, i.e., the longest dead duration of sensors in V c is minimized, if they are charged in non-decreasing order of their residual lifetimes, see Theorem 1.

Theorem 1.
Given a set V of to-be-charged sensors, Algorithm 2 delivers an optimal solution to the charging scheduling subproblem.
Proof of Theorem 1. For the sake of convenience, assume that l 1 ≤ l 2 ≤ · · · ≤ l n , where l i is the residual lifetime of a sensor v i ∈ V c and n = |V c |. Denote by T F the time that the charging vehicle spends in the sub-tour C K F . Then, the dead duration of v i in sub-tour C K N is d i = max{T F + (i − 1)∆ − l i , 0}, where ∆ = δ + τ, δ is the charging time of each lifetime-critical off-the-shelf sensor and τ is the traveling time among two consecutive visited sensors. Let D(C K N ) be the longest sensor dead duration in sub-tour C K N , i.e., D(C K N ) = max v i ∈V c {d i }. Denote by d * i the dead duration of sensor v i in an optimal solution, and denote by OPT K the longest sensor dead duration in the optimal solution. Then, OPT K = max 1≤i≤n {d * i }. In the following, we show that sub-tour C K N is an optimal solution by an induction on the number of sensors n in V c .
(i) Consider n = 1, it is obvious that Algorithm 2 delivers an optimal solution .
(ii) We assume that Algorithm 2 can deliver an optimal solution C * j , when there are n = j sensors with j ≥ 2.
(iii) Consider that there are n = j + 1 sensors. Let C K N = v 1 → v 2 → · · · → v j → v j+1 be the sub-tour delivered by Algorithm 2, where l 1 ≤ l 2 ≤ · · · ≤ l j ≤ l j+1 . We distinguish our discussion into two cases: case (1) sensor v j+1 is charged at the last in the optimal solution; and case (2) sensor v j+1 is not charged at the last in the optimal solution.
We first consider case (1) sensor v j+1 is charged at the last in the optimal solution. We show that the longest sensor dead duration OPT K j+1 in an optimal solution is no shorter than that in the solution delivered by Algorithm 2, since as v j+1 is charged at the last in the optimal solution, = max{ max 1≤i≤j {d i }, d j+1 }, by the assumption that Algorithm 2 delivers an optimal solution when there are j sensors, = D(C K N ), by the definition of C K N . Therefore, C K N is also an optimal solution. We then consider case (2) sensor v j+1 is charged at the pth order in the optimal solution C * j+1 with p = j + 1, while another sensor v q is charged at the (j + 1)th order, i.e., C * j+1 = v * 1 → v * 2 → · · · → v j+1 → · · · → v q . We obtain another charging sub-tour C j+1 from C * j+1 by swapping only the charging orders of sensors v q and v j+1 , i.e., C j+1 = v * 1 → v * 2 → · · · → v q → · · · → v j+1 . We will prove that the longest sensor dead duration in C j+1 is no longer than OPT K j+1 , i.e., D(C j+1 ) ≤ OPT K j+1 . On one hand, since the charging order of each sensor v i in set V c \ {v q , v g+1 } in tour C j+1 is the same as that in the optimal solution C * j+1 . Note that d q = max{T F + (p − 1)∆ − l q , 0}, d j+1 = max{T F + j∆ − l j+1 , 0}. On the other hand, following the definition of the optimal value OPT K j+1 , we know that where d * q = max{T F + j∆ − l q , 0}, and d * j+1 = max{T F + (p − 1)∆ − l j+1 , 0}. It can be seen that and Then, by combining Equations (16) and (17), we have that Therefore, we have D(C j+1 ) ≤ OPT j+1 . Then, C j+1 is also an optimal solution, where sensor v j+1 is charged at the last. The rest is to reduce to case (1), omitted.
We finally analyze the time complexity of Algorithm 2. We first obtain a sub-tour C K F for the ultra-fast sensors in V F with a brute-force search, which takes time O(n F × n F !), where n F = |V F |. We then find a sub-tour C K N for the off-the-shelf sensors, by charging them in non-decreasing order of their residual lifetimes, which takes O(n log n) time. Therefore, the time complexity of Algorithm 2 is O(n F × n F ! + n log n), where n = |V c |. It must be mentioned that the number of ultra-fast sensors in a sensor network usually is very small, e.g., n F = 5. Therefore, the time complexity of Algorithm 2 is only O(n log n). The theorem then follows.

Algorithm Analysis for the Routing Allocation Subproblem
In this subsection, we show that Algorithm 3 delivers an optimal solution to the routing allocation subproblem by Theorem 2. Theorem 2. Algorithm 3 delivers an optimal solution to the routing allocation subproblem.
Proof of Theorem 2. In Section 3.3, we have shown that the routing allocation subproblem P 2 is equivalent to subproblem P 3 . In the following, we show that (i) there are no feasible solutions to the Linear Programming (LP) P 4 when D K g < D K opt ; and (ii) that there is a feasible solution f K ij to LP P 4 if D K g ≥ D K opt . Then, the optimal value D K opt can be found through a binary search in interval [0, T]. We first show (i) there are no feasible solutions to LP P 4 if D K g < D K opt . Assume that there is a feasible solution f K ij to LP P 4 when D K g < D K opt . Notice that f K ij is also a feasible solution to subproblem P 3 and the longest sensor dead duration is D K g . However, this contradicts the assumption that D K opt is the minimum longest sensor dead duration. Then, the assumption that there is a feasible solution f K ij to LP P 4 is incorrect when D K g < D K opt . On the other hand, we prove (ii) there is a feasible solution f K ij to LP P 4 if D K g ≥ D K opt . Let f * K ij be an optimal solution to LP P 3 , and ρ * K i be the energy consumption rate of sensor v i with routing f * K ij . We have opt . The theorem then follows.

Performance Evaluation
In this section, we evaluate the performance of the proposed algorithm CSRA through extensive simulations. We will also study the impact of important parameters on the algorithm performance, including the network size, the maximum data sensing rate, the off-the-shelf sensor charging rate, the vehicle traveling speed, and the number of ultra-fast sensors.

Simulation Environment
We consider a wireless sensor network deployed in a 500 m × 500 m two-dimensional square area, and a base station is located at the center of the square. There are 100 to 500 off-the-shelf sensors randomly deployed in the area, and a small number n F of ultra-fast sensors are co-located with the most energy-consuming off-the-shelf sensors, e.g., n F = 5. Both the capacities of an off-the-shelf battery and an ultra-fast charging battery are 10.8 kJ. A charging vehicle is initially located at the base station, and its moving speed is s = 5 m/s. The charging rates η N and η F of the vehicle for charging an off-the-shelf sensor and an ultra-fast sensor are 5 W and 300 W, respectively. Then, the durations for charging an off-the-shelf sensor and an ultra-fast sensor to their full energy capacities are 36 min (= 10.8 kJ 5 W ) and 36 s (= 10.8 kJ 300 W ), respectively. The data sensing rate r i of each sensor v i is randomly selected from an interval [r min , r max ], where r min = 1 kbps and r max = 10 kbps. A well-known energy consumption model of sensors is adopted from [34]. The simulator was implemented in language C++ and all simulations were operated on a Dell server with an Intel(R) Core(TM) i7 CPU (2.5 GHz) and a 16 GB RAM (ChengDu, China). In our simulation experiments, the monitoring period of the sensor network is one year. To evaluate the performance of the proposed algorithm CSRA, we also consider five existing algorithms. Specifically, algorithm TSP (traveling salesman problem) finds a charging tour such that the vehicle traveling distance in the tour is minimized, while ignoring the sensor residual lifetimes [16]. Algorithm EDF (earliest deadline first) charges sensors in non-decreasing order of sensor residual lifetimes. Algorithm AA (Adaptive Algorithm) schedules the vehicle to charge some sensors before their energy depletions, such that the difference of the energy replenished to sensors and the energy consumed on vehicle traveling is maximized [25]. Algorithm NETWRAP (an NDN based real time wireless recharging protocol) chooses to-be-charged sensors by considering both the vehicle traveling time and the sensor residual lifetimes [26]. Finally, algorithm TSCA (temporal spatial real-time charging scheduling algorithm) first obtains a charging tour in non-decreasing order of sensor residual lifetimes, and then adjusts the sensor charging sequence, so that the number of dead sensors is minimized and the energy efficiency of the vehicle is maximized [18]. We will apply each of the mentioned algorithms in 20 different network topologies with the same network size and then obtain average values.

The Convergence of Algorithm CSRA
We first study the convergence of the proposed algorithm CSRA (joint Charging Scheduling and Routing Allocation algorithm), by increasing the number of iterations K max from 1 to 10. Figure 3 shows that the longest and average sensor dead durations by Algorithm CSRA decrease very quickly with the increase of the number of iterations K max and the performance of Algorithm CSRA almost does not change when K max ≥ 5.

Algorithm Performance
In the following, we study the impact of the network size, the maximum data sensing rate, the off-the-shelf sensor charging rate, the vehicle traveling speed, and the number of ultra-fast sensors.
We first evaluate the performance of the proposed algorithm CSRA against existing algorithms TSP, NETWRAP, AA, TSCA, by varying the number n N of off-the-shelf sensors from 100 to 500, while the number n F of ultra-fast sensors is 5. Figure 4a shows that the longest sensor dead duration by each algorithm becomes longer with the increase of the network size, as more sensors need to be charged and their waiting times before their chargings are prolonged. Figure 4a also demonstrates that the longest sensor dead durations delivered by the proposed algorithm CSRA are much shorter than those by the existing five algorithms. For example, the longest sensor dead duration by algorithm CSRA is only about 4.3%(≈ 110 2575 ), 11.3%(≈ 110 973 ), 10.9%(≈ 110 1007 ), 10.1%(≈ 110 1083 ), and 8.8%(≈ 110 1246 ) of those by algorithms TSP, EDF, NETWRAP, AA, TSCA, respectively, when there are 500 off-the-shelf sensors. The rationale behind is that algorithm CSRA considers both the charging scheduling and routing allocation to shorten the longest sensor dead duration in the heterogeneous sensor networks, while existing algorithms considered only the sensor residual lifetimes and vehicle traveling cost. Figure 4b further indicates that the average sensor dead durations by algorithm CSRA are also significantly shorter than those by the other five algorithms. For example, the average sensor dead duration by algorithm CSRA is about 2.8%, 10.3%, 8.6%, 9.3%, 11.8% of those by algorithms TSP, EDF, NETWRAP, AA, TSCA, respectively, when there are η N = 500 off-the-shelf sensors. Figure 4c shows the average running times of the six mentioned algorithms, from which it can be seen that the average running time of algorithm CSRA is longer than the five algorithms. It, however, must be mentioned that the average running time of algorithm CSRA is acceptable in practice, as it is no more than two seconds even when there are η N = 500 off-the-shelf sensors. In the following, we do not compare the running times of the algorithms, since the curves are similar.  We then investigate the performance of the algorithms, by increasing the maximum data sensing rate r max from 10 kbps to 20 kbps, where n N = 200, s = 5 m/s, and η N = 5 W. Figure 5a and Figure 5b show the longest and average sensor dead durations of the six algorithms increase with a larger maximum data sensing rate r max , respectively. The rationale behind is that sensors will consume more of their energy with larger data sensing rates, and sensors then may run out of their energy faster. Figure 5 also demonstrates that the longest and average sensor dead durations by algorithm CSRA are much better than those by the existing algorithms, especially when the data sensing rate is larger. For example, the longest sensor dead duration by algorithm CSRA is only 3.4%, 8.0%, 9.8%, 9.9%, and 7.2%, 6.2% of those by algorithms TSP, EDF, NETWRAP, AA, TSCA, respectively, when r max = 20 kbps. We also evaluate the algorithm performance, by varying the charging rate η N of an off-the-shelf sensor from 1 W to 5 W, while fixing the charging rate η F of an ultra-fast sensor at 300 W. It can be seen from Figure 6 that the longest and average sensor dead durations become shorter when the charging rate η N grows, as the waiting time of each sensor before its charging is shorter with a fast charging rate. Figure 6a further plots that the longest sensor dead duration by algorithm CSRA is the shortest, e.g., only about 5% of those by the other algorithms when the charging rate η N of off-the-shelf sensors is 1 W. We further study the impact of the vehicle traveling speed s on the algorithm performance, by varying the speed s from 1 m/s to 10 m/s. Figure 7 plots that the longest and average sensor dead durations of the proposed algorithm CSRA are still the shortest ones among the six algorithms. Figure 7 also shows that the longest dead duration by each of the six algorithms only slightly decreases with a faster vehicle traveling speed. The improvement is only slight, since the sensor charging time is much longer than the vehicle traveling time [23,26]. We finally investigate the performance of different algorithms, by increasing the number of ultra-fast sensors n F from 0 to 8, while there are 200 off-the-shelf sensors. Figure 8a demonstrates that the longest sensor dead duration by Algorithm CSRA decreases with the increase of n F . Notice that the longest sensor dead duration by Algorithm CSRA is only about 70% of those by the existing algorithms when there are no ultra-fast sensors, i.e., n F = 0, since Algorithm CSRA jointly considers charging scheduling and routing allocation by enabling other off-the-shelf sensors that have sufficient energy to relay more data for lifetime-critical sensors, while existing algorithms only considered the charging scheduling of mobile charging vehicles. Figure 8 also shows that the longest and average sensor dead durations by Algorithm CSRA only slightly decease when there are more than five ultra-fast sensors, and the longest sensor dead duration by Algorithm CSRA is about 25% of those by the existing algorithms when n F = 5. In summary, it can be seen from the experimental results that the longest and average sensor dead durations by the proposed algorithm CSRA are much shorter than those by existing algorithms TSP, EDF, NETWRAP, AA and TSCA.

Related Work
The employment of mobile charging vehicles is a promising technique to replenish sensor energy, and the vehicle scheduling for prolonging network lifetimes has been studied in literature. Most of these studies assumed that every sensor is powered with a low-cost off-the-shelf battery [17][18][19][20][21]23,[38][39][40], e.g., Lithium battery, where the price of such a battery is about only a few dollars [31]. It, however, usually takes some non-trivial time to fully charge such a battery, e.g., 30-80 min [26].
Some studies employed only one charging vehicle to charge sensors in a sensor network [17][18][19][20]23]. He et al. [17] proposed a Nearest-Job-Next with Preemption discipline to increase the average number of charged sensors per unit time and shorten their charging latencies. Liang et al. [20] proposed approximation algorithms to maximize the total utility of charging sensors in a charging tour, subject to the energy capacity of a charging vehicle. Lin et al. [18] devised a temporal-spatial charging scheduling algorithm to minimize the number of dead sensors and maximize energy efficiency. Xu et al. [23] maximized sensor lifetimes while minimizing the length of charging tour, by proposing a novel charging paradigm in which each sensor can be partially replenished. Lin et al. [19] developed a Primary and Passer-by scheduling algorithm to increase the number of charged sensors before their energy expiration times, by charging some energy-sufficient sensors that are close to energy-critical sensors, such that their chargings will not prolong the dead durations of latter sensors.
On the other hand, some other studies [21,[38][39][40] employed multiple charging vehicles to maintain sensor networks perpetually. Liang et al. [40] devised an approximation algorithm to minimize the number of dispatched vehicles to charge energy-critical sensors, subject to the energy capacity of each vehicle. Jiang et al. [39] considered not only the charging sequence but also the vehicle depot positioning, such that the number of deployed charging vehicles is minimized and the ratio of the sensor charging time to traveling time is maximized. Dai et al. [38] scheduled multiple charging vehicles to replenish sensor energy with an objective of maximizing the total amount of energy charged into sensors, and further minimizing the overall charging time under the electromagnetic radiation safety constraint. Wang et al. [21] proposed a hybrid network framework that consists of solar-powered sensors and wireless-powered sensors. They studied the problem of minimizing vehicle traveling energy, such that the perpetual operations of sensors are maintained.
It can be seen that, although excellent studies have been conducted for replenishing sensor energy and shortening their dead durations, some sensors may still expire their energy, as the charging time of a sensor is non-trivial, e.g., 30-80 min [26].
We note that other researchers [12,[27][28][29][30] assumed that every sensor is powered with an ultra-fast charging battery, and it only takes a trivial time to fully charge such a battery, e.g., within 1 min [27,28]. Therefore, they usually ignored the sensor charging time. For example, Zhao et al. [28] assumed that a vehicle is able to not only charge sensors but also collect sensing data. In each charging round, they first found the charging tour of lifetime-critical sensors and then allocated routing in the period that the vehicle performs sensor charging, such that the utility of collected sensing data is maximized. Zhang et al. [29] adopted a collaborative charging paradigm, in which any two charging vehicles can transfer energy with each other. They investigated the problem of employing multiple vehicles to charge sensors, such that the ratio of the energy consumed for charging sensors to the energy consumption on vehicle traveling is maximized. Xu et al. [27] studied the problem of scheduling multiple charging vehicles to charge sensors in a given monitoring period such that none of these sensors depletes its energy and the total traveling cost of the vehicles is minimized, where the energy consumption rates of different sensors vary significantly. Different from these mentioned existing studies, in this paper, we propose a novel heterogeneous network model by deploying a few ultra-fast sensors at some strategic locations near the base station. The network cost is low, since we deploy only a few expensive ultra-fast sensors. On the other hand, we show that the network performance can be significantly improved with even such a small number of ultra-fast sensors, by enabling ultra-fast sensors to relay more data for other lifetime-critical sensors.

Conclusions
Unlike exiting studies that deployed only off-the-shelf sensors or ultra-fast sensors, in this paper, we proposed a novel heterogeneous sensor network model, in which a sensor network consists of a few ultra-fast sensors and many low-cost off-the-shelf sensors. Then, the deployment cost of the network is low as the number of ultra-fast sensors is limited. Under the novel network model, we studied a problem of finding a charging tour and allocating routing, such that the longest sensor dead duration is minimized. We further devised an efficient algorithm for the problem, by enabling ultra-fast sensors to relay more data from lifetime-critical off-the-shelf sensors. We finally evaluated the proposed algorithm through extensive simulations. In addition, experimental results showed that the longest sensor dead duration by the proposed algorithm is much shorter than those by existing algorithms, e.g., 90% shorter.

Conflicts of Interest:
The authors declare no conflict of interest.