Keywords

1 Introduction

A mobile ad hoc network (MANET) has challenges of its own due to the mobility of its nodes and the use of wireless mode of communication. Due to the mobility of nodes, topological information needs to be updated regularly throughout the network. Further, higher the mobility of the nodes, more frequently the topological information needs to be updated. Therefore, control traffic increase with increase in mobility. On the other hand, limited bandwidth and higher transmission error rate associated with wireless mode of communication call for the judicious use of available bandwidth. Further, the communication range of each node is limited, and, as a result, multi-hop communication is the norm. Hence, mobility needs to be managed by consuming as little network bandwidth as possible. This will have positive implication on energy consumption also.

The information that a node needs to share over the network to manage the mobility consists of its relative movement, its new position, its new neighborhood etc. Depending on the design of a MANET, this information may be of use only in the vicinity of the node sharing this information or in the entire network. The latter case generates a huge volume of control traffic as each topological change needs to be propagated or broadcasted to the entire network. A simple and easy to implement technique for broadcasting is called flooding where a node re-transmits an incoming message received by it for the first time to all links other than the link through which the message is received. Flooding ensures that each node in the network receives the broadcast message provided all the nodes are connected to the network. However, it consumes lot of network bandwidth as it generates redundant network traffic consisting of nodes receiving the same message over multiple links. Further, redundant traffic is undesirable from the perspective of energy efficiency also.

Multi-point relaying (MPR) technique was introduced by Quayyum et al. [8] to reduce the volume of redundant network traffic while forwarding a broadcast message. In this technique, each node v selects a subset S of nodes among its one-hop neighbors, and only the nodes in S are allowed to re-transmit the broadcast messages received from v. The nodes in S are called multi-point relays, and are so chosen that all two-hop neighbors of v are one-hop neighbors of the nodes in S. This ensures that all two-hop neighbors of v receive the broadcast message. By restricting the privilege to re-transmit the broadcast messages received from v to only multi-point relays allows for significant reduction in redundant broadcast messages. Multi-point relaying technique works in a distributed manner, where each node independently maintains its own set of multi-point relays which is continuously updated as per the topological changes occurring in its neighborhood. The optimized link state routing protocol (OLSR) [4] utilizes MPR technique. However, the problem of finding the multi-point relays of minimum cardinality for a node is \(\mathcal {NP}\)-hard as the problem of finding the minimum dominating set in a graph reduces to it. Quayyum et al. [8] proposed a greedy heuristic to compute the multi-point relays of minimum cardinality for a give node. This greedy heuristic is described in detail in the next section. This greedy heuristic works well for sparse networks. However, for dense networks, where number of neighbors for each node is high, its performance deteriorates. This is due to large number of common two-hop neighbors (of v) between multi-point relay nodes [2].

Several techniques exist in the literature (e.g. [1, 5,6,7, 9]) to improve the multi-point relay nodes selection mechanism based on various characteristics of MANET. Most of these techniques make use of the same greedy heuristic as proposed in [8]. However, the degree of preference of a node changes from one technique to the other as per the characteristics of MANET being tackled.

Chizari et al. [2] proposed an elitist generational genetic algorithm for multi-point relay node selection that works well even for dense networks. This genetic algorithm used bit vector encoding to represent a solution, and, employed roulette wheel selection method, uniform crossover (called scattered crossover method in [2]) and adaptive feasible mutation. Instead of minimizing the number of multi-point relay nodes for a node v, it computes for each multi-point relay node u, the set of nodes that are common between two-hop neighbors of v and one-hop neighbors of u and minimizes the sumtotal of cardinalities of these sets. This objective function aims at minimizing the redundant entries in the routing table stored at v, which, in turn, aids in further reducing the redundant messages. Instead of repairing the infeasible solutions, this genetic algorithm uses a penalty term in the fitness function to deal with them. In comparison to the greedy heuristic of [8], this genetic algorithm obtained better results in general, and this difference in solution quality widens as the density of the network increases. Later Chizari et al. [3] proposed a genetic algorithm, a tabu search approach, a simulated annealing approach and a recursive hill-climbing approach for selecting multi-point relays with the objective of minimizing the cardinality of the set of multi-point relay nodes. Except for few minute differences, this genetic algorithm is the same as the one proposed in [2].

In this paper, we have proposed a steady-state genetic algorithm for selecting multi-point relays with the same objective function as used in [2]. However, our genetic algorithm differs entirely from the one proposed in [2]. Our genetic algorithm uses the integer encoding, where a solution is encoded as an ordered list of multi-point relay nodes. For dense networks, where the number of nodes in a multi-point relay set is only a small fraction of one-hop neighbors, a significant savings, not only in terms of memory usage, but also in terms of computation time is achieved by using this encoding instead of bit-vector encoding as the efficiency of genetic operators depends on the length of the chromosome. However, when using this encoding, we have to invariably deal with variable length chromosomes. Our crossover operator copies the nodes common to two solutions to the child chromosomes, whereas the mutation operator is a ruin-and-recreate operator. We have used the probabilistic binary tournament selection to select the parent solutions for crossover and mutation. We have compared the results of our approach with the heuristic of [8] and the genetic algorithm of [2]. Computational results show the superiority of our approach as our approach is able to find as good as or better solutions in comparison to these two approaches.

The remaining part of this paper is organized as follows: Sect. 2 formally defines the multi-point relay nodes selection problem tackled in this paper. It also describes the greedy heuristic of [8] as it is the most commonly used approach for this problem. The steady-state genetic algorithm developed by us is presented in Sect. 3. Section 4 reports the computational results of our approach, and compares them with the previously proposed approaches. Finally, Sect. 5 concludes the paper by outlining the contributions made and few directions for future research.

2 Problem Formulation and the Greedy Heuristic

2.1 Problem Formulation

Let us assume that we need to select the multi-point relays for the node x. We will refer to node x for which the multi-point relays are being chosen as the base node. Let us denote the set of one-hop neighbors of x by N(x), and the set of two-hop neighbors of x by \(N^2(x)\). Clearly, \(N^2(x) \subset \cup _{y \in N(x)}N(y)\). Let \(I_y = N(y) \cap N^2(x) \forall y \in N(x)\) and \(|I_y|\) the cardinality of \(I_y\).

The multi-point relay node selection problem considered in this paper seeks a subset \(S_{MPR} \subseteq N(x)\) such that \(N^2(x) \subset \cup _{s \in _{MPR}}N(s)\) and the \(\sum _{s \in S_{MPR}} |I_s|\) is minimized. This is the same objective function as used in [2], and aids in reducing the redundant messages further in case of dense networks in comparison to the objective of directly minimizing the cardinality of \(S_{MPR}\). Hereafter, this problem will be refereed to as P-MPR.

2.2 The Greedy Heuristic

Quayyum et al. [8] proposed a greedy heuristic for selecting multi-point relay nodes. To describe this heuristic, we will use the notational conventions introduced in the previous section. Let \(S_{MPR}\) be the set of multi-point relay nodes to be computed for node x. Initially, \(S_{MPR}\) is empty. This heuristic begins by adding those nodes of N(x) to \(S_{MPR}\), which are the sole neighbors of some nodes in \(N^2(x)\), and, then an iterative process ensues. The nodes in \(N^2(x)\), which are neighbors of some node in \(S_{MPR}\) are said to be covered, whereas all other nodes are uncovered. During each iteration, a node of N(x), which is not yet included in \(S_{MPR}\) and which is the neighbor of maximum number of uncovered nodes in \(N^2(x)\) is added to \(S_{MPR}\). This process is repeated till all the nodes in \(S_{MPR}\) is covered. Algorithm 1 provides the pseudo-code of this greedy heuristic. Quayyum et al. [8] also proved that the cardinality of the set of multi-point relay nodes computed by this heuristic is always within \(\log n\) times the cardinality of the optimal set, where n is the number of nodes in the network.

figure a

3 The Steady-State Genetic Algorithm for P-MPR

We have developed a steady-state genetic algorithm based approach for P-MPR. Hereafter, this approach will be referred to as SSGA. Subsequent subsections describe the salient features of SSGA.

3.1 Solution Encoding

We have represented a solution directly by the set of multi-point relay nodes. An ordered list is used to represent this set. This encoding results in substantive savings in memory usage and computation time over the bit-vector encoding for dense networks as the number of nodes in a multi-point relay set is only a small fraction of one-hop neighbors. The crossover and mutation operators need to scan the entire chromosome one or more time to produce offspring, and, as a result, efficiency of these operators depend on the length of the chromosome. Though, there is an overhead of sorting in maintaining the ordered list, it allows for efficient implementation of crossover operator as discussed subsequently. Please note that our encoding yields variable length chromosomes. However, the way, we have designed our crossover and mutation operators, the variable length chromosomes do not pose any additional challenges.

To illustrate the advantage of our encoding, suppose a node x has 10 nodes numbered 1 to 10 as one-hop neighbors, and, out of these 10 nodes, nodes 2, 5 & 6 form a set of multi-point relay nodes for node x. In our encoding, this set is represented by an ordered list 2 5 6, which has length 3. On the other hand, in case of bit-vector encoding, this set is represented as 0 1 0 0 1 1 0 0 0 0, which has length 10. Hence, in this particular case our encoding results in 70% savings in memory usage.

3.2 Fitness

Objective function as described in Sect. 2 is used as the fitness function. As P-MPR is a minimization problem, so a lesser value of the objective function indicates a more fit solution.

3.3 Selection

Probabilistic binary tournament selection method is used to select the two parents for crossover and a single parent for mutation, where \(p_{bt}\) is the probability of selecting the better of the two individuals in the tournament.

3.4 Crossover

Our crossover operator begins by copying the nodes common to both the parents to the child. The reason for doing this is based on assertion that if a node occurs in both the selected parents, then the chances of this node occurring in other good solutions are high. Owing to our encoding, nodes common to both the parents \(P_1\) and \(P_2\) can be computed in \(\mathcal {O}(min(|P_1|,|P_2|))\) instead of \(\mathcal {O}(|P_1|\times |P_2|)\). To make the child thus obtained a multi-point relay set, other nodes are added to the child through an iterative process, where during each iteration, a node from N(x) is added in a quasi-random manner. During each iteration, with probability \(p_g\), a node which is not yet included in the child and which is the neighbor of the maximum number of uncovered nodes in \(N^2(x)\) is added to the child. Otherwise, a node is selected for addition at random from among nodes which are not yet included in child and which are neighbors of at least one uncovered node in \(N^2(x)\). This process is repeated till all the nodes in \(N^2(x)\) get covered, i.e., child becomes a multi-node relay set.

In a bid to further improve the child solution, we look for redundant nodes in the child. These are the nodes whose deletion from child solution will not make any node in \(N^2(x)\) uncovered. The nodes in the child solution are checked one-by-one in some random order for redundancy, and, if a node is found redundant, it is deleted immediately before checking another node for redundancy.

3.5 Mutation

Mutation operator copies each node of the parent to the child with probability \(p_m\). If a node of the parent is the sole neighbor of some nodes in \(N^2(x)\), then it is always copied. The child thus obtained is transformed into a multi-point relay set, and, then redundant nodes are removed using the same procedures as used in the crossover operator.

We have used crossover and mutation in a mutually exclusive manner. With probability \(p_c\) crossover is used, or else mutation is used. Actually, our crossover operator preserves the nodes common to both parents in a bid to create even better solutions utilizing these nodes. Using mutation after crossover can remove some of these nodes.

3.6 Population Replacement Model

Steady-state population replacement model is used in our genetic algorithm, i.e., during each generation a single child is produced, which replaces the population member having the worst fitness provided it is different from all the current population members. In case, the child matches any current population member, it is discarded.

3.7 Initial Solution Generation

Each initial solution is generated in the same manner as in the greedy heuristic except for one difference, i.e., the statement \(y_m := random(\{y: y \in M(x) \wedge (N(y) \cap M^2(x) \ne \emptyset )\}\) is used in place of the first statement inside the while loop (\(y_m := \mathop {\arg \max }\nolimits _{y \in M(x)} | N(y) \cup M^2(x)|\)) in Algorithm 1. Here, random(S) is a function that takes as input a set S and returns one element of that set uniformly at random. Redundant nodes are removed from the solution thus obtained in the same manner as in our crossover operator. This solution is included into the initial population only when it is different from all the initial population members generated so far. Otherwise, this solution is discarded. This uniqueness checking is done to conform with steady state population replacement model.

The pseudo-code for SSGA has been provided in Algorithm 2. In this pseudo-code, Selection(), Crossover() and Mutation() are three functions that implement probabilistic binary tournament selection method (Sect. 3.3), crossover operator (Sect. 3.4) and mutation operator (Sect. 3.5) respectively. Further, ps is the population size and u01 is a uniform random variate in [0, 1].

figure b

4 Computational Results

SSGA has been coded in C and executed on an Intel Core i5-3470S processor based system with 4 GB RAM running at 2.90 GHz under 64-bit Debian 6.0.9 operating system. We have used a population of 20 individuals (\(ps=20\)). However, if during initial population generation, we fail to generate \(i^{th}\) solution different from all \(i - 1\) current population members even after 10 consecutive attempts, then initial population generation process is stopped, and ps is set to \(i-1\). We have used \(p_c = 0.5\), \(p_g = 0.1\), \(p_m = 0.66\) and \(p_{bt} = 0.8\). All these parameter values have been chosen empirically. These values are so chosen that they provide good results on most of the instances. However, they are in no way optimal parameter values. SSGA terminates when best solution has not improved over 500 iterations.

To test our approach, we have performed the experiments in the same manner as in [2]. In all the experiments, the network is assumed to be a grid with varying size ranging from 10 \(\times \) 10 to 20 \(\times \) 20. For all the experiments, the number of nodes are taken to be 100. Nodes are assumed to be placed on a grid of specific size randomly such that no two nodes are at the same position. Please note that for 10 \(\times \) 10 grid, all 100 positions are occupied and randomness has no role to play. All experiments are done under following assumptions [2]:

  • All nodes have the same transmission range.

  • All transmissions between nodes are error-free

  • All transmission links are bi-directional

  • The movement of nodes during the procedure of finding the MPR nodes is negligible and can be ignored

Two sets of experiments were performed in [2]. In the first set of experiments, network is assumed to be a grid of \(10\times 10\) with 100 nodes and transmission range of nodes is varied from 1 to 6. In the second set of experiments, transmission range was fixed to 6 and grid size was varied from \(10\times 10\) to \(20\times 20\) in increments of 2 along each dimension, i.e., experiments were performed with grid sizes \(10 \times 10\), \(12 \times 12\), \(14 \times 14\), \(16 \times 16\), \(18 \times 18\), \(20 \times 20\).

We have compared the performance of SSGA with genetic algorithm (GA) of [2] and greedy heuristic (GH) of [8]. For comparison, we have re-implemented GH. So we can compare SSGA with GH under any scenario. However, the results of GA are taken from [2]. So comparison between SSGA and GA is possible for the first set of experiments only, because a single scenario only exists with 100 nodes placed on a \(10\times 10\) grid. However, so many scenarios exist for grid sizes larger than \(10\times 10\) with respect to allocation of 100 nodes to grid locations, and hence, the results of SSGA are not comparable with those of GA for second set of experiments.

Table 1. Results of GH, GA and SSGA for different transmission ranges over the 100 node \(10\times 10\) grid network
Table 2. Results of GH and SSGA for 100 node network with transmission range of 6 and different grid sizes

The results of first set of experiments are reported in Table 1. For these experiments, for each of the value of the transmission range, we have computed the set of multi-point relay nodes for each of the 100 nodes by taking each of them as base node one-by-one, and reported the minimum, maximum and average objective function values over these 100 nodes obtained by each of GH, GA and SSGA approaches under columns Min, Max and Avg respectively. In addition, we have reported the average percentage improvement obtained by GA and SSGA over GH for each value of transmission range under the column %-imp. We have observed that the results obtained by GH differ from those reported in [2] for some transmission ranges, and hence, the results obtained by our implementation of GH have been used to compute the average percentage improvement values. These results clearly show the superiority of SSGA over GH and GA. Further, it can be clearly observed that the difference in performance of SSGA over GH and GA widens as transmission range increases, i.e., as the density of the network increases. We have not reported the execution times as they are negligible for SSGA (less than 0.01 s).

For second set of experiments, for grid sizes larger than \(10\times 10\), nodes can be allocated to grid locations in multiple ways, and hence, for each grid size, we have taken 10 scenarios and reported the average results of 10 scenarios for SSGA and GH in Table 2. Various column names under GH and SSGA in this table have the same meaning as in the previous table. As the grid size increases, the density of the network decreases. Here also, it can be observed that the difference in performance of SSGA over GH widens as density of the network increases. Though we can not compare the performance of SSGA with GA of [2] for second set of experiments, it is clear from Tables 1 and 2, that relative performance of algorithms depends on the density of the network, and therefore, it is expected that relative performance similar to Table 1 will be observed for second set of experiments too between SSGA and GA.

5 Conclusions

In this paper, we have proposed a steady-state genetic algorithm for P-MPR. A key feature of our genetic algorithm is integer encoding based on ordered list to represent a solution. We have also incorporated a redundant node removal strategy, which helps in further improving the child solution obtained through crossover and mutation. Computational results show the effectiveness of our approach in comparison to previously proposed approaches.

We intend to extend our approach to the version of multi-point relay nodes selection problem having the objective of minimizing the number of multi-point relay nodes. Similar approaches can be developed for other related problems also such as dominating set problem, uni-cost set covering problem, router selection problem etc. Another possible future work is to work on a bi-objective version of multi-point relay node selection problem, where one objective can be minimizing the number of multi-point relay nodes, and, the other objective can be minimizing the size of the resulting routing table.