Intelligent Approaches for Enhancing Networked Routing Protocol

The rapid evolution of wireless networking technologies opens the door to the evolution of the Wireless Sensor Networks (WSNs) and their applications in different fields. The WSN consists of small energy sensor nodes used in a harsh environment. The energy needed to communicate between the sensors networks can be identified as one of the major challenges. It is essential to avoid massive loss, or loss of packets, as well as rapid energy depletion and grid injustice, which lead to lower node efficiency and higher packet delivery delays. For this purpose, it was very important to track the usage of energy by nodes in order to improve general network efficiency by the use of intelligent methods to reduce the energy used to extend the life of the WSN and take successful routing decisions. For these reasons, designing an energy-efficient system that utilizes intelligent approaches is considered as the most powerful way to prolong the lifetime of the WSN. The proposed system is divided into four phases (sensor deployment phase, clustering phase, intra-cluster phase, and inter-cluster phase). Each of these phases uses a different intelligent algorithm with some enhancements. The performance of the proposed system was analyzed and evaluations were elaborated with well-known existing routing protocols. To assess the proficiency of the proposed system and evaluate the endurance of the network, efficiency parameters such as network lifetime, energy consumption, and packet delivery to the Sink (Base station) were exploited. The experimental outcomes justify that the proposed system surpasses the existing mechanisms by 50%.


Introduction
Wireless Sensor Network (WSN) has been well-known over the years for their environmental applications, including healthcare, disaster warning, agriculture, monitoring, etc. [1]. A large number of wireless sensor nodes must be deployed to perform such tasks in such applications in a tough environment [2]. These nodes are small, sensing-limited, and transmission-limited. They are also limited in energy resource and memory and cannot be substituted. For these reasons, the key problem is how to optimize the life of the WSN and reduce energy consumption [3]. Many energy-efficient approaches have been suggested to solve the WSN issues, including energy-efficient MAC layer protocol, clustering, routing, scheduling, etc. [4,6]. In a clusterbased protocol, the sensor nodes are organized into clusters, with a predetermined number of clusters, where only the Cluster Head (CH) is responsible for communicating with the sink / base station. It is one of the effective methods used to increase energy efficiency by minimizing and balancing the energy consumption of the sensor nodes [7]. In the sensor node scheduling, a few of the total nodes deployed are enabled for a few rounds to monitor the target area, while the remaining nodes are in sleep mode; this method preserves the node energy and prolongs the lifetime of the network [8]. As mentioned above, the nodes are of restricted range and can communicate only if they are within the same range of transmission. For these reasons, there are also problems of how the entire coverage of the target area can be guaranteed and of the connections between the nodes and the sink (base station) [8]. Another issue of the cluster-based protocol is that the cluster head consumes more battery power than the rest of the sensor nodes. The explanation for this unequal energy consumption is that the head of the cluster has to remain active most of the time, while the remaining nodes are only active when they process and transmit the information. This is why, relative to other nodes, the Cluster Head uses up the energy sources faster and thereby decreases the network's lifespan. The balances of the energy consumption may be restored by periodic (i.e. rotation) transmission of the position of the cluster head to different sensor nodes [9,10], or by using the re-clustering method. The present research has proposed an efficient system to extend the life-time of the abovementioned WSNs, through the combination of different enhanced intelligent methods. The remaining parts of the present research will be organized as follows. Section 2 presents the related work. Section 3 shows the proposed system. Section 4 provides the results. Finally, Section 5 will conclude the paper and describe the future work.

Related work
In WSN, there are many approaches that have been suggested for energy efficient clustering to maximize the network life-time. LEACH (Low Energy Adaptive Clustering Hierarchy) was the first approach for clustering suggested by Heinzelman et al. [11]. In this method, the selection of CH is based on numbers that are generated randomly between 0 to 1. The numbers are selected and compared with the threshold (T), which is predetermined. If the random number chosen is < (T), then the node becomes a CH. This is the weakness point of this protocol; i.e. the single hop (one-hop) communication between CHs and the sink (Base station). An enhanced LEACH approach, called Low Energy adaptive clustering hierarchy-Centralized (LEACH-C) was described [15]. The selection of CHs in this approach depends on parameters that will be added, like nodes' location and the remaining energy. These parameters lead to better selection of CHs, where the parameters are sent to the sink, then the sink will find the average node energy, the candidate nodes as CH if they have energy higher than the average energy. The main disadvantage is that the CH is selected randomly from candidate CHs. Thus, this approach do not always guarantee that the higher residual energy become a CHs. In a previous work [12], another improved version of LEACH was proposed by Raghavendra & Lindsey, which was called PEGASIS)] (i.e. Power-Efficient Gathering in Sensor Information System). In this protocol of routing, better results can be achieved by balancing energy and prolonging the network lifetime. Problems of this approach include the generation of long chain among the neighboring nodes, due to chain is depending upon the closest neighbors. Also, early death of some nodes can occur during the mechanism of CH rotation, particularly the ones which are far from the sink, as a result of long transmission distance. Communication overhead will be maximizing cause the resection of the chain-head after every round. There have been many cluster-based routing algorithms developed for WSN, depending on evolutionary algorithms. Chakraborty et al. [13] proposed a protocol of routing GROUP that forms a chain to communicate with the sink, where each node is allowed for a non-periodical message transmission with the sink. Transmission is based on the remaining energy and the location of every node. Hence, the network life-time will be increased and the greedy chain will be avoided. In another study [14], Jong-Myoung et al. enhanced the LEACH protocol by introducing a new CHEF-Cluster Head Election mechanism by using FL. The researchers in this algorithm proposed that with the use of FL, the collection and the calculation time of the overheads may be decreased, and ultimately, the Sensor Networks' life-time may be increased. Ran et al. [16] improved the LEACH protocol with the use of the Fuzzy Logic (LEACH-FL) that takes distance, battery level, and node density into account for Cluster Head election, but they did not solve issue of the fast energy depletion in the cluster head. Ataul et al. developed a new WSN routing protocol which is based on GA for the data transmission between the getaways in the two tiers WSN [17]. This approach used Roulette Wheel for the individual selection, and the fitness function was based on the network life-time in terms of each round. A new routing approach, called GAR, which is based on GA was proposed [18] for improving the life time if the network. This algorithm used the overall distance in each round for defining the fitness function. Gupta and Jana [19] developed a new clustering and routing approach which is based on GA. The clustering phase depends on two factors, namely the remaining energy of the gateways and the distance between the sensor nodes and their cluster head. While, the routing phase depends on the remaining energy of the gateways. It also makes a tradeoff between the forwards' number and the distance of the transmission. However, the above algorithms neither take into consideration the rotation of the cluster head within each clusters, nor the scheduling of the sensor nodes in the region of interest with cluster formation. Hence, the major contributions in the present study are as follows:  The utilization of Voronoi Diagram for sensor deployment in the Deployment Phase.  The utilization of a FCM, GA, FGA algorithm to form balanced clusters in the Clustering Phase.  In the Intra-Cluster Phase, MOGA-Scheduling is used for sensor nodes scheduling. Also, FCHR is employed for solving the CHs' energy depletion, where the FL is used for making decisions for the determination of the new CH (N-CH). FL will use three parameters, namely the residual energy of the cluster member (CM), the distance between CM and the sink, and the average distance.
 The utilization of MOEA/D, MOACO, and Dijkstra for efficient route selection from each CH to BS in the Inter-Cluster Phase.

The Proposed System
Essentially, the proposed system has nine proposed routing protocols. Each of these protocols is implemented in two versions (With Scheduling and Without Scheduling). The following points illustrate the names of the proposed routing protocols and the used algorithms [20]

The System Phases
The system is divided into Four Phases; each phase is consisted of different intelligent approaches. Before the explanation of all phases, the number of the sensor nodes, the area of the region, and the location of the sink must be determined.

Deployment Phase
This phase includes the ways that the sensor nodes are distributed in the area of interest. In this work, the sensors are deployed randomly, where the sensor nodes are distributed normally based on the Pseudo Random Number Generator (PRNG). Then, the Voronoi Diagram (VD) was applied. It is a geometrical method where the area R is partitioned into polygons, each containing one sensor node. The polygons are generated from a point generator, so that each sensor node inside the polygon will be closest to this generator than to the other nodes. To generate VD, a number of nodes X i , i=1, 2, …, N are generated, where N is the number of sensor nodes in the network. Also, a point Z is generated for the polygons, where is the area. The Voronoi region V i that corresponds to each node X i is defined as: (1) After the deployment of the sensor node using one of the above methods, the sink sends a start message (Start-Msg) for all nodes in the network as a sign for the beginning of the network operation. Then, every node computes its distance to the sink, depending on the Received-Signal-Strength Indicator (RSSI) technique. Every node calculates the distance with its neighboring nodes and gathers their energy by sending a request information message (Reqst-Info-Mesg (ID, Location, Energy)) to every neighboring node for gathering information about the location and the energy of each neighboring node. The nodes within the sensing range receive this message and then reply by sending a self-information message (Self-Info-Msg (ID, Location, Energy)) [20].

4.2
Clustering phase This stage of the network's operation is dedicated to divide the network into clusters and select a CH to collect the sensed data from the CMs. For achieving this stage, an intelligent clustering technique is used for minimizing the energy consumption of the network and for balancing the distribution of the workload of CH. In this phase, the number of the needed clusters is determined and the clusters are formed. Three clustering techniques are included, which are described below.

Fuzzy C Mean (FCM) Based Clustering
In this method, all the sensor nodes will participate in cluster formation. At the beginning, the centers (c) of clusters are selected randomly by the sink from the sensor nodes deployed in the area of interest. Next, the following steps are conducted [21]: 1.
Compute the distance between each sensor node in the area and all selected cluster centers, using the Euclidian distance: Calculate the membership degree for each sensor node to each cluster center based on equation (3), where each node is assigned to each cluster center. When a node has a highest membership degree to one of the cluster centers, this means that it belong to this cluster.
where: -is the coordinate of the node . -is the center coordinating of the cluster . -is the exponential weight used for adjusting the degree of fuzziness, which has a value greater than 1.
is the degree of membership of node in the cluster.

3.
Then, the new cluster centers for each cluster are calculated by using the following equation: Update the membership degree for each node belonging to each cluster center according to equation (3).

5.
Continue steps 2, 3 to 4 until the centroids are not changing, as indicated in algorithm 1.

.2.2 GA-based clustering
In this method, the cluster centers are selected randomly from the deployed sensor nodes, then the cluster formation is performed using the following steps [22].

1.
The chromosome representation Each chromosome is represented as an integer number, which represents the center of the cluster. The length of the chromosome is the number of the selected clusters. Each gene in the chromosome represents the X, Y dimensions of the cluster center that is stored in the center dimension's matrix. Example: Let N = 2, i.e. the two dimensional space, and K = 4, i.e. the number of the clusters is four, so that each gene contains the value of X, Y dimensions of the cluster center Z.
where Z represents the dimensions of cluster center.
where (50 60) is the first cluster's center, where 50 represents the value of x-axis, while 60 represents the value of y-axis. Also, (31 22) is the second cluster's center, (15 29) is the third cluster's center, and (32 40) is the fourth cluster's center.

2.
Initialization of the population Each chromosome is initialized randomly and the K cluster centers (Z 1 , Z 2 ,…,Z K ) are also selected randomly. This operation is repeated for the number of population (P).

3.
The Cluster formation The cluster is created according to the cluster centers that were selected randomly in the where: -dist represents the distance computed using equation (2) is the dimension of the node. -is the center of the cluster. After the cluster formation, each cluster center (Z) in the chromosome is replaced by the mean value of nodes in this cluster. Therefore, for cluster a new cluster center is computed by using the following equation: where: -is the new cluster center.
is the number of nodes that belong to the cluster.

The Fitness computation
The fitness function is depending on the static dimensions of the nodes and the variable clusters, computed as follows: where is the clustering matrix. Hence, maximum fitness function will lead to minimize the clustering matrix.

GA-operation -Selection:
Roulette Wheel selection is used, where the chromosome with the large fitness value will survive to the next generation. A two point -crossover with a predefined probability (P c ) was used.
-Mutation: Each chromosome is mutated based on a fixed probability (P m ). The mutation is achieved for the selected gene by generating a random number depending on the number of nodes in the cluster.

Termination condition
These operations will terminate if the centroid is not changing or after a maximum number of iterations. The best chromosome in the last generation represents the best locations of cluster centers. Algorithm (2). The steps for the GA cluster formation.
Algorithm (2): GA cluster formation Input: N = No. of nodes M = No. of clusters P C = probability of crossover P m = probability of mutation nPop = population size MaxIt = maximum iteration Output: best centroid, set of M clusters begin Step 1:Initialize clusters' center position (chooses randomly from the nodes)
Compute the distance between each node and each cluster center 2.
Assign each node to a single cluster 3.
Select by using Roulette Wheel 6.
Apply crossover with P C 7.
Apply mutation with P m 8.
Evaluate the new generation and store the new best solution 9.
IF (new best solution == best solution) stop and get the output Else continue End IF End For End For End For End

FGA-based clustering
In this method, the cluster formation has two steps; in the first step, the sink uses a fuzzy logic system with three inputs (residual energy of the nodes at the current round, distance from the sink, and centrality degree of the node) and one output to select the initial cluster centers from the deployed sensor nodes; while in the second step, the clusters are formed using the GA. The calculation of the centrality degree is based on the following equation: where n is the no. of the nodes in the network and is the distance between each node and the other nodes, which is computed using equation (2). First step: Each node in the network will calculate its chance to be an initial CH, where three input variable are considered. Every input function has 3 Gaussian membership functions, namely (Low, Medium, High) for Residual Energy, (Far, Medium, Close) for the Distance to the Sink, and (Far, Medium, Near) for the Centrality degree. Also, 9 triangular membership functions are used for the output function, namely Very Weak (VWeak), Weak, Rather Weak (RWeak), Rather Medium (RMedium), Medium, High Medium (HMedium), Rather Strong (RStrong), Strong, and High Strong (HStrong)). The node with High Residual Energy, Close distance to Sink, and near centrality will have a higher chance to be the initial CH. The membership function for the three inputs is Gaussian, while for the output membership function it is triangular. In the Fuzzy Inference System (FIS), crisp input values are translated into linguistic variables. The fuzzy if-then rules are used to convert the input variables into the corresponding fuzzy variables depending on the Mamdani process. The total number of rules, i.e. 27 (3 3 ), will be used. The method for defuzzification (i.e. for converting linguistic variables into a crisp output value) will be applied using the center of area (CoA). Second step: Then, the cluster formation is performed by using GA, as described previously, based on the initial CH center that was selected using step 1. Algorithm (3) shows the main steps of how the sensor nodes are clustered depending on the FGA method [20]. Compute the distance between each node and each initial cluster center 2.
Assign each node to a single cluster 3.
Select by using Roulette Wheel 6.
Apply crossover with P C 7.
Apply mutation with P m 8.
Evaluate the new generation and store the new best solution 9.
IF (new best solution == best solution) stop and get the output 10.
Else continue End IF End For End For End For End After completion of the above steps in the three methods, the nodes are divided into clusters, each containing a different number of nodes. The node that is close to the cluster center with higher energy will be a CH. The CH sends an advertisement message, called Final CH message (Final-CH-Msg (ID, Distance, Energy)), which contains its dimensions, energy, and distance information to its cluster member (CM) nodes for informing them. After the CM nodes receive the CH message, they send a Join request message (Join-Reqst-Msg) to their CH for informing that they are the members of the cluster. Every CH sends a TDMA schedule table by sending a scheduling message (Sched-Msg (TDMA)) to its CMs, and begins to send the sensed data to its CH. Finally, each CH sends a CH advertisement message (CH-Adv-MSg (ID, Residual Energy, Distance)) to the sink, then the sink sends this message to all CHs in the NW for using them during the routes selection [20].

4.3
Intra cluster energy optimization phase In this phase, the energy of each cluster in the network is optimized using two proposed methods, namely the Multi objectives Nodes Scheduling and CH-Rotation. Each method will be explained briefly in sections 4.3.1 and 4.4.2, respectively [20].

Multi Objective GA Nodes Scheduling (MOGA-Scheduling)
After the clusters formation, it is assumed that all sensor nodes have started to operate and send the sensed data to the CHs. But in this process, the node's power will be consumed and this node will quickly die. Therefore, CMs scheduling is suggested to maximize the clusters lifetime. In this mechanism, a multi-objective nodes scheduling based on GA is used so that a subset of these nodes will be activated while the remaining will be inactive. The objective is to minimize the number of nodes that sense the target area while maintaining the full coverage of the regions, selecting the sensors with higher residual energy. When one or more of the selected sensor nodes have lower level of energy, they die quickly and thus the network is uncovered. In this case, a new set of the remaining sensor nodes in each cluster has to be rescheduled in order to complete the task. According to this mechanism, GA-based scheduling can be explained in the following steps [22].

1.
Chromosome representation The chromosome is represented as a binary string, and the chromosome's length (N) represents the number sensor nodes (s) in one cluster in the WSN.

CH ={
{ } }. The value of represents the case whether the selected is active or sleeps in the current round. where:

Population initialization
The creation of the population will be achieved by generating the chromosomes in a random form. Here, we must mention that each chromosome in the population represents a CM nodes. The generated number is either 0 or 1.
Calculation of the Proposed Fitness Function The evaluation of the chromosomes depends on the fitness function. The proposed fitness function will consider the above explained objectives, and itwhich will be described as follows: First objective: Select the chromosome with minimum number of sensor nodes for scheduling. So Hence, the first fitness function will be as follows: MIN f_1=∑_(i=1)^N▒〖g_i ,{g_i=1,i≤N}〗 (12) Where where g_i Represent represents the sensor node in the selected chromosome and N is the number of the nodes in each cluster. Second objective: Select the sensor nodes g_j that covered the target t_i. So Hence, the second fitness function will be as follows: max〖f_2=∑_(i=1)^K▒〖δ_cost (t_i)〗〗 (13) δ_cost (t_i )={■(+1&if |ϱ_cover (t_i)|≥1@-1&otherwise)┤ (14) ϱ_cover (t_i )={s_j |g_j=1 &dist(t_i,s_j)≤R_sens (15) Where where K is the number of numbers of targets, dist is the Euclidian distance, R_sens is the sensor's sensing range. Third objective: Select the sensor nodes with the higher energy. So Hence, the third fitness function will be as follows:  (16) Where where E_res is the node's residual energy. Therefore, to obtaining a single function will be achieved by summation summing of the above functions and will be formulated as follows: Wherewhere: W_i is the weight value, 0≤W_i≤1, i,1≤i≤3 . E_MAX is the maximum energy of the sensor nodes. E_MIN is the current minimum energy, and it can be obtained using f_3. GA operators For the GA operators, the following steps will be conducted: Selection: -The the chromosomes with the highestr fitness values are selected for the new generation. The selection is done by using Roulette Wheel selection. Crossover:two two-point crossover is applied for producing the new chromosomes. Mutation:in this step, the gene is randomly selected and converted from (0 to 1) or from (1 to 0).
Stopping condition The algorithm is stopped after a number of iterations.
After the completion of the above steps, the chromosome with the highestr fitness function is selected and the number of ones in this chromosome represents the number of the sensors that are selected to be active in the cluster. In each cluster, the active sensor nodes send their sensed data to their CHs using a single hop. This process is repeated for each cluster and for each round. Algorithm (4) describes the main steps for MOGA-Scheduling [21].
Algorithm (4) Step 1: Generate initial population (chooses randomly) Step 2: Compute the residual energy of each node and the distances between the nodes and the targets

Fuzzy based Cluster Head Rotation (FCHR)
After several rounds, the CHs will deplete their energy faster than the Cluster members (CMs), and thiswhich leads to reduce the Network network lifetime. If the CH's energy is fully consumed, so this leads to making create some area that cannot be covered, and the Network cannot complete its mission. So to To solve this problem, a CH-Rrotation is used. In the proposed method, each CH will do the following [21]: Checking: Tthe CHs check their energy at each round, . if If the energy of the CH becomes equal to threshold, then CH role is reassigning (rotating) to different sensor nodes (CMs). Then, each CHs sends a request message (Req-Msg) to each of theirits own CMs.
Collection: the CMs replay their current CH (C-CH) by computing their Residual residual energy (E_Res), Distance the distance between the each CM to and the sink, / (BS) (d_BS), and the distance from their cluster center (d_CC) CMs, which is computed using equation (3.2). Then, the CMs send these this information to their corresponding C-CH.
New CH selection: The the proposed method uses the FL for determining the New-CH (N-CH). Mamdani is used in FL algorithm due to its simplicity. The common Mamdani's rule with two inputs and one output is shown as follows: if in(1)= A and in(2)=B then out=C (18) Where where A, B, and C are the membership functions of the inputs and output. For the Fuzzification stage, three attributes of the CM will be considered, t. These three attributes will be the input function for the Fuzzy system. Every input function has 3 Gaussian membership functions; these are the (Low, Medium, High) for Residual Energy, (Far, Medium, Close) for the Distance to the Sink, and (Far, Medium, Near) for the Distance to cluster center, . Also, and use 9 triangular membership functions are used for the output function; these are the (Very Weak (VWeak), Weak, Rather Weak (RWeak), Rather Medium (RMedium), Medium, High Medium (HMedium), Rather Strong (RStrong), Strong, and High Strong (HStrong)). After the Fuzzification process and getting the membership values, the predetermined fuzzy-rules, for which their total number is 27 (33), are evaluated via the fuzzy inference engine. The rules will be in the if-then form and the Fuzzy operator (and) operator is used for identifying new fuzzy output sets. Finally, the aggregation process is applied on the fuzzy outputs, and converts them to a single crisp output, for. For this process, the fuzzy operator (OR) can be used. For determining the chance of the CM to be the N-CH, the Centroid of Area (COA) Defuzzification technique can be used as follows: C_CM (i)= □((∫▒〖x_j * 〖μ(x〗_j) dx〗)/(∫▒〖〖μ(x〗_j) dx〗)) (19) Where where x_j is the element that has maximum membership value, and j is the fuzzy rule number. After selecting N-CH, the C-CH moves its current state to the N-CH and turns its rule to become a CM. the The N-CH informs their its CMs to joint it by sending the New CHmessage (NEWCH-Msg). Then, each CMs starts to send their its sensed data to the N-CH. The N-CH Sends sends the rotation transference message (Rot-Trans-Msg) to the BS and to all other CHs for informing them about the N-CH. The CHs receive this message to take into consideration the N-CHs during routes selection [20]. Algorithm (5) describes the steps of the FCHR [21]. Algorithm Step 2: finding the N-CH N-CH = Max CM.Chance N-CH sends (NEWCH-Msg) to CMs Else C-CH continues to receive CM data End IF End The procedure of rotating the CH in each cluster will continue until no other CMs are able to become N-CH (i.e. every CM is selected as CH) [20].
Inter Inter-cluster energy optimization phase This phase is concerned with the data routing scheme, . after After the CMs send their sensed data to their corresponding CHs, each CH needs to forward its collected and aggregated data to the BS. Each CH can transmit the data using single-hop or multi-hops, the choice is depending on the distance between the CHs and the BS. If the BS is within the CHs' communication range, the CHs send their aggregated data directly to the BS (single-hop), otherwise each CH must select an efficient relay CHs to construct the route towards the BS. The routes are selected depending on minimum energy and distance (cost) routing. At the beginning, each CH sends messages to its neighboring CHs, called (NEIGHBOURS_MESSAGE), which is contains the id of the CH, residual energy, and CH's distance to BS. Based on the strength of the received signal, each CH calculates its the distance between itself and the sender of the message. Each CH receivesd this message from other CHs within the radius, then usesd the received information for the selecting the optimal route. For Selecting the selection of optimal routing scheme, two three methods are proposed, which are the weight weight-based ACO Routing (WACO-Routing), Multi-objectives GA Routing (MOGA-Routing), and Dijkstra based Routing. These three techniques will be explainexplained briefly in sections (4.4.1), (4.4.2), and (4.4.3) [20].
Multi Objectives ACO-Routing (MOACO-Routing) In this method, the ants are used as a model to find the optimal route between the source and the destinations. In WSN, there is a single destination node (BS), and it uses two ant's types, namely the forward and backward ants. The forward ants are responsible for new routes discovery, and information gathering, while the backward ants return back from the destination to the source for updating the sensor node information when moving. They do that by releasing pheromones for routes establishment. Pheromone values decide how ants that originate in a source node will move along the multi-hops until they reach the BS. Every forward ants establishesd their its route by selecting a next-hop CH from their its neighbors, which are placed in the same communication radius of the CH. In the proposed MOACO-Routing, each ant can travel from 〖CH〗_i to 〖CH〗_j based on the proposed equation (20) [20]: Wherewhere: P_((i,j))^m is the probability of the ant m to travel from 〖CH〗_i to 〖CH〗_j. τ_(i,j) (t) is the value of the pheromone trail deposited for transition from 〖CH〗_i to 〖CH〗_j at iteration t.
α, β are control constants are theirwith values between (0,1). N_i is the set of the 〖CH〗_i neighbors, which the ant m can be selected from the next-hop CH.
ρ is the evaporation factor of the pheromone. ω is a constant. 〖hop〗_(〖count〗_m ) is the hops number for the mth ant visited from source CH to the BS.
L_m is the tour length of the mth ant route of k iteration. The higher the fitness value, the better route for the MOACO-Routing, as shown in algorithm (6) [20]. Algorithm (6) which is representing the best route. Begin Step 1: initialize the default pheromone, and placed the ants in the source node. Step

Multi-objectives Evolutionary Algorithm based on Decomposition Routing (MOEA/D-Routing)
In this method, the MOEA/D is used to find the optimal route between the CH and the sink, as shown in algorithm (7). The optimal route will be found by finding the best relay CH towards the sink. The best path will be calculated based on two conflicting goals, which are selecting the maximum residual energy path and minimum distance path, by using the proposed fitness function (28). Because of these conflicting objectives, a single route that optimizes all targets is extremely difficult to find at the same time. Therefore, the MOEA/D will be used to provide a set of paths that is not dominated by any of the others, called the Pareto -optimal set. MOEA with the decomposition of Tchebycheff approach is used for decomposing the Pareto -Front into sub-problems of scalar optimization. In this method, the chromosomes are represented as integer numbers which represent the dimensions of the CH in the NW [20]. F_dist (I) is the fitness function that computes the distance between the CHs in the I^thchromosome.
m is the chromosome's length. d_((CH(i),CH(i+1)) is the distance between the CHs, which is computed using Euclidean distance.
As explained above, the MOEA/D is used to find the optimal path. Hence, let N indicates the number of sub-problem (N=2), {λ^1,λ^2} indicates weight vectors of the two sub-problem, Z^*={Z^1,Z^2} represents the reference point which is the best value that can be found for the two objective functions, T is the number of the neighborhoods of the weight vectors, and (EP) is the external population used for storing the non-dominating solution, . Each chromosome is represented as a variable length vector. The Euclidean distances should be calculated between two weight vectors and then the T vectors closest to each weight vector should be stored in B[i] as an index. , where T is the number of neighboring weight vectors for each weight vector stored in B[i]. Each individual will be evaluated using the proposed fitness function (28). At each generation, two parents are randomly selected from B[i],. After that, genetic operators (crossover, mutation), are used to generate a new solution (new individual),. Subsequently, the new individual is evaluated by applying the proposed fitness function (28). Then, the reference point Z^* for each objective function has to be updated. Lastly, the neighboring solutions and EP are updated to identify the solutions that are nondominated [20]. Algorithm (7)    The simulation results reveal that the suggested protocols decreases the total energy consumption, extend the network lifetime, and increase the throughput. The results of the simulation show that the proposed protocols work well in all topologies tested. In the proposed protocols, the average energy consumption is less than that of LEACH, and A-LEACH protocols. It could be shown. that the network's energy usage is saved; therefore, the network lifetime is extended and the throughput is increased. The suggested protocols thus makes the network lasts longer with higher stability.

Conclusions
In this paper, the network life-time maximization was discussed by using machine learning approaches for WSN protocols. The proposed protocols which are based on ML algorithms depend on many parameters for selecting the CHs during CH rotation, scheduling the nodes, and selecting the path toward the Sink. These parameters are the sensor nodes' residual energy, distances between the CHs, and distances between CHs and sink. The ML algorithms were combined for the sake of minimizing the consumption of energy in addition to maximizing the network life-time. The performance analysis of the proposed protocols are compared them with two existing protocols via various network scenarios. The experimental results confirm that the suggested protocols provide better performance compared with other existing protocols concerning in terms of network life-time, energy-consumption, and number of rounds until the first node dies. This work will be expanded in the future through the integration of congestion control and security problems when moving packets from CHs to the sink node.