You are on page 1of 5

MALBACO - A New Multi-Agent Load Balanced Ant Colony Optimization Algorithm for MANETs

Ditipriya Sinha Calcutta Institute of Engg. & Mgmt ditipriya_sinha@yahoo.co.in Abstract


Mobile ad hoc networks do not have any fixed topology. Routing in such network is very challenging and difficult due to the mobility of the nodes. Ant colony optimization is an efficient optimization technique used to find the optimum shortest route in the adhoc network. This paper describes a new routing algorithm for MANETs using Ant Colony Optimization technique. Special attention has been given to the load balancing and congestion control in network. Simulation work is presently being undertaken to evaluate the performance of the model.

Rituparna Chaki West Bengal University of Technology rchaki@ieee.org


Section 5 concludes the discussions presented in this paper.

2. Review
In flat (or non-clustered) networks the nodes are not clustered into any form of hierarchical structure, all nodes are homogeneous in terms of network responsibility and packet handling. The first protocols to use ACO used basic source routing or distance vector algorithms where the traditional routing tables were replaced with pheromone tables, while more advanced protocols also incorporated ad hoc characteristics such as mobility and congestion into the pheromone mechanism.

1. Introduction
The mobile ad-hoc network (MANET) consists of a number of mobile routers (and associated hosts) connected by wireless links. MANETS find their applications in military situations, disaster areas, sensor networks, essentially any environment where there is no fixed communication infrastructure or to which there is no access to said infrastructure. The nodes are free to move in a random fashion. The frequent changes in the network topology, coupled with the unavailability of any controller makes routing in MANETs much complicated as compared to that in wired networks. One way of finding routes is by using the techniques of swarm intelligence. In this paper, Ant Colony Optimization Technique (ACO) [13] has been used for route finding. Ant colony optimization is a class of optimization algorithms modeled on the actions of an ant colony. Artificial 'ants' - (simulation agents) locate optimal solutions by moving through a parameter space representing all possible solutions. The rest of this paper is organized as follows: Section 2 contains a brief review of the commonly used routing algorithms for MANET using the swarm intelligent mechanisms present in natural ant colonies. Section 3 is a description of the proposed algorithm, followed by the performance analysis in section 4.

2.1. SACO
The SACO algorithm [4, 14] aimed to find the shortest path between two nodes on a graph. In SACO, a number of ants are placed on the source node of the graph. During each of the iterations, each ant incrementally constructs a path to the destination node. The next hop node is chosen based on the highest concentration of pheromone. It supports not only multiple routes to the destination but also natural, built-in load-balancing mechanism between the different routes [2]. However, network load and the congestion have not been taken into consideration by SACO.

2.2. AntNet
Di Caro and Dorigo [6, 7, 9, 13] describe the application of ACO to dynamic routing in packetswitched networks, using an algorithm that they call AntNet. This is the first application where ACO is used for routing with a source routing mechanism, i.e. the entire route of the packet is listed in the header of the packet [6, 7].

978-1-4244-5612-3/09/$26.00 c 2009 IEEE

861

2.3. Ant-Colony Based Routing Algorithm (ARA)


Gues et. al. [10,11] presents an ACO-based routing scheme using distance vector routing. Route discovery in ARA is done by broadcasting Forward Ants (FANT). ARA implements the packet sequencing mechanism to prevent packet loops. In ARA, destinations respond to multiple FANT packets received from the same node. Thus ARA supports multipath routing [10, 11].

the conclusion that network load balancing has to be given extra care for achieving optimum throughput. In this paper, a new routing technique called Multi-Agent Load Balanced ACO (MALBACO) has been proposed. This algorithm takes care of both load and congestion in a mobile ad-hoc network.

3.2. Assumptions
There are two colony of ants.0 indicates red colony and 1 indicates blue colony. Initially there are two arrays, one is blue pheromone array and the other is red pheromone array. The arrays are initialized as follows: For red pheromone array: [0000] For blue pheromone array: [1111] All the possible routes to the destination node are already known by the source node and all the details of next hop node in each route are stored in routing table [1]. LOCK array that is used for checking the available links is initialized as [000..0]

2.4. MACO
MACO [8] is a routing algorithm that takes care of the load balancing of the network. It uses more than one colony of ants to search for optimal path, and each colony of ants deposits a different type of pheromone of a different color. Although ants in each colony respond to pheromone from its own colony,

2.5. LCRACO
This algorithm takes special care of the load in the network [1]. This algorithm uses two colony of ant, Red colony ant chooses the path where concentration of red pheromone is high and blue colony ant chooses the path where concentration of blue pheromone is high. The probability of red/blue pheromone deposition rk / bk is used for updating the red / blue pheromone matrix as follows rkn (t+1) = rkn (t)+qr. bkn (t+1) = bkn (t)+qb. where , qb =1/ ckn and qr =1/ckn Ckn is the cost value between source and destination node. It means the average time required to send message between source node k and next hop node n. The pheromone evaporation for the red and blue pheromones are done using rkn(t+1) = rkn (t)- *ckn, and bkn(t+1) = bkn (t)- *ckn respectively, where is the evaporation constant. The problem arises due to the fact that a particular color of ant always chooses a particular path as the concentration of pheromone is found to be high on that path. Eventually this leads to an increased load on that path a performance degrades.

3.3. Definitions
3.3.1. Cost Table. It consists of the cost of reaching nodes in the next hop. The format is: Sip Nip Csn, where Sip is the source node IP Address, Nip is the neighborhood IP Address, and Csn is the cost on the path measured in terms of the average time required for sending HELLO message from node s to n and receiving an ACK message back from node n. 3.3.2. The HELLO message. Seqno Sip Dip St1, where Dip is the Destination node and St1 is the start time 1 (i.e., Start time of HELLO message). 3.3.3. The ACK message. Seqno Sip Nip Dip St1 St2, where St2 - Start time 2 ( i.e., Start time of ACK message). 3.3.4. Routing Table. It consists of information about the next hop node on the path to particular destination node. Thus the routing table vector is Sip Nip Dip. In the proposed algorithm, two arrays have been used - one is for red pheromone and another is for blue pheromone. 3.3.5. Maxphr(t). It is the maximum limit of pheromone at time t, that a link can have and still be available for use. If the total pheromone concentration of a path is higher than 'Maxphr(t)', that path will be blocked using 'LOCK' variable, and will not be

3. Proposed algorithm: MALBACO


3.1. Description of Algorithm
The review of the state of the art scenario leads to
862

2009 World Congress on Nature & Biologically Inspired Computing (NaBIC 2009)

available until the pheromone concentration decreases (due to evaporation) and comes under 'Maxphr(t). Here we assume, Maxphr(t) = Maximum amount of red pheromone at any available link at time t + Maximum amount of blue pheromone at any available link at time t . 3.3.6. LOCK[m][m]. LOCK variable concept is used here for "Congestion Control" in the system. If system has a total of m nodes, then LOCK[][] is a [m x m] array initialized with [0,0,0,....0,0]mxm. If LOCK[i][j] = 1, that means the pheromone concentration on the path ij at that time t is too high (>Maxphr(t)), and the path is blocked for the time being. The path is available if LOCK[i][j] = 0. 3.3.7. Red pheromone. Red pheromone array gives the information about the amount of red pheromone deposited by red ants between source and all possible next hop nodes to reach the destination node. [ r1 r2 r3........... rn ] Here, ri represent the pheromone value deposited on the way from the source node to ith node from the next hop list of the routing table. The pheromone value ri is modified using the equation (2). For evaporation of pheromone, equation (5) is used. Probability for ant of red colony is given as: Pknd(t)= { rkn(t)/ bkn(t)} / xNk(t){ rkx(t)/ bkx(t)}-- (1) where, t is the time index Pknd(t) = The probability that an ant at node k at time t traveling to node d will select node n bkn(t) = The blue pheromone level at node k at time t associated with using node n as a next hop node. rkn(t) = The red pheromone level at node k at time t associated with using node n as a next hop node Nk(t) = The set of feasible node connected to node k at time t. Each ant deposits certain amount of pheromone. The amount of pheromone deposited is proportional to the quality of the route found by the ant depositing. Modification of pheromone table for the ant of red colony is done using following equation: Pknd(t)= rkn(t)+1/q-------------(2) where, q=ckn(t) ckn(t)=cost on the path between node k and n 3.3.8. Blue pheromone. Blue pheromone array gives the information about the amount of blue pheromone deposited by blue ants between source and all possible next hop node to reach the destination node In the blue pheromone array, the structure of the blue pheromone array is given below:

[ b1 b2 b3........... bn ] Here, bi represent the pheromone value deposited on the way from the source node to ith node from the next hop list of the routing table. The value of bi is modified using the equation (4) and evaporated using the equation (6). Probability calculation for ant of blue colony is given by: Pknd(t)={ bkn(t)/ rkn(t)}/ xNk(t){ bkx(t)/ rkx(t)}---(3) where t is the time index. Modification of the pheromone table for the ant of blue colony is done using following equation: Pknd(t)= bkn(t)+1/q-------------(4) Evaporation of pheromone is done using following equations for both red and blue ant: Pknd(t)= rkn(t)- *ckn(t)----------(5) Pknd(t)= bkn(t)- *ckn(t)----------(6) where, =evaporation constant.

3.4. The Proposed Algorithm


Step1: The source node sends HELLO message after fixed time interval to check cost table. a) If start time1 = t1 when HELLO message is sent and the neighbor node receives the message at time t2. The total time required to send HELLO message is: T1=t2-t1 b) If start time2 = t2 when ACK message is sent by the neighbor node and source node receives the message at time t3. So total time required to send ACK message is: T2=t3-t2 c) Total time T = (T1+T2)/2 . Update Csn with Txk, where k is the cost per unit time. Step2: For each (Sip) a) {Construction of ant} For each ant k =1 to m generate an alternate sequence of 0 and 1 and store it in v. b) For a particular node n, all the feasible paths are checked continuously, set Maxphr(t) = Max( ri(t)) + Max( bj(t)) c) For a particular path from node k to node n if (( rkn(t)+ bkn(t)) > Maxphr(t)) then set LOCK[k][n] =1 else set LOCK[k][n] = 0 d) If v is 0 then Begin i) For each node check all the available paths using LOCK[][]. ii) {Probability calculation of available paths} Each node calculates the probability of choosing the path based on the concentration of pheromone for all its available next hop node to reach a destination node.
863

2009 World Congress on Nature & Biologically Inspired Computing (NaBIC 2009)

The probability of choosing a particular path by red ant varies due to the attraction by red pheromone and the repulsion by blue pheromone. Here it is calculated using the equation (1). iii) If for any two paths, the probability value is same, then the path with higher link utilization that is, with higher blue pheromone value will be chosen. iv) From the available paths the ant chooses next hop node on the basis of the path in which deposition of blue pheromone is highest. v) Update blue pheromone table using equation(4) End Else Begin i) For each node check all the available paths using LOCK[][]. ii) {Probability calculation} Each node calculates the probability of choosing the path based on the concentration of pheromone level for all its available next hop node to reach particular destination node. This probability of choosing a particular path by blue ant varies due to the attraction by blue pheromone and the repulsion by red pheromone. Here it is calculated using the equation (3). Step 3: Evaporation of red / blue pheromone is done using the evaporation equation (5) and (6). During evaporation if the amount of pheromone on a link becomes 0 then evaporation on that link will be stopped for that time being. Step 4: This process continues until all the messages reach the respective destinations.

A simulation study has been performed on the proposed logic. The simulation is done in a network consists of 20 nodes. Fig 1 shows the packet delivery ratio of MALBACO and ZRP [2] as a function of mobility speed. From the graph in figure 1, it can be observed that between mobility 10km/h to 20 km/h delivery rate of MALBACO is better than ZRP[2]. However, between mobility 20km/h to 40km/h delivery rate of MALBACO is declined compared to ZRP. On the other hand between 40km/h to 50km/h MALBACO shows better performance than ZRP and when mobility is 70km/h performance of MALBACO is far better than ZRP. It is observed that overall performance of MALBACO is more stable compared to ZRP.

Figure 2. Delivery time vs load of MALBACO

4. Performance analysis of MALBACO

Figure 2 describes the delivery rate of MALBACO as a function of no of messages. If the graph is compared with SACO (Figure 4) and LCRACO (Figure 3), it is observed that performance of MALBACO is more stable compare to SACO and LCRACO.
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

--------

MALBACO ZRP

Figure 1. Delivery rate vs mobility of MALBACO

Figure 3. Delivery time vs. load of LCRACO

864

2009 World Congress on Nature & Biologically Inspired Computing (NaBIC 2009)

In case of SACO [14] and LCRACO [1] when number of messages increase delivery time increases sharply but in the case of MALBACO it does not increase sharply. In MALBACO, two colony of ant choose two different paths to reach a particular destination.
1.05 1

International Journal For Computer Science, Vol. 35(3), August, 2008. [3] Siva Kumar. D and Bhuvaneswaran.R.S, Proposal on multi agent Ants based Routing Algorithm for Mobile Adhoc Networks, in IJCSNS International Journal of Computer Science and Network Security, Vol-7, No. 6, June, 2007. [4] M.Dorigo, Ant Colony Optimization, University of Pretoria Etd, du Plessis J, 2006 [5] V.Laxmi, Lavina Jain, M.S.Gaur, Ant Colony Optimization based Routing on NS-2 in the preceedings of International Conference On Wireless Communication and Sensor Networks,WCSN 2006 [6] Gianni Di Caro,Ant colony optimization and its application to adaptive routing in telecommunication network,at IRIDIA in Sept 2004 [7] Payman Arabshahi, Andrew Gray, Ioannis Kassabalidis, Arindam Das, Adaptive Routing in Wireless Communication Network using Swarm Intelligence, Jet Propulsion Laboratory and University of Washington.,2004 [8] Kwang Mong Sim and Weng Hong Sun, Member IEEE, "Ant Colony Optimization or Routing and Load-Balancing: Survey and New Direction, part-A: System and Humans"; Vol-33,No. 5 Sep,2003. [9] Sundaram Rajagopalam, Chien-Chung Shen, A Routing Suite for Mobile Ad hoc Networks using Swarm Intelligence, Department of Computer and Information Sciences, University of Delaware, Newark, 2003 [10] M. Gunes, U. Sorges, I. Bouazizi, ARA- the ant colony based routing algorithm for MANET,ICPP Proc of the 2002 Workshop on Adhoc Networks. [11] M.Gunes,U.Sorges,I.Bouazizi,Ara-The ant colony based routing algorithm for MANETs,in ICCP Workshop on Adhoc networks(IWAHN 2002),August 2002,in pp 79-85. [12] Federick Ducatelle,Gianni De Caro,Luca Marria Gamardella,Ant Agents For Hybrid Multipath Routing in MANETs, IDSIA, Galleria 2,CH-6928 Manno-Lugano, Switzerland [13] G.Di Caro and M. Dorigo, "AntNet distributed stigmergetic control for communication networks", Journal on Artificial Intelligence Research, 1998. [14] M Dorrio,G Di Caro,Mobile Agents For Adaptive Routing, 31st International Conference Sys Hawaii, Jan 1998.

0.95 0.9 0.85 0.8 0.75 1 3 5 7 9 11 13 15 17 19 21 23

Figure 4. Delivery time vs. load of SACO

On the other hand one colony of ant is also repulsed by another colony of ant and this way load is shared by two colonies of ants and when load in the network increases delivery rate does not increase sharply like LCRACO and SACO. So the performance of MALBACO is better than SACO and LCRACO.

4. Conclusion
This paper proposes a new routing methodology MALBACO based on the theory of ant colony optimization. Simulation results show that the proposed protocol performs fairly well in controlling congestion in MANET. In this algorithm two colony of ant chooses different path for particular destination. One colony of ant is also repulsed by another colony of ant. This way load is shared by two colonies of ants. This algorithm is very useful where the bandwidth of the packets sent by a node exceeds the bandwidth of the channel.

5. References
[1] Rituparna Chaki and Ditipriya Sinha, LCRACO - A new Load and Congestion Controlled Routing based on Ant Colony Optimization, Proc. of IEEE International Workshop on Internet and Distributed Computing Systems (2008), ISBN:978-1-4244-2136-7, Decembar 2008. [2] Farhat Anwar,Md Saiful Azad,Arafatur Rahaman and Mohammad Moshi Uddin,Performance Analysis Of Adhoc Routing Protocol in Mobile WiMAX Environment, IAENG

2009 World Congress on Nature & Biologically Inspired Computing (NaBIC 2009)

865

You might also like