/ / / Alg 1

Research Article

# Energy Efficiency Performance Improvements for Ant-Based Routing Algorithm in Wireless Sensor Networks

## Algorithm 1

IEEABR algorithm pseudocode.
 Function 1: Initialization //Function: Initialization //prototype of Procedures Next-Hop-Selection; Calculate-Pheromone; //initialize the global variable S = Source ID; //initialize probability distribution table = Number of nodes in network; = the set of neighboring nodes of node ; ; dp = distribution probability; [ ][dp] = Source probability distribution table; ; // is the probability of jumping from node to node //Initiate the routing table For ( ; ; ){ [dp]· ; D = Destination ID (sink ID); FA [S, M , D] = forward ant [source ID, memory of forward ant, Destination ID]; Ph = amount of Pheromone; = initial energy; BA [S, M , Ph, D] = Backward Ant [Source ID, Memory of backward ant, Pheromone value, Destination ID]; = visibility array; = Intermediate node ID; Function 2: Decision making //If the intermediate node is equal to the destination node, then calculate the pheromone and construct the backward ant L1:   If ( ) Calculate-Pheromone; Construct the BA [S, M , Ph, ]; L2:       Next-Hop-Selection; If ( ) Eliminate BA [ , M , Ph, ]; //update the routing table = number of visited nodes by the backward ant Goto L3; Else Goto L2; Else Next-Hop-Selection; Goto L1; L3: End Function 3: Next hop selection //procedure Next-Hop-Selection Proc Next-Hop-Selection { = next Intermediate node = actual energy; = Number of nodes; = visibility of ; = ; ; = pheromone routing table; = probability of jump to s as a next hop; = ; = number of neighbors which are located in the destination direction; = array for storing probability amount of neighbors; ; = 0; For ( ; ; ++){ If ( ) ; } ; If ( ·FA) Loop happens then eliminate FA; Else {LastV= Count the member of M ; If (LastV = 2) Delete M[i]; ; ; } } Function 4: Update of source probability distribution table //update the source probability distribution table For ( ; ; ++){ Check the RoutingTable · S; Find nodes which could be simultaneously Then = ; Update [dp]· ; For other neighbor = ; Update [dp]· ; //check the link failure If ([dp]· ) //it means the link is lost { ; ); Update [dp]· ; } } Function 5: Pheromone calculation // procedure Calculate-Pheromone Proc Calculate-Pheromone{ Min. ; Avg. ; = number of visited nodes by forward ant ; BA·Ph }

Article of the Year Award: Outstanding research contributions of 2020, as selected by our Chief Editors. Read the winning articles.