Download - An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks
![Page 1: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/1.jpg)
An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc
Networks
Chung-Wei Wu, Tsung-Che Chiang, and Li-Chen FuIEEE Congress on Evolutionary Computation (CEC)
Beijing, July 11, 2014,
![Page 2: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/2.jpg)
2
Outline• Introduction• Proposed algorithm• Experimental results• Conclusions
![Page 3: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/3.jpg)
Introduction• Mobile Ad Hoc Networks (MANETs)
– MANET is a wireless network constructed by mobile devices.
– The mobile devices communicate without infrastructures (base stations).
– It has great applications in a variety of areas such as disaster relief, mobile conferences, and battle fields.
![Page 4: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/4.jpg)
4
Clustering in MANET• Clustering constructs a hierarchical structure to
reduce the routing scale of MANETs.• It divides nodes in a MANET into several groups
(clusters). – For each cluster, a cluster head will be chosen for
communication.– Each node is either a cluster head or a cluster member. – Cluster members are chosen from the neighbor set.
![Page 5: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/5.jpg)
5
Objective functions• Number of clusters
• denotes the set of cluster heads.• Load imbalance
• is defined by (), where is the number of nodes in the whole network.
• denotes the number of members of cluster head .• Total power consumption
• denotes the Euclidean distance of .
![Page 6: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/6.jpg)
6
Multi-objective optimization• Minimize
– denotes the solution space.– denotes the objective function.
• Pareto dominance– We say solution A dominates solution B if and only if
• A is not worse than B for all objective functions.• A is better than B for at least one objective.
• Pareto optimal solution – a solution that cannot be dominated by any other solution
• Goal– find or approximate the set of Pareto optimal solutions
![Page 7: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/7.jpg)
7
ACO-based approach for multi-objective clustering problem
Initialization
No
end
Yes 𝑇𝑒𝑟𝑚𝑖𝑛𝑎𝑡𝑒 ?
Cluster constructionBit string encoding
Repair functionRepair solutions
Removal redundant heads
Evaluation
Fitness function
Pheromone update
Adjust cluster head tendency
![Page 8: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/8.jpg)
8
Permutation encoding• It encodes a solution into a sequence of integers.
–
• It decodes a solution by picking up heads and then assigning members.3 2 1 4 5 6
3
1 5
2
4
6
5
6
3
: number of nodes3 2 1 4 5 6
(literature)
![Page 9: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/9.jpg)
9
Permutation encoding• Multiple encoded sequence generate the same
solution.
• Some solutions cannot be generated.
3 2 1 4 5 6 3 4 5 6 1 2
31 5
24
6
5
6
31 5
6
42
5
3
6
3
(literature)
3
1 5
24
6
5
6
3
![Page 10: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/10.jpg)
10
Bit string encoding• It encodes a solution into a bit string.
– – A 1-bit denotes that the node is chosen as a cluster head.
node1 node2 node3 node4 node5 node6
34
1
2
5
0 0 1 1 0 0
64
3
(proposed)
![Page 11: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/11.jpg)
11
Bit string encoding
Permutation encoding Bit string encoding
Search spaceMapping Many to one One to one cluster head selection Depends on the position
in the sequenceIndependent
: number of nodes
![Page 12: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/12.jpg)
12
Repair function• Repair the invalid solutions
– Invalid solutions : the solutions which can’t cover the whole networks• Some nodes are neither cluster heads nor cluster
members0 0 1 1 0 0 0 0 0 0 0 0
![Page 13: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/13.jpg)
13
Repair function• Repair the invalid solutions
– We calculate a score of each uncovered node and then choose the node with the lowest score as a cluster head until the network is completely covered.
𝑠𝑐𝑜𝑟𝑒𝑣=𝑤 ∙𝑝𝑜𝑤𝑒𝑟 𝑐𝑜𝑛𝑠𝑢𝑚𝑝𝑡𝑖𝑜𝑛𝑜𝑓 𝑣+ (1−𝑤 ) ∙ 𝑙𝑜𝑎𝑑𝑖𝑚𝑏𝑎𝑙𝑎𝑛𝑐𝑒𝑜𝑓 𝑣
![Page 14: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/14.jpg)
14
Repair function• Remove the redundant cluster heads
– A cluster head is redundant if its members and itself can be covered by other cluster heads.
– We calculate the score of each redundant head, then delete the head with the highest score until there are no redundant heads.
Redundant head
𝑠𝑐𝑜𝑟𝑒𝑣=𝑤 ∙𝑝𝑜𝑤𝑒𝑟 𝑐𝑜𝑛𝑠𝑢𝑚𝑝𝑡𝑖𝑜𝑛𝑜𝑓 𝑣+ (1−𝑤 ) ∙ 𝑙𝑜𝑎𝑑𝑖𝑚𝑏𝑎𝑙𝑎𝑛𝑐𝑒𝑜𝑓 𝑣
![Page 15: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/15.jpg)
15
Fitness evaluation• We do non-dominated sorting to rank solutions.
• Fitness function of solution
– denotes the set of solutions
f1
f2
rank 1rank 2rank 3rank 4
fitness = (3-1)/(2+1+1+0) = 0.5
0.25
0.25
0
0.5
![Page 16: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/16.jpg)
16
Pheromone structure
node1 node2 node3 node4 node5 node60.2 0.3 0.5 0.5 0.4 0.4
0 0 1 1 0 0pheromone
bit sequence
3 4
1
2
5
643
clusters
Node 3 is selected as a head in probability 0.5.
![Page 17: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/17.jpg)
17
Pheromone update• Pheromone update function
– Update the pheromone based on the difference in average fitness• An example of calculating
denotes the pheromone of node at generation tis a constant, called pheromone evaporation factor
0 0 1 1 0 00 0 1 1 0 01 0 1 0 0 0
population fitness
0.25
0.5
0.25
(0.5+0.25)/2 (0.25+0)/2= +0.25
1 0 1 1 0 0
0
0.4 0.3 0.8 0.7 0.2 0.1pheromone
![Page 18: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/18.jpg)
18
Experimental settings• Problem instances
• gird size (M): 100100 and 200200• number of nodes: 100, 200, and 300
• Parameters:Parameter Value Meaning
Evaporation factorInitial pheromoneWeight factorTransmission rangeNumber of antsNumber of generation
![Page 19: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/19.jpg)
19
Experimental settings• Benchmark algorithms:
• weighted clustering algorithm (WCA)– a greedy heuristic based on weighted sum of
objectives• genetic algorithm (GA)
– permutation encoding + weighted sum of objectives• weighted sum ACO (WSACO)
– bit string encoding + weighted sum of objectives• multiobjective ACO (MOACO)
– bit string encoding + Pareto ranking
• Each algorithm was applied 10 times to each scenario.
![Page 20: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/20.jpg)
20
grid instances• WCA : Greedy heuristic• GA : Permutation encoding+ aggregated objective clustering• WSACO : Bit string encoding + aggregated objective clustering• MOACO : Bit string encoding + multi-objective clustering
• : Number of clusters• : Degree of load balance • : Power consumption• : Number of nodes
The best value is marked in bold
![Page 21: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/21.jpg)
21
grid instances• WCA : Greedy heuristic• GA : Permutation encoding+ aggregated objective clustering• WSACO : Bit string encoding + aggregated objective clustering• MOACO : Bit string encoding + multi-objective clustering
• : Number of clusters• : Degree of load balance • : Power consumption• : Number of nodes
The best value is marked in bold
![Page 22: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/22.jpg)
22
Conclusions• We proposed an MOACO algorithm for the clustering
problem in MANET.• The proposed bit-string encoding/decoding scheme
avoids duplicate solutions and the position dependency in the traditional permutation scheme.
• We proposed a repair algorithm to make solutions feasible and better.
• MOACO performs better than several benchmark algorithms.
• Future work is to extend our work with the dynamic situations, and we will investigate the impact of parameter values on the algorithm performance.
![Page 23: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/23.jpg)
THANK YOU FOR YOUR ATTENTION
![Page 24: An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks](https://reader035.vdocuments.us/reader035/viewer/2022081507/56816385550346895dd46f30/html5/thumbnails/24.jpg)
24
Repair function• Remove the redundant cluster heads
– A cluster head is redundant if its members and itself can be covered by other cluster heads.
– We calculate the score of each redundant head, then delete the head with the highest score until there are no redundant heads.
Black: headsGray: members
Redundant headRandom choosing the heads
𝑠𝑐𝑜𝑟𝑒𝑣=𝑤 ∙𝑝𝑜𝑤𝑒𝑟 𝑐𝑜𝑛𝑠𝑢𝑚𝑝𝑡𝑖𝑜𝑛𝑜𝑓 𝑣+ (1−𝑤 ) ∙ 𝑙𝑜𝑎𝑑𝑖𝑚𝑏𝑎𝑙𝑎𝑛𝑐𝑒𝑜𝑓 𝑣