Ant colony optimization for multicast routing - Circuits ... - Google Sites

1 downloads 207 Views 342KB Size Report
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

Suggest Documents