A Heuristic Ant Algorithm for Solving QoS Multicast Routing Problem Chao-Hsien Chu; JunHua Gu; Xiang Dan Hou; Qijun Gu Congress on Evolutionary Computation Proceedings of the 2002
Outline Introduction Ant Colony Behaviors QoS Multicast Routing Model Ant Algorithm Result and Analysis Conclusions
Introduction QoS Multicasting Routing(QMR) Problem : Concerns the search of optimal routing trees while meeting all QoS requirements; Is NP-complete; Can be solved by : Dijkstra algorithm to find the shortest path, Steiner tree routing algorithm to seek minimum networking cost, Finding multicast tree that paths cost is minimized.
Ant Colony Behaviors (1) When an obstacle appears on the moving path of an ant population, ants can find a new optimal path quickly. Because : An ant can excrete a material, called pheromone, along the path on which it moves. Ants can sense this material and detect its intensity. They can then use pheromone intensity as a guide to move and tend to move toward the direction of higher intensity, thus the ants can find the food by this kind of information exchange.
Ant Colony Behaviors (2) The key features of an ant algorithm include : Distributed computation, Positive feedback, And constructive greedy heuristic.
QMR Model The network is considered as a connected, undirected and weighted graph. N : V denotes the set of network nodes, E denotes the set of bi-directional links, sєV is the source node in multicast, is the set of destination node in multicast.
QoS Measures (1) For any link eєE : Delay function, delay(e) : E→R, Delay jitter function, delay_jitter(e) : E→R, Cost function, cost(e) : E→R, Bandwidth function, bandwidth(e) : E→R. For each node nєV : Delay function, delay(n) : V→R, Delay jitter function, delay_jitter(e) : V→R, Cost function, cost(e) : V→R, Packet lost rate function, packet_loss(e) : V→R.
QoS Measures (2) Relationships exist in the multicast tree T(s,M) : Delay(PT(s,t))= Cost(T(s,M))= Bandwidth(PT(s,t))=min{bandwidth(e),eєPT(s,t)} Delay_jitter(PT(s,t))= Packet_loss(PT(s,t))= Where PT(s,t) is the routing path from s to t.
QMR’s Objective To find a multicast tree T(s,M), which satisfies : Delay constraint : Delay(PT(s,t)) ≦ D t, Bandwidth constraint : Bandwidth(PT(s,t)) ≧ B, Delay jitter constraint : Delay_jitter(PT(s,t)) ≦ DJ t, Packet loss rate constraint : Packet_loss(PT(s,t)) ≦ PL t, And Cost(T(s,M)) is minimized.
Ant Algorithm Init(); // step 1 CheckConstraint(PL,B); // step 2 SetupUp(tabu); // step 3 ChooseNextNode(tabu); // step 4 ComputeIntensity(); // step 5 UpdateIntensity(); // step 6 CheckStop(); // step 7
Ant Algorithm (1) 1) Initialize network nodes t:=0; NC:=0; τ ij =c; △ τ ij =0; 2) Check PL/B (packet loss rate/Bandwidth) of all nodes, deletes those edges that do not satisfy the PL/bandwidth constraint.
Ant Algorithm (2) 3) Setup tabu table. s:=1; For k:=1 to m Put the values of source node into tabu k (s); /* Tabu is used to save the nodes that were reached before t. tabu k (s) denotes the s-th node visited by the k-th ant in the current route and s is the index of tabu table. */
Ant Algorithm (3) 4) Repeat this step until tabu is full. s:=s+1; For k:=1 to m Choose a node j according to the probability : Compute the delay and delay jitter to reach node j. If the result exceeds the constraints, choose a new node; otherwise move the k-th ant to node j.
Ant Algorithm (4) 5) Compute △ τ k ij and △ τ ij. For k:=1 to m (?) For every edge(i,j) For k:=1 to m Set Set △ τ ij := △ τ ij + △ τ k ij
Ant Algorithm (5) 6) Compute τ ij (t+n) for every edge (i,j). τ ij (t+n)=ρ*τ ij (t)+ △ τ ij t:=t+n; NC:=NC+1; Set △ τ ij :=0 for every edge (i,j). 7) Check stop condition. If (NC<NC max ) and (not develop state) then empty all tabu; goto step 2. else output the minimum cost path until all nodes have been passed.
Example Source Node Destination Node B=70,D=46, DJ=8, PL=0.001
Result and Analysis (1) Performance of Ant AlgorithmPerformance of Genetic Algorithm
Result and Analysis (2) Scalability of ant algorithm – 16 nodesScalability of ant algorithm – 20 nodes
Conclusions The ant algorithm has the characteristics : The cost curve is stable, Optimum or suboptimum can be found quickly, Delay jitter curve can turn to stability quickly, Good scalability. Applying ant algorithm to solve QMR is a new attempt and needs more extensive tests.