Institute of Automation, Shanghai Jiaotong University, Shanghai, 200030, China. E-mail:wv(ii> ... polynomial time, bu
Ant Colony Optimization For Multicast Routing Ying Wang Jianying Xie Institute of Automation, Shanghai Jiaotong University, Shanghai, 200030, China
E-mail:wv(ii>,controlnet.dhs.org very limited amount of memory, and their individual behavior is apparently random. However, real ants are
Abstract Ant colony optimization (ACO) is a new optimization algorithm, and has the limitation of stagnation. In this paper, the performance of ACO is improved and the improved ACO is combined with heuristic algorithm to solve the multicast routing problem. Simulation shows that the results of this algorithm for multicast routing are better than the heuristic algorithms; this algorithm is also well suited for parallel implementation and execution.
I.
Introduction
capable of finding shortest or near shortest paths between a food source and their colony (nest). They lay some pheromone on the ground, thus mark the path by the trail of the substance. An isolated ant moves essentially at
random. An ant encountering a previous laid trail can detect it and decide with high probability to follow it, and then reinforce the trail with its own pheromone. The collective behavior, where the more ants following a trail, the more attractive that trail becomes. The process is thus
MANY multimedia communication applications require a source to send information to multiple destinations through a communication network. To support these applications, it is necessary to determine a multicast tree of minimal cost for every communication session.
characterized by a positive feedback loop, where the probability with which an ant chooses a path increases with the number of ants that previously chose the same path [41[51[61. 2.2.Ant Colony Optimization Algorithm
The problem of determining multicast trees is NP-complete. This problem is also could be considered as
According to the behavior of real ants Dorigo et a1 [4][5][6] has defined the heuristic algorithm ACO.
the Steiner tree problem. Good heuristic algorithms are of
In this section the ACO algorithm in reference [4][5][6]
practical. Kyou et al. [l] proposed a heuristic algorithm
is described by the example of well-known traveling
for Steiner tree problem. This algorithm is based on the
salesman problem. Although the model definition is
MST (minimum Span tree) algorithm, and takes a pseudo polynomial time, but this algorithm could not get the best result. Two genetic algorithms were proposed to solve the Steiner tree problem [2] [3]. But these algorithms have
influenced by the problem structure, the same approach can be used to solve other optimization problems. Given a set of n towns, the TSP can be stated as the problem of finding a minimal length closed tour that visits
some limits, such that the neighbor matrix of the network is taken as the code; it is complex and lowers the
each town once. We call d,
efficiency of the algorithm. Ant Colony Optimization is a new Optimization
between towns i and j ; in the case of Euclidean TSP,
algorithm; it is used in many Optimization problems now. In this paper, we combined ACO with the heuristic
d,
the length of the path
is the Euclidean distance between i and j
algorithm for multicast routing. This paper is organized as
do = [(xi- x i ) 2
(i.e.,
+ ( y i- yi)2]”2). An instance ofthe TSP
follows: The ACO algorithm is described in section 2. The
is given by a graph G ( N , E ) , where N is the set of
multicast routing algorithm based on ACO is presented in
towns and E is the set of edges between towns (a fully
section 3. Simulation results are given in section 4.
connected graph in the Euclidean TSP). b,(t)(i= 1,2,3...n) be the number of ants in town
Conclusions are presented in section 5.
11.
Ant Colony Optimization
2.1 Ants in nature
n
time t and let m =
b,(t)(i= 1,2,3...n) be the total ,=I
Individual ants are relatively simple insects that have a
0-7803-6253-5/00/$10.00 02000 IEEE.
Let
i at
54
number of ants. Each ant is a simple agent with the following characteristics: it chooses the town to go to with
l l d , , . This quantity is not modified during the run of
a probability that is a function of the town distance and of
the ACO, as opposed to the trail, which instead changes
the amount of trail present on the connecting edge; to
according to the previous formula (1).
force the ant to make legal tours, transitions to already
The transition probability from town i to town j for the
visited towns are disallowed until a tour is completed (this
k-th ant is defined as
is controlled by a tabu list); when it completes a tour, it lays a substance called trail on each edge ( i , j ) visited.
Pyk =
1c
r y a(t)GJy ( t )
seallowed tg
Let r , , ( f ) be the intensity of trail on edge ( i , j ) at time t . Each ant at time t chooses the next town, where
a
(OGJ,P ( t )
(3) Since its first development, ACO has been applied to a
it will be at time t + 1 . After all the m ants complete its
variety of problem areas, only a few of which are mentioned here. These include the traveling salesman
tours the trail intensity is updated according to the
problem (TSP) [4][5][6]; static routing (load balancing) in
following formula:
circuit switched telecommunications networks [7][8].
zV(t + n )= p * z V ( t ) + A z g
111.
p E (0,l)
m
Arb = z A r i j k k=l
Multicast routing algorithm for multicast routing
The communication network is modeled as a graph G ( N ,E , C ) , where N is a set of nodes and E is a set of
Where p is a coefficient such that Ar,, represents the
edges. The cost is denoted by the. weight C of the edge.
evaporation of trail between time t and t + n .
A multicast routing group D , is a set of nodes
'
i-
Arv = L, 0
participating in the same network activity, and is identified if the K
- th ant use edge(i, j ) in its tour
by a unique group address. A multicast routing group tree
T is a tree spanning all members of the group, and the
otherwise
(2) Where Q is a constant and L, is the tour length of the
cost of the tree is minimum. Based on ACO algorithm for TSP, we make a few
must be set to a
changes for our multicast routing problem. The multicast
value 0 < p < 1 to avoid unlimited accumulation of trail.
routing problem is considered as the Steiner tree problem
At beginning, set the intensity of trail at time 0, rf,(0) to
are not in the multicast routing group must be found. For the network G ( N ,E , C ) , we first set the ants on the
k-th
ant. The coeflicient p
in this paper. To solve this problem, the Steiner nodes that
a small positive constant C
. In order to satisfy the
constraint that an ant visits all the n different towns, each ant is associate with a data structure called the tabu list, that saves the towns already visited up to time t and forbids the ant to visit them again before a tour have been completed. When a tour is completed, the tabu list is used to compute the ant's current solution (i.e., the distance of the path followed by the ant). The tabu list is then emptied and the ant is free again to choose. tabuk is defined as the dynamically growing vector which contains the tabu list of the k - th ant. The visibility r7f, is the quantity
55
nodes in the multicast routing group randomly, thep chose the Steiner nodes SD(SD E N I D , D is the multicst routing group) with the probability y, , when all the ants have finished choosing the SD , we get the complete graph SG(SN,SE,SC), { SN = S D w D,SE is the comparable edge, SC is the comparable cost} for every ants, then find the MST and the total cost Lk of MST for it; when the graph is not connected, a punishment is given to the La. ACO is used to find the SD , for every nodes n E N I D , we set trail intensity r,, ( n E N / D ) , and
=
1”10
{ the k-th ant chose node i with the
i f the K - th ant uses n in its tour
Lk
probability pn
otherwise
’-
as the Steiner nodes} }
The probability for the nodes n to be chosen by the k - th
find the MST and the total cost Lkof MST for SG(SN,SE, SC),
ant as Steiner Tree Nodes is
find the best tree
(4)
set the SD of m-th ant as the best SD if the best SD= =the SD gotten N cycles
(5)
before {update A t ) 1 update; A T , , ;
where the visibility: qn = Zlld,,,(i E D,n E N I D )
update P,, AT,, = 0;
Ant Colony Optimization (ACO) algorithm has the limitation of stagnation. In this paper, the performance of
NC=NC+l: Print the best tree
ACO is improved by follows:
1. Reservation of the best result. After all the ants complete its tours, find the best result and reserve it. 2. When the algorithm runs for many cycles, if p
}
End Figure 1 is the improved ACO algorithm for the Steiner tree.
In figure 1, n is the number of the nodes in the
is big the ant will chose the nodes have been used before
network, d is the number of nodes in the multicast routing
with high probability. The performance of the algorithm is improved by decrease p . But the speed of the algorithm is
group.
IV.
also lowered at the same time, and for large instance the
Simulation and Results
trail on the edges which have never been used by the ants will lower to 0: In this paper, p is adaptively changed. Initially p ( t o )= 1 : if the best result of the algorithm is
4.1 Network Models
not improved in N cycles:
Cartesian co-ordinate grid. The location of each node
Random graph can be used to simulate network models. A graph can be constructed by distributed n nodes across a should have integer co-ordinate and the edges can be added to the graph by considering all possible pairs
pmln is the minimum of p which is used to guarantee
of
the speed of the algorithm.
nodes
and
using
P ( u , v ) = pexp-
-d(U, V ) ffL
Figure 1 is the improved ACO algorithm for the Steiner tree that is based on the definition’ before.
the
probability
(U, v)
function
(7)
to create an edge, where d(u, v) is the Euclidean distance between the node’s location, L is the maximum possible distance between two nodes. The parameter a(0 < a < 1)
begin qn := 1 1/d,, ;t:=O; NC:=l; P, := C ; Ar,, := 0;
is used to increase or decrease the number of connections further away. p(O