240 likes | 621 Views
An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks. Chung-Wei Wu, Tsung-Che Chiang, and Li-Chen Fu IEEE C ongress on Evolutionary C omputation (CEC ) Beijing, July 11, 2014, . Outline. Introduction Proposed algorithm Experimental results
E N D
An Ant Colony Optimization Algorithm for Multi-objective Clustering in Mobile Ad Hoc Networks Chung-Wei Wu, Tsung-Che Chiang, and Li-Chen Fu IEEE Congress on Evolutionary Computation (CEC) Beijing, July 11, 2014,
Outline • Introduction • Proposed algorithm • Experimental results • Conclusions
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.
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 headwill be chosen for communication. • Each node is either a cluster head or a cluster member. • Cluster members are chosen from the neighbor set.
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 .
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
ACO-based approach for multi-objective clustering problem • Cluster construction Repair function Initialization Repair solutions Bit string encoding Removal redundant heads No Evaluation Fitness function Yes Pheromone update end Adjust cluster head tendency
Permutation encoding (literature) • It encodes a solution into a sequence of integers. • It decodes a solution by picking up heads and then assigning members. : number of nodes 5 5 1 4 3 3 2 6 6
Permutation encoding (literature) • Multiple encoded sequence generate the same solution. • Some solutions cannot be generated. 5 5 5 5 1 1 4 4 3 3 3 3 2 2 6 6 6 6 5 5 1 4 3 3 2 6 6
Bit string encoding (proposed) • It encodes a solution into a bit string. • A 1-bit denotes that the node is chosen as a cluster head. 1 5 3 3 4 4 2 6
Bit string encoding : number of nodes
Repair function • Repair the invalid solutions • Invalidsolutions : the solutions which can’t cover the whole networks • Some nodes are neither cluster heads nor cluster members
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.
Repair function • Remove the redundant cluster heads • A cluster head is redundantif 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
Fitness evaluation • We do non-dominated sorting to rank solutions. • Fitness function of solution • denotes the set of solutions f2 rank 1 rank 2 rank 3 rank 4 f1 0 0.25 0.25 0.5 fitness = (3-1)/(2+1+1+0) = 0.5
Pheromone structure pheromone Node 3 is selected as a head in probability 0.5. bit sequence 1 5 3 3 4 4 2 6 clusters
Pheromone update • Pheromone update function • Update the pheromone based on the difference in average fitness • An example of calculating denotes the pheromone of node atgeneration t is a constant, called pheromone evaporation factor population fitness pheromone 0.5 0.25 0.25 0 (0.5+0.25)/2 (0.25+0)/2= +0.25
Experimental settings • Problem instances • gird size (M): 100100 and 200200 • number of nodes: 100, 200, and 300 • Parameters:
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.
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
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
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.
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. Random choosing the heads Redundant head Black: heads Gray: members