1. Introduction
Internet of Things (IoT) devices have become a main subject of interest for different types of applications. Due to their extraordinary capabilities, they have become popular and common [
1]. IoT is rapidly emerging as an important and influential factor in mobile computing, wireless systems, and vehicular ad hoc networks [
2]. IoT devices consist of small sensing devices called sensor nodes. Sensors are tiny devices that consist of a central processing unit (for data processing), a small memory card (working as a storage device), a small battery (an energy source), and a transceiver, as shown in
Figure 1 [
3]. A transceiver sends and receives data or signals from one sensor node to another. Sensors gather and exchange information by communicating with each other to accomplish a common task. These sensors report the collected data to a base station [
4,
5].
Sensors vary in their sizes due to the types of applications. The cost of these sensors also depends on their specifications, such as CPU speed, battery size, and memory size [
6]. To complete a specific task, IoT devices are deployed over a specific sensing region [
7,
8,
9]. Monitoring, analyzing, combining, and responding to the data sensed by hundreds or thousands of nodes are the primary goals of IoTs [
10]. Each sensor node has a coverage area depending on its sensing range (Rs). The network coverage can be explained as the total coverage by all the active nodes in the network. Furthermore, each of these sensors has radio coverage depending on its communication range (Rc), which is the area where an active sensor node can communicate with another sensor node. Sensing coverage guarantees convenient event monitoring, while radio range guarantees convenient data transmission [
11].
IoT devices suffer from different resource constraints, such as limited energy and memory size. Energy consumption remains the most important challenge that limits the IoT devices’ lifetime and reliability [
12,
13]. The sensor nodes’ limited energy supply can be depleted by performing computations and wireless data transmission. Therefore, it is essential to use energy-efficient computation and communication methods. The lifespan of sensor nodes is significantly impacted by battery life. Compared to computations, data transmission uses more energy [
14]. Therefore, minimizing data transmission costs is the most important factor affecting IoT device lifetime. As a result, many researchers have proposed different routing techniques to achieve this goal. Indeed, a new energy-saving routing protocol that is intelligent and effective for IoT networks is required. Many researchers have proposed different protocols to save energy in IoT networks. However, this problem still exists, which in turn negatively affects the IoT network lifetime. So, we need to develop new solutions to tackle this challenge.
Figure 2 illustrates an example of a flat multi-hop IoT network [
15]. In these kinds of networks, the sensor nodes can communicate with the base station (BS) thanks to the other joined nodes in the environment. For large-scale IoT networks with numerous sensor nodes and one BS, the multi-hop IoT network topology is recommended.
The contributions of this paper are as follows:
An energy-efficient protocol has been proposed in this work, in order to find the optimal routing protocol between the sensor nodes and the base station in IoT networks, considering various parameters and constraints.
A hybrid GA-ALO metaheuristic optimization technique has been utilized in order to find the optimal path for each communication in the network.
Haversine equation has been incorporated with the proposed approach as a separate model. The results obtained from the proposed approach will be compared against other benchmark techniques, i.e., the Greedy technique and DSR routing protocol.
The rest of the paper is organized as follows.
Section 2 presents related works. The proposed routing protocol is described in
Section 3.
Section 4 shows the numerical results and validation of our proposed routing protocol. Finally, the conclusion is given in
Section 5. The notations used throughout this paper are listed in
Table 1.
3. Proposed Routing Protocol
This section discusses the process of data transmission between the sensor-to-sensor and the sensor-to-base station using our proposed EFRP protocol. The first step that we considered in our proposed algorithm is the distribution of sensors in the investigated area (initialization phase). We assume all the sensors are randomly distributed. Second, our scheme finds all available paths using the genetic algorithm (GA) as an outer loop. Then, ALO is used to extract the optimal path, considering the multi-objective function. Finally, the BS updates all nodes (sensors) with the current state-of-charge for all the nodes in IoT network.
3.1. Routing Protocol
This paper proposes a new routing protocol in order to deliver the messages from the sensors to the BS, considering the proposed objective function which aims to minimize the total energy consumption. GA and ALO will be incorporated to solve this problem.
3.1.1. Network Model and Preliminary
We consider IoT networks composed of sensor nodes and one single base station. The set of sensors is denoted by = {1, …, i, …, N}. The cardinality of is N, i.e., there are N sensors in the study. Each sensor in has two attributes; i = (p,g), where p, and g are the coordinates of the sensor and the residual energy in the sensor. BS has one attribute which is the position (coordinate) where it is located. All sensors send their current characteristics in terms of the amount of residual energy with the messages that go through these sensors or even when the sensor wants to communicate with the BS. Once the BS gets these messages from sensors, it broadcasts a beacon to all sensors to notify them about the current circumstances of all sensors in the environment.
3.1.2. Energy Model
To send the message from a sensor to the BS, the objective function should be calculated based on minimizing the total amount of the energy consumption of all sensors participate to deliver the message to the BS. To select the next hop of the message, two parameters should be considered: the distance to the next sensor, and the straight-line distance (SLD) between the next sensor and the BS as shown below.
where
is the total distance from the sensor wants to communicate with BS to the BS,
represents the distance to the next sensor (next hop), and the
is the SLD from next node.
In the literature, all the proposed approaches used the Euclidian distance, as shown in the following equation, in order to find the distance (shortest distance) between sensor-to-sensor, or sensor-to-BS.
In this work, the distances are calculated using a haversine equation which is utilized to find the shortest distance between two points on a sphere, using their coordinates (longitudes and latitudes) measured on the surface as shown in
Figure 4.
The haversine of central angle
is calculated as follows:
where
R is the earth’s radius (
km),
is calculated using the inverse of sin function or haversine as follows:
When a sensor transmits or receives data, it consumes a certain amount of energy (
), which depends on the size of data, and the distance (in transmission mode) that the sensor needs. Energy consumption model can be mathematically represented as follows:
where
L represents the size of data packet,
D is the distance between the transmitter and receiver,
represents free space energy loss,
denotes the multipath energy loss,
is the threshold distance which controls situation to select
or
.
can be calculated the following equation:
3.1.3. Optimization Problem
Extracting the optimal path that can reduce the sensors’ energy in IoT networks can be formulated as follows:
Subject to
where the objective function in (9) finds the best path (route) from the source (current sensor) to the next sensor until reaching the BS, based on the minimum overall energy consumption of all nodes participating in communication (ss), subject to the system constraints that have been incorporated in (10). These constraints have been considered to ensure that the solution which is determined by the proposed routing algorithm in each communication process is efficient and accurate. Then constraint ds < 10 m illustrates that the assumed distance between the two sensor nodes involved in the communication should not exceed 10 m. At each transmission process, the number of sensor nodes should not be more than 15 sensor nodes. There is a threshold for the total amount of energy consumption in each transmission. Moreover, the current sensor node which tries to communicate with the other sensor node in the next hop should also consider the amount of residual energy of this node, i.e., state-of-charge (SoC). The SoC should not be less than a threshold (it is assumed to be no less than 10% of the initial energy of the node to be selected). The reason behind this is to maintain as many alive sensor nodes as possible in the network, which in turn achieves the goal of the study, which is to increase the lifetime of the network.
In case there is more than one possible path for a message that needs to be sent to the BS, i.e., more than one path has the same cost (energy consumption value), the algorithm should select the path has a higher number of nodes participating in the selected path. The reason behind this is to distribute the level of energy consumption for each path among the largest possible number of nodes, which positively affects the lifespan of the network. The binary decision variable is used to indicated whether the current node (sensor) selects the next node or not, the value of is 1 if a sensor is involved in the next hop, otherwise it is set to 0 as shown in (11).
3.1.4. GA and ALO
The objective function in (9) and the system constraints in (10) form a Mixed-Integer Linear Programming (MILP) problem, where the decision variable
has only binary values 0,1 and all system constraints are linear. To solve this problem, two loops are introduced in this paper. The first loop (outer) works by proposing different possibilities of paths, then evaluates each proposed solution (generation) in the second loop (inner) based on Equations (9)–(11). The GA works as an outer loop. In each iteration, several solutions are extracted using GA’s operators (crossover and mutations) utilizing the fitness value of the proposed objective function, then the ALO algorithm (i.e., inner loop) produces the best path with the minimum fitness value of the current iteration. The GA keeps generating new solutions, and ALO picks out the best one till the process is finished.
Figure 5 shows the flowchart of the proposed routing algorithm. Algorithm 1 shows how the proposed routing algorithm works to determine the optimal path and the best fitness value of the system, which in turns extends the lifetime of the network of IoTs. During the implementation process, we have tried another MILP solver to solve the problem, but the problem was mainly with the high final fitness value that resulted from other solvers that have been used. As mentioned previously, the aim of this study (optimization problem) is to minimize the total amount of energy consumption for each path, which in turn leads to minimizing the total energy consumption for the system as a whole. Among the other MILP solvers that have been incorporated with GA to solve the problem is the Branch and Bound (B&B) algorithm. The Particle Swarm Optimization (PSO) was also used with the GA as well. However, based on the implementation results, the lifetime of the network was less than the (GA-ALO) solvers by 10–15%.
Algorithm 1 The proposed routing protocol (EFRP) |
Require: , Ensure: - 1:
Initialization - 2:
K = max # (GA iterations) - 3:
S = current GA’s population set - 4:
=1 - 5:
while
do - 6:
GA generates initial population - 7:
ALO calc En (L, D) for S - 8:
ALO returns best fitness value with its path to GA - 9:
GA saves optimal ( & path) comes from ALO - 10:
GA updates S using crossover and mutation - 11:
- 12:
end while - 13:
GA returns optimal value with its path
|
5. Conclusions
Energy consumption is considered a constraint for the management, design, and implementation of the communication aspect of the networks in IoT. In this paper, a novel hybrid metaheuristic optimization technique using a genetic algorithm and antlion optimization has been proposed. The main objective of this study is to prolong the lifetime of IoT networks by introducing an intelligent and efficient flat-based routing protocol (EFRP) aimed to reduce the energy consumption of the sensor nodes during the communication process. The experimental results show that the proposed EFRP protocol outperforms the Greedy approach and the DSR protocol in terms of the energy consumption and the number of alive nodes. As shown in the results, the number of alive sensor nodes in our proposed protocol increased by more than 26% compared to the other approaches, and reduced energy consumption by about 33%, which in turn extended the network of IoTs’ lifetime by about 25% and increased the efficiency and reliability of the system through maximizing the throughput of the network.