# Optimized Group Channel Assignment Using Computational Geometry over Wireless Mesh Networks

Authors: Anitha Manikandan; Yogesh Palanichamy
Journal: Mobile Information Systems
 (2015)

---

## Abstract

Wireless Mesh Networks (WMNs) are an evolving division in the field of wireless networks due to their ease of deployment and assured last mile connectivity. It sets out a favorable situation to guarantee the Internet connectivity to all the mobile and static nodes. A wireless environment is dynamic, heterogeneous, and unpredictable as the nodes communicate through the unguided links called channels. The number of nonoverlapping channels available is less than the number of mesh nodes; hence, the same channel will be shared among many nodes. This scarcity of the channels causes interference and degrades the performance of the network. In this paper, we have presented a group based channel assignment method to minimize the interference. We have formulated a mathematical model using Nonlinear Programming (NLP). The objective function defines the channel assignment strategy which eventually reduces the interference. We have adapted the cognitive model of Discrete Particle Swarm Optimization (DPSO), for solving the optimization function. The channel assignment problem is an NP hard problem; hence, we have taken the benefits of a stochastic approach to find a solution that is optimal or near optimal. Finally, we have performed simulations to investigate the efficiency of our proposed work.


---

## Body

## 1. Introduction

Wireless Mesh Network [1–4] is an infrastructure based multihop network that can be deployed even in underprivileged areas like terrains where providing Internet connectivity is a laborious and expensive task. Deployment of WMNs is undergoing a rapid advancement in the area of networking due to the inherent features of WMNs like self-healing and self-organizing. The WMN infrastructure contains different components in three layers. End user devices like laptops, PCs, and so forth are known as mesh clients (MCs) and the MCs form the bottom most layer. Mesh routers (MRs) that forward the data in multiple hops between the source and the destination form the middle layer. MRs with higher configuration are called Mesh Gateways (MGs). These MGs that render the connectivity to the Internet and other networks for the end users form the top layer. Due to the falling-off price of WLAN equipment (e.g., mesh routers), each device is manufactured with multiple radios to support simultaneous transmission and reception of data using multiple orthogonal channels. The IEEE 802.11b/g and IEEE 802.11a standards define 3 and 8 nonoverlapping frequency channels available in the legal frequency spectrum. This composes the entire network to act as multiradio multichannel WMN. This characteristic enhances the network throughput [5, 6] by using the increased parallelism in the network and also decreases the transmission delay. However, these advantages also introduce other problems in the network like network partitioning, timing mismatch, distributed operation, routing issues [7], link scheduling, and channel assignment (i.e., mapping of channels to radios at each node) [8].The key design issue in multiradio multichannel WMN is the assignment of the orthogonal channels, that is, binding the radios with the channels. Channel assignment schemes should be aware of the trade-off between the network connectivity and the interference. Two nodes in the transmission range can communicate with each other if they share one common channel in any of its radios. However, if the same channel is used in different nodes for communication, it leads to interference. “Interference” is a major setback that occurs in the wireless network where the signals collide and results in packet loss and the end result of this is the performance degradation of the network. On that point there are several solutions suggested in the literature to address these problems [6, 9–12].The nonoverlapping channels are less in number and hence it becomes necessary to assign the same channel to different radios. Assigning the same channel to different radios results in interference. But this is a fact which cannot be avoided since the number of orthogonal channels cannot be increased beyond a limit that is posed by telecommunication departments of various countries. Hence, it is not possible to avoid interference altogether and it is possible only to minimize the interference. This paper concentrates on how to assign channels in order to minimize the interference. We are invigorated by the job scheduling problem which is an operation research problem that optimally assigns jobs on the shop floor to the machines available to finish the jobs with minimal time consumption [13–15]. We have modelled the channel assignment problem as an optimization problem with the aim of optimally assigning channels to all the links in order to minimize the interference. We have used the nonlinear programming (NLP) technique to formulate our mathematical model. Our channel assignment scheme is a traffic independent algorithm [12, 16, 17]; that is, we do not regard the traffic flow in the network for the channel designation.The strategy used in this paper has two major steps. The first step clusters the WMN nodes based on their locations using Voronoi diagram [18–20]. We apply the novel idea of membership to select the leader for each cluster or group. Membership of a node refers to the number of groups in which that particular node is present. The node with the maximum value of membership is elected as the leader of that group. The selection of the leaders is responsible for computing the Interference Matrix of that particular group. We have used the protocol model described in [21, 22] to represent the interference in the network. Generally, Conflict Graphs [8, 10, 12, 16] are used to represent the interference present in wireless networks. This research work forms the interference matrices using an enhanced version of the Conflict Graph called Enhanced Multiradio Multichannel Conflict Graph (E-MMCG) [23]. E-MMCG considers the effect of colocated radios assigned with the same channel in the estimation of interference. Besides the novel idea of membership, integrating the protocol model described in [21, 22] and E-MMCG [23] is a novel contribution of this research work.The second step is a swarm intelligence based approach known as Discrete Particle Swarm Optimization (DPSO) [24] for solving the channel assignment problem in the group. DPSO is a variation of Particle Swarm Optimization (PSO) [25, 26] which is the original version of the approach. The original version was designed to solve continuous problems by Kennedy and Eberhart [27] and was later modified to support discrete problems. We have used the cognitive model of DPSO with the inertia weight to make the particle converge faster. Applying nonlinear programming (NLP) to model the channel assignment problem as an optimization problem with the objective of minimizing the interference is another novel contribution of this research work.We make the following contributions to achieve our objective:(i)
We have employed the Voronoi diagram for clustering the nodes into small subgraphs in order to define the optimization problem with a smaller number of nodes rather than formulating it for the entire network.(ii)
We have designed a simple algorithm to identify the leaders for each group which has control over the small graph and also it takes the responsibility of assigning the channels to the available links in the small group.(iii)
We have derived a mathematical model to define the objective of our proposed system and also adapted an evolutionary algorithm approach to solve the optimization problem.(iv)
The DPSO algorithm is not applied in its original form but rather we have defined the velocity clamping parameter to suit our channel assignment algorithm and also the DPSO employed in this paper does not follow any social parameter since the graph is already divided into small subgraphs where the required information is exchanged and controlled by the leader of that group.The remainder of the paper is formed as follows. We have discussed the related work in Section2 and the network architecture in Section 3 and the assumptions made. In Section 4, we have formulated the problem. In Section 5, we have presented our algorithm and we have discussed the performance and comparison in Section 6. Finally, in Section 7 we have concluded the paper.


## 2. Related Work

There are many solutions proposed for the channel assignment problem by various researchers. But nevertheless it is a significant issue which requires further refinement to the solutions proposed, as it is an NP hard problem [28]. The authors of papers [22, 29] have done an extensive survey of the solutions provided by eminent researchers. We present a brief study done on the channel assignment problem in multiradio multichannel WMNs.Subramanian et al. proposed a solution for quasistatic channel assignment problem [10]. Channel assignment is performed using a variation of the graph coloring problem. They have developed centralized and distributed algorithms which are based on heuristic search algorithm and greedy approximation algorithm, respectively. They have used a tabu search and Max k cut problems modelled as semidefinite programming and integer linear programming. They have enforced a constraint known as the interface constraint where the number of channels assigned to each node cannot exceed the number of interfaces it has. This approach considers the traffic load for solving the optimization problem and also preserves the topology. They have obtained a tight lower bound for optimal network interference. But the method proposed in the paper fails to consider the multiple-link case [22].Avallone and Akyildiz proposed Maxflow-based Channel Assignment and Routing (MCAR) [11], a centralized algorithm that jointly considers the channel assignment and routing. Their proposed heuristic solution aims to maximize the throughput which is modelled as integer linear programming (ILP) as the problem is defined as an NP complete problem. The algorithm is split into link-group binding and group channel assignment. In the first step, links are grouped based on the flows they carry by enforcing a condition that a number of different groups assigned to its links do not exceed the number of radio interfaces. In the second step, the assignment is made to all the links in the group. They have performed extensive simulations and have indicated that their algorithm performs better when compared with Load Aware Channel Assignment (LACA) [5] and Balanced Static Channel Assignment (BSCA) [9] regardless of the traffic demands.Kyasanur and Vaidya proposed a protocol named Probabilistic Channel Usage Based Channel Assignment (PCU-CA) [30] that defines each node to have both fixed and switchable interfaces. The fixed interfaces are employed to obtain the data transmitted by other nodes through fixed channels while the switchable interfaces change over to the fixed channels to transmit the information. Due to the handling of two interfaces, the channel assignment is done in two stages, namely, assigning channels to fixed interfaces and switchable interfaces. This algorithm has been devised to alleviate the channel oscillation problem and the authors also have proved it experimentally. But the algorithm does not provide an optimal solution for the network performance.Raniwala et al. [5] proposed a joint routing and channel assignment algorithm named Hyacinth. The routing protocol establishes a tree topology with gateway nodes and mesh nodes, and then the channel assignment is carried out based on the topology. Multiple Network Interface Cards (NICs) are equipped in the 802.11 hardware. A set of NICs operates as UP-NICs and a set of NICs work as DOWN-NICs where the former connects to its parent and the latter connects to its children. Then, these interfaces are bound with their neighbors and then the channels are bound to these interfaces. Each node is responsible for binding only its DOWN-NIC with the channel since its UP-NICs are restricted to following its parent. They have used two metrics, namely, the number of links using this channel within the interference range and the aggregate traffic load on this channel from all links using this channel within the interference range.Marina et al. [16] proposed a traffic independent approach for channel assignment named Connected Low Interference Channel Assignment (CLICA). The authors have proved that the problem is NP complete. They have formulated an ILP for finding the optimum lower bound. A greedy approach is used to assign channels based on priorities assigned to the nodes based on the Depth First Search (DFS) algorithm. Then, the nodes are traversed in the decreasing order to assign channels. They have compared their algorithm with simple channel assignment scheme and showed that their algorithm is completed in polynomial time. But there are drawbacks in the algorithm as there is some sacrifice in the fairness and computation of unassigned radios which is added overhead.In recent years, researchers have introduced game theoretical concept for solving the channel assignment problem. We have expounded some papers where authors have applied game theory in this section.Bezzina et al. proposed an algorithm named Interference-Aware Game Based Channel Assignment Algorithm (IGCA) [31]. They have formulated the problem based on the game theoretic approach. The proposed algorithm aims to minimize the network interference and improves the number of simultaneous connections in the WMN backhaul network. They have modelled the problem as a common interest game where the mesh routers are termed as players. Duarte et al. proposed a near optimal channel assignment by utilizing partially overlapping channels rather depending on the orthogonal channels [32]. Near Optimal Partially Overlapping Channel Assignment (NPOCA) is modelled as a cooperative channel assignment game. Each player formalizes its own utility function based on the strategy it follows. Then, each player negotiates with other players on their nonindependent strategy. The channels are allocated to the radios as per the strategy. The drawback of their system is that the nodes with low probability during the negotiation phase are not identified. This low probability reduces the average performance of their system.Nezhad and Cerdà-Alabern proposed an algorithm known as Semidynamic and Distributed Channel Assignment (SICA) [33]. This algorithm does not rely on the central node and assumes that nodes do not possess complete information. This algorithm is designed based on the on-line learner algorithm that assigns best channels to each radio. The nodes gather information during the channel sensing period and utilize this data for strategy formation. The authors have compared SICA and Urban-X [34] and concluded that their algorithm performs better. Yen et al. [35] proposed a two-stage channel allocation algorithm. Their algorithm assigns channels to radios using the game theoretic approach and then assigns the radio-channel pair to a link using a greedy method. Here, the interfaces are modelled rather than the mesh routers themselves. The proposed algorithm aims to minimize the interference. The authors have considered physical model to represent the interference. They have compared their approach with cooperative channel assignment game (CoCAG) [32] and concluded that their algorithm outperforms the latter.Game theory has become a conjugal method for finding solutions to many problems. But not all of game theory’s success stories are like that [36]. The players need to exchange their strategies and come to terms in order to find the solution for the problem. The dynamic nature of WMN makes the application of game theory a complex process. Each time when there is a change in the communication among the nodes the strategy has to be set and discussed. The next problem with game theory approach is that it is a greedy approach, where each player has his own maximization goal [37] and tries to achieve his goal irrespective of other participants. The next major issue is providing security. Wireless networks are vulnerable to attacks, and hence game theory may have attackers disguised as players and negotiate their strategy with other participants, where the defender may not recognize that it is conferring with a malicious player. So, game theory requires more security.Our algorithm considers a group assignment rather than the individual assignment unlike the existing channel assignment algorithms discussed above. We propose a distributed algorithm to avoid burden or bottleneck at one point. We also form groups based on the location, which will not change since the WMN nodes are usually static in nature. We have employed the Hybrid Wireless Mesh Protocol (HWMP) as the routing protocol (default protocol of IEEE 802.11s). Our algorithm is traffic independent; that is, channels are not assigned based on the traffic flow. In the following section, we formally describe our channel assignment method.


## 3. Network Architecture and Assumptions

This paper considers the WMN architecture shown in Figure1. In this architecture, it is considered that all the backhaul nodes (middle layer nodes) and gateway nodes are equipped with multiple radios and each radio is capable of supporting multiple orthogonal channels. The number of orthogonal channels is outnumbered by the number of links. This clearly states that interference cannot be avoided in the wireless environment but can be minimized. In the proposed work, the links are grouped (identified by the Link Matrix ML) so that the number of groups does not exceed the number of available channels of that particular node. The Enhanced Multiradio Multichannel Conflict Graph (E-MMCG) is applied to model the interference, according to the protocol model discussed in [22, 23]. This graph also considers the cochannel interference created by the radios. We have derived a mathematical model based on the job scheduling problem which is an operation research problem [13]. The proposed optimization model is performed to minimize the interference by proper channel assignment among the nodes in the network. Generally, the channel assignment problem is an NP hard problem. Finding an exact solution to an NP hard problem is a time consuming procedure and sometimes it is not possible. Hence, we propose a heuristic approach for resolving the problem. The DPSO, a variation of the evolutionary algorithm PSO, is employed to solve the optimization problem. The DPSO provides an optimal solution or nearly optimal solution for assigning channels to the communication links.Figure 1
Wireless Mesh Network architecture.We have made the following assumptions to define the problem:(i)
All the nodes in the network have the same transmission rangeTr, detection range Dr, and interference range Ir. These three follow the inequality relation Tr<Dr<Ir. The Euclidean distance between nodes say u and v should be less than or equal to Tr; that is, d(u,v)≤Tr.(ii)
All the nodes are in general position [38, 39] so that no three nodes are collinear and no four nodes fall on the same circle.(iii)
A nodeu can communicate with node v only if it shares the same channel for communication and if they are in each other’s Tr.(iv)
There is more than one gateway node (MG) in the network. Each MG is capable of more storage capacity than the nodes in the backhaul network.(v)
The interference model we use in our work is the two-hop interference model. This model describes that two links interfere if they are sharing a common router [12, 40–42]. When a node is shared by two other nodes, the two links connecting them interfere if the same channel is assigned.(vi)
All the nodes need not have the same number of radios and support the same number of channels.


## 4. Problem Definition

The network architecture is depicted as an undirected graphG(V,E) where V is the set of vertices of the graph defining the nodes and E is the set of edges defining the link between the nodes of the network architecture. The number of links in each node is greater than the number of available orthogonal channels; hence, interference is present. The interference in the network is represented as a protocol model according to [21]. According to the protocol model, two links say a↔b and c↔d interfere if the Euclidean distances (da,c,da,d,db,c,db,d) are less than the transmission range Tr and a,b,c,d∈V and a↔b and c↔d∈E. We apply the Conflict Graph to model the interference. The graph is plotted in a Euclidean space R where each node in the graph knows its 2D coordinate position x,y. With these coordinates positions each pair of nodes is capable of finding its Euclidean distance d. The Voronoi neighbors are derived based on this Euclidean distance d and the Voronoi diagram VDG. The Delaunay Triangulation DT(G) gives the Connectivity Graph CG among the neighbours which is a subgraph of G(V,E). Then two matrices are constructed: one is the Link Matrix ML which describes the interfering links and the second is the Interference Matrix  I based on each node’s assignment of channels to each link with respect to its radio. Then, the NLP model is formulated as shown in(1)min⁡∑j=1C∑i=1LML∗IijCij(2)s.t∑i=1LCij≤mj,j=1,2,…,C(3)∑i=1LCij=1j=1,2,…,C(4)ML=1,for  incident  links0,otherwise(5)Ilc≥0∀0<l≤L,0<c≤C,where ML  ⇔ the incidence Boolean square matrix of size L×L, represented using Conflict Graph. L  ⇔ set of interfering links present in Conflict Graph Cc. C  ⇔ set of orthogonal channels. I  ⇔ Interference Matrix of size L×C, computed using triangulation property (Thales theorem). mj  ⇔ the maximum number of k-orthogonal channels available depending on the standard. Cij  ⇔ the channel assignment matrix of size L×C; Ilc  ⇔ the value in Interference Matrix  I in row l and column c.This problem is similar to the optimization problem in standard job assignment problem or a weapon target assignment problem in operation research. The assignment problem is usually an NP hard problem for which we provide a swarm intelligence approach to obtain an optimal or near optimal solution.The mathematical model formulated consists of an objective function as in (1). The value of this function defines the optimal allocation of channels to links. The goal is to reduce the number of interfering links which subsequently reduces the interference in the network and hence the objective function is defined as a minimization function. The function consists of a binary matrix ML that describes the interfering links for any li∈L, where L stands for the set of vertices (which we later term as “link vertices”) in the Conflict Graph CC. The information of interfering links can be obtained from the Conflict Graph CC as shown in Figure 3. The Interference Matrix  I is computed based on theThales theorem. The leader consolidates the number of times each channel cj∈C is assigned to a link while applying the triangulation property. Here, C represents the set of orthogonal channels available in the network. Multiplication of the Link Matrix and the Interference Matrix gives the matrix of size L×C. This matrix demonstrates the number of channels assigned to a particular link and the number of times the same channel is assigned to that link. The matrix Cij is the channel assignment solution matrix obtained from the particle’s position matrix (Xkt+1i,j) with binary values, constructed by the DPSO algorithm for each iteration. Initially the values of Cij represented as (Xkti,j) are randomly assigned and then updated for each iteration based on the velocity matrix Vkt+1i,j. For each channel cj∈C assigned for each link li∈L, the value of the objective function is computed. If the current value is less than the previous value then the current solution is considered as the optimal solution.Equations from (2)–(4) are the constraints that must be satisfied for a solution to be a feasible solution. The channels assigned for the links should not exceed the maximum number of orthogonal channels represented as mj as shown in (2). The next condition in (3) states that each link must be assigned with a single channel. The matrix ML is assigned with binary values based on the Conflict Graph  CC as shown in (4).The construction algorithms of matrices and the solution are elaborately explained in the following sections.


## 5. Computational Geometric Based Channel Assignment

This section formally describes the proposed channel assignment scheme known as Computational Geometric Based Channel Assignment (CGCA). This method has been devised for the channel assignment problem in order to minimize the interference and hence increase the throughput of the network. The goal is to assign channels to each radio of the nodes in the backhaul network that will participate in the data communication. Hybrid Wireless Mesh Protocol (HWMP) has been used in proactive mode as the routing protocol [4]. Minimization problems can be viewed as a two-entry ordered tuple [43], where one entry provides a set of feasible solution S to the problem and the other entry is the objective function f of the problem. Then, for each solution say s∈S the objective function value f(s) is computed. The value f(s) is compared with the previous value say fs′ where s and s′∈S. If fs<f(s′) then the feasible solution s∈S becomes the current optimal solution for the problem. The best solution for the objective function is obtained when the value of f does not change for further iterations. We propose an algorithm that works in two phases:(i)
The first phase identifies the neighboring nodes using computational geometric method. The Voronoi diagram has been applied to identify the neighboring nodes in the transmission range.(ii)
The second phase assigns channels to the radios of the nodes participating in data communication. To solve the channel assignment problem, the problem is represented as a nonlinear programming (NLP) model and the solution is obtained using the stochastic approach called the Discrete Particle Swarm Optimization (DPSO).In the first phase, each node identifies its neighbors with the help of Voronoi diagram. Then, each node sends its group information like the number of members in the group and the nodes in the group to Mesh Gateway(MG). A node may be present in more than one group which is used as its membership number. A node having maximum number of memberships (i.e., a node present in a number of groups) is considered to be the leader of that group. Each leader is responsible for assigning and updating the channel information to the gateway. These small groups are considered for the channel assignment. A distributed channel assignment strategy is proposed as an NLP model where the objective function is defined as the minimization function. The goal of our programming model is to minimize the number of interfering links which subsequently reduces the interference. The swarm intelligence approach has been employed to solve the nonlinear equations. A detailed explanation is given in the subsequent sections.


### 5.1. Neighborhood Discovery and Leader Selection

The network is split into small subgraphs to think locally and act locally. To split the network into small subgraphs, Voronoi diagram is used. The Voronoi diagram is applied to the graph to find the neighbor nodes of any noden∈N∧n∈G. To compute the Voronoi diagram, the mesh routers are viewed and plotted as points in a planar graph. Voronoi diagram partitions the plane and the neighboring nodes are identified by the Voronoi edges which are shared with the neighboring nodes. This clustering is used for making the channel assignment distributed and localized. As a result, the convergence is much faster than assigning channels to the entire network.We assume that each node knows its location in the space using GPS [44] and broadcasts its position to its neighbors. If the nodes know their position, then the distance between two nodes can be computed. The nodes are assumed to be in general positions so that no three nodes are collinear and no four nodes fall on the same circle [38, 39]. Each mesh router (MR) computes its own Voronoi cell and the entire Voronoi diagram delivers a graph with the neighbors close to each node.Each node registers its neighborhood group with the gateway nodeMG. The gateway consolidates these clusters to identify some landmark nodes called leaders based on the occurrence of the node in the groups. That is, a node occurring in maximum number of groups is polled as the leader. These leaders take up the responsibility of assigning channels and transmitting the channel information to gateway MG. MG acts as the central server for storing the information so as to avoid packet loss and to improve the throughput of the network as it is the point which encounters maximum amount of traffic throughout the communication. This safeguards the data from signal degradation due to the interference present in the network.Figure2 explains the leader selection process for more clarity. The circles in the diagram represent the routers of the network. The node in red color is the special node called the gateway. The groups created by the node are named Gi where i=1,2,…,N and N is the number of nodes. The dotted lines around the nodes denote the group of each node created. For example, we have shown two groups created for node 1 (G1) and node 2 (G2). The nodes in groups G1 and G2 are computed as G1=n0,n1,n2,n6 and G2=n1,n2,n3,n5 by applying the algorithm in [18]. From this, the membership for nodes n0, n1, n2, and n6 is computed as 2, 1, 2, and 1, respectively, by the gateway node. All the nodes within the transmission range are considered to be neighbors of a particular node. Here, for simplicity, we have grouped only the one hop neighbors of nodes 1 and 2. The Voronoi diagram of group G2 is shown in Figure 2(b). The thick lines are the bisectors between the points and the thin lines are the Delaunay Triangulation edges.Figure 2
(a) Leader selection. (b) Voronoi diagram for node 2(G2).
(a)
(b)Figure 3
Interference model.
(a)
Connectivity GraphCG for node A/2 as leader
(b)
Multiradio Connectivity GraphCG′
(c)
Conflict GraphCC (E-MMCG)Each nodenj∈N, where j=0,1,2,…,N, is responsible for computing its group Gi, where 0≤i≤G. G={G0,G1,…,GN} is the set of groups in which the subscripts represent the nodes for which the group is formed; for example, G0 is the group for the gateway node. The groups present in G are not disjoint; that is, a node may be present in more than one group. After the groups are registered, the gateway looks for the prospective leaders by checking the membership of the nodes present in the group. We determine the membership of each node by counting the number of times it is present in G. The maximum occurrence of a node nj is computed using (6). Each time when a node nj appears in any group Gi∈G the membership M(nj) is incremented by 1. Then, MG sends the leader information to all the groups formed in the network:(6)Mnj=∑Gi∈G∧nj∈Gi1.For example, we have taken groupG2 and assumed its leader to be node 2 as the node belongs to G1 and G2. In this leader selection process, some groups may not have leaders since all the nodes nj∈Gi; they may be the leader of some other group. Thus, this group does not require any leader for itself.Figure2(b) shows the connectivity among the nodes that fall in the group formed by node 2. The Delaunay Triangulation (DT) edges show the nodes which share the same Voronoi edge and they are termed to be neighbors. The DT edges provide the connectivity between the nodes and the graph formed is called the Connectivity Graph  CG. Then, the channels are assigned to the radios of the nodes in these small groups {G1,G2,…,GN} independently.Algorithm1 explains the selection of a leader in each group which is carried out by the MG node after the nodes register their groups with it.Algorithm 1:Leader selection.
LetG be the groups created by N nodes and registered with gateway MG G={G1,G2,…,GN}
For each nodenj∈N
For each GroupGi={n1,n2,…,nj}
k = 0
L = ϕ
if(∃nj∈N: nj in Gi)
k = k+1
M(nj) = max⁡(k,1)
End for
L(Gi) = max⁡(M(n1),M(n2),…,M(nj)), ∀j≤i
L = L∪L(Gi)
End forThe next step of our channel assignment procedure is to construct the link and interference matrices based on the protocol model to define the interference. Our process of modelling the interference is inspired by the E-MMCG algorithm [23] which models the radios as nodes instead of the routers themselves and also considers the cochannel interference. An elaborate description is given in the next section.


### 5.2. Channel Assignment and Matrices Construction

The Link MatrixML and Interference Matrix I are constructed based on the Connectivity Graph CG, which is created by applying the Delaunay Triangulation (DT) in the Voronoi diagram. The DT connectivity gives the possible neighbors of any node to form a group. Sections 5.2.1, 5.2.2, and 5.2.3 in this section explain the interference model and the steps involved in constructing the link ML and interference I matrices.


#### 5.2.1. Interference Model

We have employed E-MMCG [23] to model the interference effect. We have redrawn the graph in Figure 2(b), the Connectivity Graph CG with the alphabets, to distinguish it from the number of radios that each node contains (2-A, 1-B, 3-C, and 5-D) as in Figure 3(a). Figure 3(a) shows the subtopology generated after identifying the neighbors and the leader of that particular group. The circles represent the node and the number in the square brackets inside each circle represents the number of radios incorporated in that particular node. We represent the topology for group G2 as graph CG(VG,EG), where VG and EG are the vertices and edges of the Connectivity Graph, respectively, for node 2 (A). Each node is incorporated with different number of radios which is represented in the square brackets.An intermediate graph known as the Multiradio Connectivity Graph (MCG)CG′(VG′,EG′) is built, where the nodes in CG are replaced with their radios and the links are established between the radios as the edges as shown in Figure 3(b). Graph CG′ provides the information of interfering radios and is used in constructing the MMCG graph CC. Algorithm 2 shown below explains the procedure for converting CG→CG′.Algorithm 2:Multiradio Connectivity Graph (CG′(VG′,EG′))⊢ Connectivity Graph (CG(VG,EG)).
Input: Connectivity Graph
Output: Multi-radio Connectivity Graph
LetVG={u1,u2,…,ug}
Each nodeug∈VG consists of radios Ri∣i={1,2,…,r}
∀
V
G
∈
C
G
∀Ri∈ug
Create nodesVG′
End for
End for
∀
(
u
i
,
u
j
)
∈
V
G
⋀
d
(
u
i
,
u
j
)
≤
T
r
⋀
i
≠
j //1≤i,j≤g
if(Ri∈ui⋀Rj∈uj)
Create links≬Ri and Rj
End if
End forEach node inCG is replaced with its radios; for example, in Figure 3, node A is replaced by its radios A0 and A1 and the edges are established between the radios. The Multiradio Connectivity Graph is used to create MMCG graph to model the interference and we have used the E-MMCG algorithm [23] to obtain the Conflict Graph named CC(VC,EC) as shown in Figure 3(c). VC is the set of vertices named “link vertices” to differentiate it from the set of vertices in VG′. It represents the link present between two radios/nodes in CG′. EC is the set of edges named “link edges” which is established between two link vertices if the interference subsists. The E-MMCG shown in Figure 3(c) includes the cochannel interference; that is, the radios present in a node may use the same channel which results in interference. Using the two graphs CG′ and CC, the link and interference matrices are constructed.


#### 5.2.2. Link Matrix

Link MatrixML is a L×L matrix where L⊆VC∧VC∈CC. The Link Matrix explains the number of links that interfere with a particular link. Construction of ML is done using Algorithm 3 as described below. The degree of each link vertex belonging to CC is computed using(7)DvC=∑k=2L1∣∃1inMLj,k,wherej=1,2,…,L⋀∀vc∈VC.Algorithm 3:Link Matrix ML.
Input: Conflict Graph
Output: Link Matrix
∀
i
→
1 to L
∀j→1 to L
if(i==j)
MLij=0
else
if(∃ec∈EC≬i,j∈L)
MLij=1
End if
End if
End for
End forThe degree of each “link vertex” is incremented by 1 for every link incident on that particular “link vertex”vc∈VC present in the Conflict Graph CC. The parameter L is the number of “link vertices” in the Conflict Graph.


#### 5.2.3. Channel Assignment and Interference Matrix

Interference matrixI is constructed by consolidating the number of times the same channel is used by the radios. First, we present the mathematical background used to construct the matrix. Then, using this mathematical background, the steps involved in constructing Interference Matrix are described.Mathematical Background. We have used Thales theorem and associated triangulation property for our derivation of the Interference Matrix I.Theorem 1.
The triangulation property says that a circumcircle drawn with respect to the longer side of a triangle enforces three cases.
Case 1. ∠AOC=2×∠ABC ∣ Points A, B, and C lie on the perimeter of the circle with O as centre.
Case 2. ∠AEC > 90° ∣ Point E lies inside the circle.
Case 3.∠ADC < 90° ∣ Point D lies outside the circle.Figure4 is used to explain the theorem and all the three cases. The points on a circle with one chord AC- as its diameter provide the relationship with angles and the point location. The theorem states that the angle created by the points on the perimeter of the circle is always a 90° regardless of the point location; that is, ∠ABC=90°.Figure 4
Thales theorem.The other property related to triangulation states that the largest angle is always opposite to the largest side of the triangle. With reference to Figure4, in △AEC∠AEC>90°, and hence the largest side is AC¯. This property implicitly states that the sides holding the largest angle AE- and CE- come close to the largest side of the triangle AC-. This property is used to identify the edges that are close to each other. To determine and quantify this closeness factor of the edges we compute skewness S for the triangles using(8)SkewnessS=Optimal  triangle  size-Actual  triangle  sizeOptimal  triangle  size.The optimal triangle is the equilateral/equiangular triangle [45]. Both the optimal triangle and the actual triangle are computed as in(9)△size=12×det⁡x1x2x3y1y2y3111.Using these properties, we group the links and the channels are assigned to the links by the radios based on the skewness value. Table1 shows the quality of the triangle based on the skewness [45]. For simplicity, we consider only three cases. First case S=±1 happens when the triangle almost flattens and appears to be in parallel with the diameter of the circle, which can never be used (general position avoiding collinear coordinates). The interpretation of the negative skewness factor S is slightly different. In +S, the sides move close to the largest side of the △ (Figure 4; for △AEC line segments AE- and CE- are coming close to AC-), but in -S, line segment AD- moves closer to line segments AC- and CD- for △ADC. When S=0.9 to 0.1, we consider it to be bad as this case leads to sides coming closer to the diameter. The last case where S=0 represents the optimal size of the triangle.Table 1
Skewness factor.
Value of skewness
Quality of the△
(
S
=
±
1)
Degenerate
0
<
S
<
±
1
Bad
S
=
0
ExcellentThe triangulation property is applied to the Multiradio Connectivity GraphCG′. These chords explained in Figure 4 are analogous to the links of the graph CG′. Steps involved in grouping the links and assigning channels to the links are listed as follows.Step 1.
Identify the link vertexvc∈CC for each radio vG′∈VG′ of the leader node.Step 2.
Compute the degree ofvc using (7).Step 3.
Identify the corresponding radios inCG′ for the incident links equal to D(vc).Step 4.
Check whether triangles are formed by the identified radios inCG′.Step 5.
Compute the skewness of the triangles.Step 6.
Based on the skewness value, assign channels to the links.Step 7.
If the skewnessS=0, then the leader assigns same channel to all the links as the triangle formed is an equilateral triangle.Step 8.
If the skewness0.1>S>0.9, then each radio assigns channel independently to all its links that form the triangle and sends the information to its leader.Step 9.
Leader consolidates the number of times the same channel is used for that particular link as the Interference Matrix.Algorithm4 explains the detailed procedure for constructing the Interference Matrix based on the steps described above.Algorithm 4:Interference Matrix I construction.
Leaders in the graphLDRm, where m = {1,2,…,m},m < N
Number of radios per nodeRr, where r = {1,2,…,r} //r depends on the product
Number ofk-orthogonal channels C, where C = {1,2,…,k} //depends on the frequency spectrum of the radios
R
INL
=
∅ //associated radios of incident links in CG′
I
[
V
C
]
[
Channels
]
=
0 //rows = link vertices in CC and columns = available orthogonal channels
Input: Multi-radio Connectivity Graph(CG′) and C-MMCG (CC)
Output: Interference MatrixI
∀
LDR
m
∀Rldr
Identify its corresponding link vertexvc∈VC in CC //arbitrary selection
d=D(vc) //using (7)
INL = set of link vertices incident tovc
∀INL∈CG′
RINL = Identify the associated radios in CG′
⋃1dRINL
End for
Identify the triangles formed with other radiosr∈RINL in CG′ with reference to Rldr
∀△
Check the necessary condition //using Thales theorem
Compute skewnessS //using  (8)
△sides= sides of the triangle
∀RINL
ifS==0 //Assign same channel to all the links
∀i→1 to VC
∀side∈△sides⋀side∈VC
Iij=Iij+1 //j may be assigned any arbitrary value between 1  to C
End for
End for
elseif0<S<1
∀i→1 to VC
∀side∈△sides⋀side∈VC
j=k
Iij=Iij+1
k = k+1
End for
End for
End if
End for
End for
End for
End forNotations section explains the notations used in our algorithm.


### 5.3. Discrete Particle Swarm Optimization

Particle Swarm Optimization (PSO) is a stochastic approach based on search algorithms to solve NP hard problem. Generally heuristic algorithms are employed to solve problems, where finding an exact solution is time consuming and sometimes not possible. Originally, the PSO was developed to solve a continuous problem, and then the discrete version was introduced by Kennedy and Eberhart [46]. PSO is used to solve the multidimensional problem and the convergence time taken is much less and the number of parameters to be tuned is minimal when compared with other evolutionary algorithms. The fundamental notion of PSO is the creation of a particle swarm and each particle provides a feasible solution for the problem. The solutions are evaluated based on some fitness function. There are some standard fitness functions, but in our proposed work, the fitness function is the objective function defined by the NLP model as in (1). During successive iterations, the algorithm calculates the objective function value for the feasible solution and assesses the fitness of the solution. After assessing the fitness and based on the optimization problem, the velocity and the position of a particle that are represented in (10) and (11) are updated. The velocity parameter reflects the experimental knowledge and socially exchanged information among the neighborhood:(10)Vidt+1=Vidt+φ1r1Pid-Xid+φ2r2Pgd-Xid,(11)Xidt+1=Xidt+Vidt+1.In (10), there are three terms; the first term defines the momentum of the particle to retain its current direction itself. Equation (10) does not have the inertia weight constant in the original velocity parameter definition. The later version consists of an explicit inertia weight parameter (ω) which ranges from 0.8 to 1.2 defined in previous studies [47]. This inertia weight ω reduces the trade-off between the exploitation and exploration of the particle. The second term and the third term are called self-knowledge and social knowledge, respectively. The self-knowledge term is used to know how much the current position is close to its own best position and the social knowledge is used to know how much the current solution is close to its best neighborhood solution lb or the global solution gb. φ1 and φ2 are called the cognitive coefficient and social coefficient, respectively. The technical study done on the parameter of the PSO provides information on selecting the value for the positive constants φ1,φ2. Generally, the value of these two constants is 2 and their range is between 0 and 4. Utilizing the inertia weight and the two constants φ1 and φ2 together is a straight forward method in selecting the values for the parameters. Inequality (12) yields the relation between the three parameters as in [48](12)ω>12φ1+φ2-1.This condition is used to avoid the cyclic behavior of the particles in the search space. There are different velocity models with the aim of providing variation in PSO. The velocity model we have employed in our work is the cognitive-only velocity model [48] with inertia weight. The social component is not considered in this model. The behavior of the particles tends to search locally rather than exploring globally. This behavior is applied to our local graph to assign channels locally. Since this model is slightly slower, to make it converge faster we have introduced the inertia weight to the velocity equation which is statically initialized and checked for the condition given in (12).The topology of the swarm in PSO has an impact on the performance of the evolution process. There are different ways of communication done among the neighborhood inside a swarm. We have considered a star topology for the communication among the neighbors, since we have employed a leader based clustering to obtain the neighborhood. In our star topology, the central is selected based on the membership. In the proposed work, each radio in the leader suggests some feasible solution for assigning channels to the links in Algorithm3. The leader then combines all the suggested solutions and the total impact of the assignment is fortified as the Interference Matrix I. Thus, there is no further requirement of the neighborhood particles nb. Hence, the current particle position is initialized by the leader node which influences all the neighbor nodes. We use this model, since our search area is within the neighbors with a leader identified by the Voronoi diagram. The velocity equation of the cognitive model used in this work is represented in(13)Vkt+1i,j=ωVkti,j+φ1r1Pbkti,j-Xkti,j.In (13), Vkti,j is the element in ith row (links) and jth column (channels) of the kth velocity matrix at time t+1. The particle is of D dimension and moves around the D dimension search space with a velocity parameter and each particle gives a feasible solution. The velocity clamping is used to restrict the particles movement. The velocity parameter is defined with D dimension in the range of Vmax→-Vmax to +Vmax in order to avoid the particle moving too far away from search space and the value of Vmax is preset based on the problem under consideration. Normally, Vmax is in the range of [-Xmax,+Xmax]. But for our problem the position matrix is a binary matrix and hence we determine Vmax by (14)Vmax=NN×NRNC,where NN is the number of nodes in the cluster, NR is the number of radios in the cluster, and NC is the number of k-orthogonal channels available in the radio spectrum which is supported by the radios of each router. In the example graph shown in Figure 3(a), NN=4, NR=6, and NC=3. The Vmax value is 4×6/3=8 and this fixes up the upper and lower bound of the velocity value and hence the range of velocity matrix is [-8,8] for the problem. The velocity can take values up to 16 [13]. Initially, the velocity matrix Vki,j is generated randomly at time t where i is the number of links in CG′ and j is the number of orthogonal channels. This matrix provides the information with respect to the particles movement. If Vkt+1i,j>Vkti,j∀i,j it indicates that the particle’s position Xkt+1(i,j) is close to the particle’s best position. Otherwise, Xkt+1(i,j) is moving away from the best position and if there is no change it is already in the best position:(15)Xkti,j=1,ifjth  channel  is  assigned  toith  link0,if  there  is  no  channel  assignment,(16)Pbkti,j=1,ifjth  channel  is  assigned  toith  link0,if  there  is  no  channel  assignment.Equations (15) and (16) are used to initialize the particle position and its best position, respectively. In consecutive iterations, Vkt+1(i,j) is updated based on (13). Then, particle’s position Xkt+1(i,j) is updated based on the updated velocity Vkt+1(i,j) using (17). In each iteration, if f(Xkti,j)<f(Pbkti,j), where f is the fitness function, then the best position matrix is replaced by the current position. Otherwise, the velocity and position matrices are updated and the position is evaluated. This particle tends to move towards the best particle Pb to satisfy the fitness function. At any particular iteration, the particle reaches Pb, which becomes the termination condition of the algorithm. We have employed PSO for optimally allocating the k-orthogonal channels to the links in order to reduce the interference in the network, which will further increase the throughput of the data transmission. The particle position is updated by(17)Xkt+1i,j=1ifVkt+1i,j=max⁡Vkt+1i,j,∀j∈1,2,…c0otherwise.To update the position matrix, we identify the maximum value in each row and 1 is placed in that index ofXkt+1i,j. Algorithm 5 shows the steps involved in optimizing our objective function. The solution to this optimization problem states the possible combination of channels that can be assigned to the links in order to minimize the interference.Algorithm 5:Discrete Particle Swarm Optimization for CGCA.
Initialize the following parameters:
Particle indexk
Particles best position matrixPbkt(i,j)
Particles current positionXkt(i,j)
Velocity clamping rangeVmax⁡
Velocity matrixVkt(i,j)
Inertia weightω
Cognitive constantφ1
Stochastic random numberr1
Initialize theD dimensional swarm with P particles
repeat
∀particlek→1 to P
Calculatef(Xkt(i,j)) & f(Pbkt(i,j))   //f(⋅) is the fitness function
if(f(Xkti,j)<f(Pbkti,j))
∀i,j↔Pbkti,j=Xkti,j     //current assignment is best
elseif(f(Xkti,j)>f(Pbkti,j))
∀i∈L→1 to L
∀j∈C→1 to C
if(Pbkt(i,j)>Xkt(i,j))
Vkt+1i,j=ω×Vkti,j+φ1×r1
else
Vkt+1i,j=ω×Vkti,j-φ1×r1
if(max⁡<Vkt+1i,j)
max⁡=Vkt+1(i,j)
Xkt+1i,j=1
End if
End if
End for
End for
End if
End for
Until


## 5.1. Neighborhood Discovery and Leader Selection

The network is split into small subgraphs to think locally and act locally. To split the network into small subgraphs, Voronoi diagram is used. The Voronoi diagram is applied to the graph to find the neighbor nodes of any noden∈N∧n∈G. To compute the Voronoi diagram, the mesh routers are viewed and plotted as points in a planar graph. Voronoi diagram partitions the plane and the neighboring nodes are identified by the Voronoi edges which are shared with the neighboring nodes. This clustering is used for making the channel assignment distributed and localized. As a result, the convergence is much faster than assigning channels to the entire network.We assume that each node knows its location in the space using GPS [44] and broadcasts its position to its neighbors. If the nodes know their position, then the distance between two nodes can be computed. The nodes are assumed to be in general positions so that no three nodes are collinear and no four nodes fall on the same circle [38, 39]. Each mesh router (MR) computes its own Voronoi cell and the entire Voronoi diagram delivers a graph with the neighbors close to each node.Each node registers its neighborhood group with the gateway nodeMG. The gateway consolidates these clusters to identify some landmark nodes called leaders based on the occurrence of the node in the groups. That is, a node occurring in maximum number of groups is polled as the leader. These leaders take up the responsibility of assigning channels and transmitting the channel information to gateway MG. MG acts as the central server for storing the information so as to avoid packet loss and to improve the throughput of the network as it is the point which encounters maximum amount of traffic throughout the communication. This safeguards the data from signal degradation due to the interference present in the network.Figure2 explains the leader selection process for more clarity. The circles in the diagram represent the routers of the network. The node in red color is the special node called the gateway. The groups created by the node are named Gi where i=1,2,…,N and N is the number of nodes. The dotted lines around the nodes denote the group of each node created. For example, we have shown two groups created for node 1 (G1) and node 2 (G2). The nodes in groups G1 and G2 are computed as G1=n0,n1,n2,n6 and G2=n1,n2,n3,n5 by applying the algorithm in [18]. From this, the membership for nodes n0, n1, n2, and n6 is computed as 2, 1, 2, and 1, respectively, by the gateway node. All the nodes within the transmission range are considered to be neighbors of a particular node. Here, for simplicity, we have grouped only the one hop neighbors of nodes 1 and 2. The Voronoi diagram of group G2 is shown in Figure 2(b). The thick lines are the bisectors between the points and the thin lines are the Delaunay Triangulation edges.Figure 2
(a) Leader selection. (b) Voronoi diagram for node 2(G2).
(a)
(b)Figure 3
Interference model.
(a)
Connectivity GraphCG for node A/2 as leader
(b)
Multiradio Connectivity GraphCG′
(c)
Conflict GraphCC (E-MMCG)Each nodenj∈N, where j=0,1,2,…,N, is responsible for computing its group Gi, where 0≤i≤G. G={G0,G1,…,GN} is the set of groups in which the subscripts represent the nodes for which the group is formed; for example, G0 is the group for the gateway node. The groups present in G are not disjoint; that is, a node may be present in more than one group. After the groups are registered, the gateway looks for the prospective leaders by checking the membership of the nodes present in the group. We determine the membership of each node by counting the number of times it is present in G. The maximum occurrence of a node nj is computed using (6). Each time when a node nj appears in any group Gi∈G the membership M(nj) is incremented by 1. Then, MG sends the leader information to all the groups formed in the network:(6)Mnj=∑Gi∈G∧nj∈Gi1.For example, we have taken groupG2 and assumed its leader to be node 2 as the node belongs to G1 and G2. In this leader selection process, some groups may not have leaders since all the nodes nj∈Gi; they may be the leader of some other group. Thus, this group does not require any leader for itself.Figure2(b) shows the connectivity among the nodes that fall in the group formed by node 2. The Delaunay Triangulation (DT) edges show the nodes which share the same Voronoi edge and they are termed to be neighbors. The DT edges provide the connectivity between the nodes and the graph formed is called the Connectivity Graph  CG. Then, the channels are assigned to the radios of the nodes in these small groups {G1,G2,…,GN} independently.Algorithm1 explains the selection of a leader in each group which is carried out by the MG node after the nodes register their groups with it.Algorithm 1:Leader selection.
LetG be the groups created by N nodes and registered with gateway MG G={G1,G2,…,GN}
For each nodenj∈N
For each GroupGi={n1,n2,…,nj}
k = 0
L = ϕ
if(∃nj∈N: nj in Gi)
k = k+1
M(nj) = max⁡(k,1)
End for
L(Gi) = max⁡(M(n1),M(n2),…,M(nj)), ∀j≤i
L = L∪L(Gi)
End forThe next step of our channel assignment procedure is to construct the link and interference matrices based on the protocol model to define the interference. Our process of modelling the interference is inspired by the E-MMCG algorithm [23] which models the radios as nodes instead of the routers themselves and also considers the cochannel interference. An elaborate description is given in the next section.


## 5.2. Channel Assignment and Matrices Construction

The Link MatrixML and Interference Matrix I are constructed based on the Connectivity Graph CG, which is created by applying the Delaunay Triangulation (DT) in the Voronoi diagram. The DT connectivity gives the possible neighbors of any node to form a group. Sections 5.2.1, 5.2.2, and 5.2.3 in this section explain the interference model and the steps involved in constructing the link ML and interference I matrices.


### 5.2.1. Interference Model

We have employed E-MMCG [23] to model the interference effect. We have redrawn the graph in Figure 2(b), the Connectivity Graph CG with the alphabets, to distinguish it from the number of radios that each node contains (2-A, 1-B, 3-C, and 5-D) as in Figure 3(a). Figure 3(a) shows the subtopology generated after identifying the neighbors and the leader of that particular group. The circles represent the node and the number in the square brackets inside each circle represents the number of radios incorporated in that particular node. We represent the topology for group G2 as graph CG(VG,EG), where VG and EG are the vertices and edges of the Connectivity Graph, respectively, for node 2 (A). Each node is incorporated with different number of radios which is represented in the square brackets.An intermediate graph known as the Multiradio Connectivity Graph (MCG)CG′(VG′,EG′) is built, where the nodes in CG are replaced with their radios and the links are established between the radios as the edges as shown in Figure 3(b). Graph CG′ provides the information of interfering radios and is used in constructing the MMCG graph CC. Algorithm 2 shown below explains the procedure for converting CG→CG′.Algorithm 2:Multiradio Connectivity Graph (CG′(VG′,EG′))⊢ Connectivity Graph (CG(VG,EG)).
Input: Connectivity Graph
Output: Multi-radio Connectivity Graph
LetVG={u1,u2,…,ug}
Each nodeug∈VG consists of radios Ri∣i={1,2,…,r}
∀
V
G
∈
C
G
∀Ri∈ug
Create nodesVG′
End for
End for
∀
(
u
i
,
u
j
)
∈
V
G
⋀
d
(
u
i
,
u
j
)
≤
T
r
⋀
i
≠
j //1≤i,j≤g
if(Ri∈ui⋀Rj∈uj)
Create links≬Ri and Rj
End if
End forEach node inCG is replaced with its radios; for example, in Figure 3, node A is replaced by its radios A0 and A1 and the edges are established between the radios. The Multiradio Connectivity Graph is used to create MMCG graph to model the interference and we have used the E-MMCG algorithm [23] to obtain the Conflict Graph named CC(VC,EC) as shown in Figure 3(c). VC is the set of vertices named “link vertices” to differentiate it from the set of vertices in VG′. It represents the link present between two radios/nodes in CG′. EC is the set of edges named “link edges” which is established between two link vertices if the interference subsists. The E-MMCG shown in Figure 3(c) includes the cochannel interference; that is, the radios present in a node may use the same channel which results in interference. Using the two graphs CG′ and CC, the link and interference matrices are constructed.


### 5.2.2. Link Matrix

Link MatrixML is a L×L matrix where L⊆VC∧VC∈CC. The Link Matrix explains the number of links that interfere with a particular link. Construction of ML is done using Algorithm 3 as described below. The degree of each link vertex belonging to CC is computed using(7)DvC=∑k=2L1∣∃1inMLj,k,wherej=1,2,…,L⋀∀vc∈VC.Algorithm 3:Link Matrix ML.
Input: Conflict Graph
Output: Link Matrix
∀
i
→
1 to L
∀j→1 to L
if(i==j)
MLij=0
else
if(∃ec∈EC≬i,j∈L)
MLij=1
End if
End if
End for
End forThe degree of each “link vertex” is incremented by 1 for every link incident on that particular “link vertex”vc∈VC present in the Conflict Graph CC. The parameter L is the number of “link vertices” in the Conflict Graph.


### 5.2.3. Channel Assignment and Interference Matrix

Interference matrixI is constructed by consolidating the number of times the same channel is used by the radios. First, we present the mathematical background used to construct the matrix. Then, using this mathematical background, the steps involved in constructing Interference Matrix are described.Mathematical Background. We have used Thales theorem and associated triangulation property for our derivation of the Interference Matrix I.Theorem 1.
The triangulation property says that a circumcircle drawn with respect to the longer side of a triangle enforces three cases.
Case 1. ∠AOC=2×∠ABC ∣ Points A, B, and C lie on the perimeter of the circle with O as centre.
Case 2. ∠AEC > 90° ∣ Point E lies inside the circle.
Case 3.∠ADC < 90° ∣ Point D lies outside the circle.Figure4 is used to explain the theorem and all the three cases. The points on a circle with one chord AC- as its diameter provide the relationship with angles and the point location. The theorem states that the angle created by the points on the perimeter of the circle is always a 90° regardless of the point location; that is, ∠ABC=90°.Figure 4
Thales theorem.The other property related to triangulation states that the largest angle is always opposite to the largest side of the triangle. With reference to Figure4, in △AEC∠AEC>90°, and hence the largest side is AC¯. This property implicitly states that the sides holding the largest angle AE- and CE- come close to the largest side of the triangle AC-. This property is used to identify the edges that are close to each other. To determine and quantify this closeness factor of the edges we compute skewness S for the triangles using(8)SkewnessS=Optimal  triangle  size-Actual  triangle  sizeOptimal  triangle  size.The optimal triangle is the equilateral/equiangular triangle [45]. Both the optimal triangle and the actual triangle are computed as in(9)△size=12×det⁡x1x2x3y1y2y3111.Using these properties, we group the links and the channels are assigned to the links by the radios based on the skewness value. Table1 shows the quality of the triangle based on the skewness [45]. For simplicity, we consider only three cases. First case S=±1 happens when the triangle almost flattens and appears to be in parallel with the diameter of the circle, which can never be used (general position avoiding collinear coordinates). The interpretation of the negative skewness factor S is slightly different. In +S, the sides move close to the largest side of the △ (Figure 4; for △AEC line segments AE- and CE- are coming close to AC-), but in -S, line segment AD- moves closer to line segments AC- and CD- for △ADC. When S=0.9 to 0.1, we consider it to be bad as this case leads to sides coming closer to the diameter. The last case where S=0 represents the optimal size of the triangle.Table 1
Skewness factor.
Value of skewness
Quality of the△
(
S
=
±
1)
Degenerate
0
<
S
<
±
1
Bad
S
=
0
ExcellentThe triangulation property is applied to the Multiradio Connectivity GraphCG′. These chords explained in Figure 4 are analogous to the links of the graph CG′. Steps involved in grouping the links and assigning channels to the links are listed as follows.Step 1.
Identify the link vertexvc∈CC for each radio vG′∈VG′ of the leader node.Step 2.
Compute the degree ofvc using (7).Step 3.
Identify the corresponding radios inCG′ for the incident links equal to D(vc).Step 4.
Check whether triangles are formed by the identified radios inCG′.Step 5.
Compute the skewness of the triangles.Step 6.
Based on the skewness value, assign channels to the links.Step 7.
If the skewnessS=0, then the leader assigns same channel to all the links as the triangle formed is an equilateral triangle.Step 8.
If the skewness0.1>S>0.9, then each radio assigns channel independently to all its links that form the triangle and sends the information to its leader.Step 9.
Leader consolidates the number of times the same channel is used for that particular link as the Interference Matrix.Algorithm4 explains the detailed procedure for constructing the Interference Matrix based on the steps described above.Algorithm 4:Interference Matrix I construction.
Leaders in the graphLDRm, where m = {1,2,…,m},m < N
Number of radios per nodeRr, where r = {1,2,…,r} //r depends on the product
Number ofk-orthogonal channels C, where C = {1,2,…,k} //depends on the frequency spectrum of the radios
R
INL
=
∅ //associated radios of incident links in CG′
I
[
V
C
]
[
Channels
]
=
0 //rows = link vertices in CC and columns = available orthogonal channels
Input: Multi-radio Connectivity Graph(CG′) and C-MMCG (CC)
Output: Interference MatrixI
∀
LDR
m
∀Rldr
Identify its corresponding link vertexvc∈VC in CC //arbitrary selection
d=D(vc) //using (7)
INL = set of link vertices incident tovc
∀INL∈CG′
RINL = Identify the associated radios in CG′
⋃1dRINL
End for
Identify the triangles formed with other radiosr∈RINL in CG′ with reference to Rldr
∀△
Check the necessary condition //using Thales theorem
Compute skewnessS //using  (8)
△sides= sides of the triangle
∀RINL
ifS==0 //Assign same channel to all the links
∀i→1 to VC
∀side∈△sides⋀side∈VC
Iij=Iij+1 //j may be assigned any arbitrary value between 1  to C
End for
End for
elseif0<S<1
∀i→1 to VC
∀side∈△sides⋀side∈VC
j=k
Iij=Iij+1
k = k+1
End for
End for
End if
End for
End for
End for
End forNotations section explains the notations used in our algorithm.


## 5.2.1. Interference Model

We have employed E-MMCG [23] to model the interference effect. We have redrawn the graph in Figure 2(b), the Connectivity Graph CG with the alphabets, to distinguish it from the number of radios that each node contains (2-A, 1-B, 3-C, and 5-D) as in Figure 3(a). Figure 3(a) shows the subtopology generated after identifying the neighbors and the leader of that particular group. The circles represent the node and the number in the square brackets inside each circle represents the number of radios incorporated in that particular node. We represent the topology for group G2 as graph CG(VG,EG), where VG and EG are the vertices and edges of the Connectivity Graph, respectively, for node 2 (A). Each node is incorporated with different number of radios which is represented in the square brackets.An intermediate graph known as the Multiradio Connectivity Graph (MCG)CG′(VG′,EG′) is built, where the nodes in CG are replaced with their radios and the links are established between the radios as the edges as shown in Figure 3(b). Graph CG′ provides the information of interfering radios and is used in constructing the MMCG graph CC. Algorithm 2 shown below explains the procedure for converting CG→CG′.Algorithm 2:Multiradio Connectivity Graph (CG′(VG′,EG′))⊢ Connectivity Graph (CG(VG,EG)).
Input: Connectivity Graph
Output: Multi-radio Connectivity Graph
LetVG={u1,u2,…,ug}
Each nodeug∈VG consists of radios Ri∣i={1,2,…,r}
∀
V
G
∈
C
G
∀Ri∈ug
Create nodesVG′
End for
End for
∀
(
u
i
,
u
j
)
∈
V
G
⋀
d
(
u
i
,
u
j
)
≤
T
r
⋀
i
≠
j //1≤i,j≤g
if(Ri∈ui⋀Rj∈uj)
Create links≬Ri and Rj
End if
End forEach node inCG is replaced with its radios; for example, in Figure 3, node A is replaced by its radios A0 and A1 and the edges are established between the radios. The Multiradio Connectivity Graph is used to create MMCG graph to model the interference and we have used the E-MMCG algorithm [23] to obtain the Conflict Graph named CC(VC,EC) as shown in Figure 3(c). VC is the set of vertices named “link vertices” to differentiate it from the set of vertices in VG′. It represents the link present between two radios/nodes in CG′. EC is the set of edges named “link edges” which is established between two link vertices if the interference subsists. The E-MMCG shown in Figure 3(c) includes the cochannel interference; that is, the radios present in a node may use the same channel which results in interference. Using the two graphs CG′ and CC, the link and interference matrices are constructed.


## 5.2.2. Link Matrix

Link MatrixML is a L×L matrix where L⊆VC∧VC∈CC. The Link Matrix explains the number of links that interfere with a particular link. Construction of ML is done using Algorithm 3 as described below. The degree of each link vertex belonging to CC is computed using(7)DvC=∑k=2L1∣∃1inMLj,k,wherej=1,2,…,L⋀∀vc∈VC.Algorithm 3:Link Matrix ML.
Input: Conflict Graph
Output: Link Matrix
∀
i
→
1 to L
∀j→1 to L
if(i==j)
MLij=0
else
if(∃ec∈EC≬i,j∈L)
MLij=1
End if
End if
End for
End forThe degree of each “link vertex” is incremented by 1 for every link incident on that particular “link vertex”vc∈VC present in the Conflict Graph CC. The parameter L is the number of “link vertices” in the Conflict Graph.


## 5.2.3. Channel Assignment and Interference Matrix

Interference matrixI is constructed by consolidating the number of times the same channel is used by the radios. First, we present the mathematical background used to construct the matrix. Then, using this mathematical background, the steps involved in constructing Interference Matrix are described.Mathematical Background. We have used Thales theorem and associated triangulation property for our derivation of the Interference Matrix I.Theorem 1.
The triangulation property says that a circumcircle drawn with respect to the longer side of a triangle enforces three cases.
Case 1. ∠AOC=2×∠ABC ∣ Points A, B, and C lie on the perimeter of the circle with O as centre.
Case 2. ∠AEC > 90° ∣ Point E lies inside the circle.
Case 3.∠ADC < 90° ∣ Point D lies outside the circle.Figure4 is used to explain the theorem and all the three cases. The points on a circle with one chord AC- as its diameter provide the relationship with angles and the point location. The theorem states that the angle created by the points on the perimeter of the circle is always a 90° regardless of the point location; that is, ∠ABC=90°.Figure 4
Thales theorem.The other property related to triangulation states that the largest angle is always opposite to the largest side of the triangle. With reference to Figure4, in △AEC∠AEC>90°, and hence the largest side is AC¯. This property implicitly states that the sides holding the largest angle AE- and CE- come close to the largest side of the triangle AC-. This property is used to identify the edges that are close to each other. To determine and quantify this closeness factor of the edges we compute skewness S for the triangles using(8)SkewnessS=Optimal  triangle  size-Actual  triangle  sizeOptimal  triangle  size.The optimal triangle is the equilateral/equiangular triangle [45]. Both the optimal triangle and the actual triangle are computed as in(9)△size=12×det⁡x1x2x3y1y2y3111.Using these properties, we group the links and the channels are assigned to the links by the radios based on the skewness value. Table1 shows the quality of the triangle based on the skewness [45]. For simplicity, we consider only three cases. First case S=±1 happens when the triangle almost flattens and appears to be in parallel with the diameter of the circle, which can never be used (general position avoiding collinear coordinates). The interpretation of the negative skewness factor S is slightly different. In +S, the sides move close to the largest side of the △ (Figure 4; for △AEC line segments AE- and CE- are coming close to AC-), but in -S, line segment AD- moves closer to line segments AC- and CD- for △ADC. When S=0.9 to 0.1, we consider it to be bad as this case leads to sides coming closer to the diameter. The last case where S=0 represents the optimal size of the triangle.Table 1
Skewness factor.
Value of skewness
Quality of the△
(
S
=
±
1)
Degenerate
0
<
S
<
±
1
Bad
S
=
0
ExcellentThe triangulation property is applied to the Multiradio Connectivity GraphCG′. These chords explained in Figure 4 are analogous to the links of the graph CG′. Steps involved in grouping the links and assigning channels to the links are listed as follows.Step 1.
Identify the link vertexvc∈CC for each radio vG′∈VG′ of the leader node.Step 2.
Compute the degree ofvc using (7).Step 3.
Identify the corresponding radios inCG′ for the incident links equal to D(vc).Step 4.
Check whether triangles are formed by the identified radios inCG′.Step 5.
Compute the skewness of the triangles.Step 6.
Based on the skewness value, assign channels to the links.Step 7.
If the skewnessS=0, then the leader assigns same channel to all the links as the triangle formed is an equilateral triangle.Step 8.
If the skewness0.1>S>0.9, then each radio assigns channel independently to all its links that form the triangle and sends the information to its leader.Step 9.
Leader consolidates the number of times the same channel is used for that particular link as the Interference Matrix.Algorithm4 explains the detailed procedure for constructing the Interference Matrix based on the steps described above.Algorithm 4:Interference Matrix I construction.
Leaders in the graphLDRm, where m = {1,2,…,m},m < N
Number of radios per nodeRr, where r = {1,2,…,r} //r depends on the product
Number ofk-orthogonal channels C, where C = {1,2,…,k} //depends on the frequency spectrum of the radios
R
INL
=
∅ //associated radios of incident links in CG′
I
[
V
C
]
[
Channels
]
=
0 //rows = link vertices in CC and columns = available orthogonal channels
Input: Multi-radio Connectivity Graph(CG′) and C-MMCG (CC)
Output: Interference MatrixI
∀
LDR
m
∀Rldr
Identify its corresponding link vertexvc∈VC in CC //arbitrary selection
d=D(vc) //using (7)
INL = set of link vertices incident tovc
∀INL∈CG′
RINL = Identify the associated radios in CG′
⋃1dRINL
End for
Identify the triangles formed with other radiosr∈RINL in CG′ with reference to Rldr
∀△
Check the necessary condition //using Thales theorem
Compute skewnessS //using  (8)
△sides= sides of the triangle
∀RINL
ifS==0 //Assign same channel to all the links
∀i→1 to VC
∀side∈△sides⋀side∈VC
Iij=Iij+1 //j may be assigned any arbitrary value between 1  to C
End for
End for
elseif0<S<1
∀i→1 to VC
∀side∈△sides⋀side∈VC
j=k
Iij=Iij+1
k = k+1
End for
End for
End if
End for
End for
End for
End forNotations section explains the notations used in our algorithm.


## 5.3. Discrete Particle Swarm Optimization

Particle Swarm Optimization (PSO) is a stochastic approach based on search algorithms to solve NP hard problem. Generally heuristic algorithms are employed to solve problems, where finding an exact solution is time consuming and sometimes not possible. Originally, the PSO was developed to solve a continuous problem, and then the discrete version was introduced by Kennedy and Eberhart [46]. PSO is used to solve the multidimensional problem and the convergence time taken is much less and the number of parameters to be tuned is minimal when compared with other evolutionary algorithms. The fundamental notion of PSO is the creation of a particle swarm and each particle provides a feasible solution for the problem. The solutions are evaluated based on some fitness function. There are some standard fitness functions, but in our proposed work, the fitness function is the objective function defined by the NLP model as in (1). During successive iterations, the algorithm calculates the objective function value for the feasible solution and assesses the fitness of the solution. After assessing the fitness and based on the optimization problem, the velocity and the position of a particle that are represented in (10) and (11) are updated. The velocity parameter reflects the experimental knowledge and socially exchanged information among the neighborhood:(10)Vidt+1=Vidt+φ1r1Pid-Xid+φ2r2Pgd-Xid,(11)Xidt+1=Xidt+Vidt+1.In (10), there are three terms; the first term defines the momentum of the particle to retain its current direction itself. Equation (10) does not have the inertia weight constant in the original velocity parameter definition. The later version consists of an explicit inertia weight parameter (ω) which ranges from 0.8 to 1.2 defined in previous studies [47]. This inertia weight ω reduces the trade-off between the exploitation and exploration of the particle. The second term and the third term are called self-knowledge and social knowledge, respectively. The self-knowledge term is used to know how much the current position is close to its own best position and the social knowledge is used to know how much the current solution is close to its best neighborhood solution lb or the global solution gb. φ1 and φ2 are called the cognitive coefficient and social coefficient, respectively. The technical study done on the parameter of the PSO provides information on selecting the value for the positive constants φ1,φ2. Generally, the value of these two constants is 2 and their range is between 0 and 4. Utilizing the inertia weight and the two constants φ1 and φ2 together is a straight forward method in selecting the values for the parameters. Inequality (12) yields the relation between the three parameters as in [48](12)ω>12φ1+φ2-1.This condition is used to avoid the cyclic behavior of the particles in the search space. There are different velocity models with the aim of providing variation in PSO. The velocity model we have employed in our work is the cognitive-only velocity model [48] with inertia weight. The social component is not considered in this model. The behavior of the particles tends to search locally rather than exploring globally. This behavior is applied to our local graph to assign channels locally. Since this model is slightly slower, to make it converge faster we have introduced the inertia weight to the velocity equation which is statically initialized and checked for the condition given in (12).The topology of the swarm in PSO has an impact on the performance of the evolution process. There are different ways of communication done among the neighborhood inside a swarm. We have considered a star topology for the communication among the neighbors, since we have employed a leader based clustering to obtain the neighborhood. In our star topology, the central is selected based on the membership. In the proposed work, each radio in the leader suggests some feasible solution for assigning channels to the links in Algorithm3. The leader then combines all the suggested solutions and the total impact of the assignment is fortified as the Interference Matrix I. Thus, there is no further requirement of the neighborhood particles nb. Hence, the current particle position is initialized by the leader node which influences all the neighbor nodes. We use this model, since our search area is within the neighbors with a leader identified by the Voronoi diagram. The velocity equation of the cognitive model used in this work is represented in(13)Vkt+1i,j=ωVkti,j+φ1r1Pbkti,j-Xkti,j.In (13), Vkti,j is the element in ith row (links) and jth column (channels) of the kth velocity matrix at time t+1. The particle is of D dimension and moves around the D dimension search space with a velocity parameter and each particle gives a feasible solution. The velocity clamping is used to restrict the particles movement. The velocity parameter is defined with D dimension in the range of Vmax→-Vmax to +Vmax in order to avoid the particle moving too far away from search space and the value of Vmax is preset based on the problem under consideration. Normally, Vmax is in the range of [-Xmax,+Xmax]. But for our problem the position matrix is a binary matrix and hence we determine Vmax by (14)Vmax=NN×NRNC,where NN is the number of nodes in the cluster, NR is the number of radios in the cluster, and NC is the number of k-orthogonal channels available in the radio spectrum which is supported by the radios of each router. In the example graph shown in Figure 3(a), NN=4, NR=6, and NC=3. The Vmax value is 4×6/3=8 and this fixes up the upper and lower bound of the velocity value and hence the range of velocity matrix is [-8,8] for the problem. The velocity can take values up to 16 [13]. Initially, the velocity matrix Vki,j is generated randomly at time t where i is the number of links in CG′ and j is the number of orthogonal channels. This matrix provides the information with respect to the particles movement. If Vkt+1i,j>Vkti,j∀i,j it indicates that the particle’s position Xkt+1(i,j) is close to the particle’s best position. Otherwise, Xkt+1(i,j) is moving away from the best position and if there is no change it is already in the best position:(15)Xkti,j=1,ifjth  channel  is  assigned  toith  link0,if  there  is  no  channel  assignment,(16)Pbkti,j=1,ifjth  channel  is  assigned  toith  link0,if  there  is  no  channel  assignment.Equations (15) and (16) are used to initialize the particle position and its best position, respectively. In consecutive iterations, Vkt+1(i,j) is updated based on (13). Then, particle’s position Xkt+1(i,j) is updated based on the updated velocity Vkt+1(i,j) using (17). In each iteration, if f(Xkti,j)<f(Pbkti,j), where f is the fitness function, then the best position matrix is replaced by the current position. Otherwise, the velocity and position matrices are updated and the position is evaluated. This particle tends to move towards the best particle Pb to satisfy the fitness function. At any particular iteration, the particle reaches Pb, which becomes the termination condition of the algorithm. We have employed PSO for optimally allocating the k-orthogonal channels to the links in order to reduce the interference in the network, which will further increase the throughput of the data transmission. The particle position is updated by(17)Xkt+1i,j=1ifVkt+1i,j=max⁡Vkt+1i,j,∀j∈1,2,…c0otherwise.To update the position matrix, we identify the maximum value in each row and 1 is placed in that index ofXkt+1i,j. Algorithm 5 shows the steps involved in optimizing our objective function. The solution to this optimization problem states the possible combination of channels that can be assigned to the links in order to minimize the interference.Algorithm 5:Discrete Particle Swarm Optimization for CGCA.
Initialize the following parameters:
Particle indexk
Particles best position matrixPbkt(i,j)
Particles current positionXkt(i,j)
Velocity clamping rangeVmax⁡
Velocity matrixVkt(i,j)
Inertia weightω
Cognitive constantφ1
Stochastic random numberr1
Initialize theD dimensional swarm with P particles
repeat
∀particlek→1 to P
Calculatef(Xkt(i,j)) & f(Pbkt(i,j))   //f(⋅) is the fitness function
if(f(Xkti,j)<f(Pbkti,j))
∀i,j↔Pbkti,j=Xkti,j     //current assignment is best
elseif(f(Xkti,j)>f(Pbkti,j))
∀i∈L→1 to L
∀j∈C→1 to C
if(Pbkt(i,j)>Xkt(i,j))
Vkt+1i,j=ω×Vkti,j+φ1×r1
else
Vkt+1i,j=ω×Vkti,j-φ1×r1
if(max⁡<Vkt+1i,j)
max⁡=Vkt+1(i,j)
Xkt+1i,j=1
End if
End if
End for
End for
End if
End for
Until


## 6. Experimental Evaluation

Computational Geometry Based Channel Assignment (CGCA) is a traffic independent channel assignment solution that attempts to achieve maximum throughput by minimizing the interference in the network. We have used the default routing protocol (HWMP) for routing and measured the performance of our system with Connected Low Interference Channel Assignment (CLICA) and Common Channel Assignment (CCA) [49]. CLICA uses greedy approach to assign channels. So, the algorithm has to compute the unassigned radios for further assignment. As the algorithm uses greedy approach, fairness is sacrificed [22]. CLICA methodology uses the nodes to construct the Conflict Graph for interference model and hence they do not consider interference caused by colocated radios. The proposed algorithm CGCA addresses the problems and hence performs better than CLICA. We performed simulations to evaluate the performance of CGCA and the results suggest that the distributed channel assignment performs well.


### 6.1. Simulation Environment

Our scheme is evaluated by simulation using the simulator tool Network Simulator [50] with an extension Hyacinth [51] to support multiple interfaces. We have used the HWMP, the default routing protocol of IEEE 802.11s. Table 2 shows the parameters used in our simulation environment.Table 2
Parameters used in simulation.
Parameter (s)
Value (s)
Simulation time
250 s
Node Distribution Model
Uniform 0, 100
Transmission range (Tr)
250 m
Interference range (Ir)
550 m
Network area size
1000 × 1000 m2
Network
25 nodes’ and 50 nodes’  scenarios
MAC standard used
IEEE 802.11 n
Routing protocol
HWMP
Packet size
1500 bytes
Propagation Model
Two-rays
Data stream type
CBR
Mobility
Static nodes


### 6.2. Performance Analysis

CGCA presents an optimal or near optimal solution for each feasible solution. The performance shows that it minimizes the interference by optimally utilizing the available orthogonal channels in the network. In this subsection, we have used various parameters to evaluate our algorithm and have compared it with CLICA and CCA. The graphs show the comparison among all the three traffic independent channel assignment algorithms and show that our algorithm performs well compared to the other two algorithms.Graphs in Figure5 show the change of goodput of the network with increasing number of radios in 25 nodes’ and 50 nodes’ topologies. Goodput is defined to be the ratio between the number of packets sent and the number of packets received per second. The performance is tested for both the 25 nodes’ and the 50 nodes’ scenarios eventually increasing the number of orthogonal channels from 3 to 12. From the results shown in graphs, it is observed that even by increasing the number of radios for each node it does not improve the goodput much, but increasing the number of orthogonal channels shows high improvement in the goodput. This is because the number of orthogonal channels C available in the network is limited [5]. This simulation study shows that CGCA and CLICA adjust themselves based on the number of available channels.Figure 5
Radios versus goodput.
(a)
25 nodes’ topology
(b)
50 nodes’ topologyThe results in Figure6 show the measurement of average throughput over 25 nodes’ and 50 nodes’ topologies for different number of available channels. CGCA shows up to 50% and 15% increase in the throughput when compared with CCA and CLICA, respectively. The average throughput of CCA is less because the algorithm requires as many radios as the number of channels available. The throughput generally increases when the number of radios eventually increases. The throughput of CGCA has increased because the channels are assigned locally and each group has more number of channels. CGCA is not a greedy algorithm and in CGCA the links are assigned with channels by applying the triangulation property. The nodes forming a triangle independently choose any channel cj∈C if the triangle is not equilateral. The selection of the channel is random from the available set of orthogonal channels.Figure 6
Orthogonal channels versus average throughput.
(a)
25 nodes’ topology
(b)
50 nodes’ topologyFigure7 shows the average delay concerning the number of radios per node in the network which participate in forwarding the data. We have evaluated our algorithm for different traffic flows and the graph plotted against the number of radios and average delay illustrate that CGCA delay is reduced to 2.27 ms for 25 nodes’ topology and 3.24 ms for 50 nodes’ topology, respectively, when compared to CCA and CLICA. Delay is reduced in CGCA since the channel switching delay is reduced due to the fact that there are more channels available for assignment and the CGCA is designed based on the static channel assignment strategy. As a result of this strategy, the channels for the links in the path for the data to flow through the network are predetermined which reduces the time taken for selecting and binding the channel with the links in the path.Figure 7
Channels versus average delay.
(a)
25 nodes’ topology
(b)
50 nodes’ topologyThe throughput of the proposed work is high because of the increase in the packet delivery ratio, which is evident from the results shown in Figure8. The result of this experiment also indicates that the packet loss during the transmission of data is less when compared to the other two systems. We have also shown the result produced in both the scenarios. As the number of nodes increases, there is more assurance provided by the network in forwarding and receiving packets in WMN. But the problem here is that as the number of nodes increases the network incurs more interference. But the proposed algorithm minimizes the number of interfering links which leads to less interference in the network. Due to this, reduced interference PDR increases.Figure 8
Channels versus packet delivery ratio.
(a)
25 nodes’ topology
(b)
50 nodes’ topologyThe box and whisker chart shown in Figure9 explain how the fitness function varies based on particle Pk where k=1,2,…,5. We have evaluated the fitness function f (objective function) for 5 particle indices in 15 iterations. The stopping criterion for this experiment is the number of iterations. The mean value of the fitness function is plotted inside every box. The mean value lies between 76 and 96 approximately and does not exceed the range. This is because the particle position is fixed by the maximum velocity. The range for the velocity to vary is fixed by velocity clamping parameter. Velocity clamping ensures that the velocity does not fluctuate beyond the range.Figure 9
Particle indices versus fitness function.Graph in Figure10 shows the number of times a channel is used in each group. The number of groups considered for our experiment ranges from 4 to 10 formed using the Voronoi diagram as explained in Section 5.1. We tested our algorithm in both spectrums, namely, 2 GHz and 5 GHz, where the former has only 3 nonoverlapping channels and the latter consists of 8 nonoverlapping channels. Both results in Figure 10 describe that the channels assigned to links are independent and do not depend on the traffic flows; that is, each radio independently chooses the channels irrespective of other radios. There is no control imposed on the radios for choosing the channels. The selection of channels need not follow any constraints unless the channel is supported by the standard and belongs to C. This is shown by the mean value (number of times the channel is used) of each channel that moves to and fro from high to low and low to high. The mean value of the same channel allocated in 5 GHz is less when compared to 2 GHz radio since the number of orthogonal channels is increased. This implicitly states that the increase in the orthogonal channels improves the performance of the network by reducing the interference and increasing the throughput. The best channel allocation is determined by the fitness function shown in (1).Figure 10
Orthogonal channels versus channel usage.
(a)
Channel usage in 2.4 GHz
(b)
Channel usage in 2.4 GHzThe interference range is always greater than the transmission range for each node; that is,Ir>Tr. This helps the wireless nodes to transmit the data and sense the neighboring nodes; that is, say u and v are the nodes and the distance between them should be less than or equal to the transmission range d(u,v)≤Tr. But there is always a trade-off between the connectivity and the interference between the nodes in the network. Communication between nodes happens only if it falls in the transmission range of each other. If the connectivity is better, then the interference is more due to the signal overlap. This signal overlapping can be reduced to some extent by employing the nonoverlapping channels but cannot be completely avoided as the number of orthogonal channels is less. Figure 11 shows the probability of packet loss with respect to the interference range. The packet loss probability increases for increased interference range because when the interference range increases the links between the nodes interfere and the signal collides if links use the same orthogonal channel (which cannot be completely avoided). The packet loss probability also increases even if the interference range decreases since the connectivity between the nodes is reduced and hence the nodes are not able to transmit the packets completely.Figure 11
Interference versus packet loss.The interference range is varied with respect to the transmission range. We have fixed the transmission range to be 250 m. The first box shows that the transmission range and interference range are same and the last box shows that the interference range is equal to transmission range. The mean value in the graph states that the packet loss is high when the interference range is too high and too low with respect to the transmission range of the node.


## 6.1. Simulation Environment

Our scheme is evaluated by simulation using the simulator tool Network Simulator [50] with an extension Hyacinth [51] to support multiple interfaces. We have used the HWMP, the default routing protocol of IEEE 802.11s. Table 2 shows the parameters used in our simulation environment.Table 2
Parameters used in simulation.
Parameter (s)
Value (s)
Simulation time
250 s
Node Distribution Model
Uniform 0, 100
Transmission range (Tr)
250 m
Interference range (Ir)
550 m
Network area size
1000 × 1000 m2
Network
25 nodes’ and 50 nodes’  scenarios
MAC standard used
IEEE 802.11 n
Routing protocol
HWMP
Packet size
1500 bytes
Propagation Model
Two-rays
Data stream type
CBR
Mobility
Static nodes


## 6.2. Performance Analysis

CGCA presents an optimal or near optimal solution for each feasible solution. The performance shows that it minimizes the interference by optimally utilizing the available orthogonal channels in the network. In this subsection, we have used various parameters to evaluate our algorithm and have compared it with CLICA and CCA. The graphs show the comparison among all the three traffic independent channel assignment algorithms and show that our algorithm performs well compared to the other two algorithms.Graphs in Figure5 show the change of goodput of the network with increasing number of radios in 25 nodes’ and 50 nodes’ topologies. Goodput is defined to be the ratio between the number of packets sent and the number of packets received per second. The performance is tested for both the 25 nodes’ and the 50 nodes’ scenarios eventually increasing the number of orthogonal channels from 3 to 12. From the results shown in graphs, it is observed that even by increasing the number of radios for each node it does not improve the goodput much, but increasing the number of orthogonal channels shows high improvement in the goodput. This is because the number of orthogonal channels C available in the network is limited [5]. This simulation study shows that CGCA and CLICA adjust themselves based on the number of available channels.Figure 5
Radios versus goodput.
(a)
25 nodes’ topology
(b)
50 nodes’ topologyThe results in Figure6 show the measurement of average throughput over 25 nodes’ and 50 nodes’ topologies for different number of available channels. CGCA shows up to 50% and 15% increase in the throughput when compared with CCA and CLICA, respectively. The average throughput of CCA is less because the algorithm requires as many radios as the number of channels available. The throughput generally increases when the number of radios eventually increases. The throughput of CGCA has increased because the channels are assigned locally and each group has more number of channels. CGCA is not a greedy algorithm and in CGCA the links are assigned with channels by applying the triangulation property. The nodes forming a triangle independently choose any channel cj∈C if the triangle is not equilateral. The selection of the channel is random from the available set of orthogonal channels.Figure 6
Orthogonal channels versus average throughput.
(a)
25 nodes’ topology
(b)
50 nodes’ topologyFigure7 shows the average delay concerning the number of radios per node in the network which participate in forwarding the data. We have evaluated our algorithm for different traffic flows and the graph plotted against the number of radios and average delay illustrate that CGCA delay is reduced to 2.27 ms for 25 nodes’ topology and 3.24 ms for 50 nodes’ topology, respectively, when compared to CCA and CLICA. Delay is reduced in CGCA since the channel switching delay is reduced due to the fact that there are more channels available for assignment and the CGCA is designed based on the static channel assignment strategy. As a result of this strategy, the channels for the links in the path for the data to flow through the network are predetermined which reduces the time taken for selecting and binding the channel with the links in the path.Figure 7
Channels versus average delay.
(a)
25 nodes’ topology
(b)
50 nodes’ topologyThe throughput of the proposed work is high because of the increase in the packet delivery ratio, which is evident from the results shown in Figure8. The result of this experiment also indicates that the packet loss during the transmission of data is less when compared to the other two systems. We have also shown the result produced in both the scenarios. As the number of nodes increases, there is more assurance provided by the network in forwarding and receiving packets in WMN. But the problem here is that as the number of nodes increases the network incurs more interference. But the proposed algorithm minimizes the number of interfering links which leads to less interference in the network. Due to this, reduced interference PDR increases.Figure 8
Channels versus packet delivery ratio.
(a)
25 nodes’ topology
(b)
50 nodes’ topologyThe box and whisker chart shown in Figure9 explain how the fitness function varies based on particle Pk where k=1,2,…,5. We have evaluated the fitness function f (objective function) for 5 particle indices in 15 iterations. The stopping criterion for this experiment is the number of iterations. The mean value of the fitness function is plotted inside every box. The mean value lies between 76 and 96 approximately and does not exceed the range. This is because the particle position is fixed by the maximum velocity. The range for the velocity to vary is fixed by velocity clamping parameter. Velocity clamping ensures that the velocity does not fluctuate beyond the range.Figure 9
Particle indices versus fitness function.Graph in Figure10 shows the number of times a channel is used in each group. The number of groups considered for our experiment ranges from 4 to 10 formed using the Voronoi diagram as explained in Section 5.1. We tested our algorithm in both spectrums, namely, 2 GHz and 5 GHz, where the former has only 3 nonoverlapping channels and the latter consists of 8 nonoverlapping channels. Both results in Figure 10 describe that the channels assigned to links are independent and do not depend on the traffic flows; that is, each radio independently chooses the channels irrespective of other radios. There is no control imposed on the radios for choosing the channels. The selection of channels need not follow any constraints unless the channel is supported by the standard and belongs to C. This is shown by the mean value (number of times the channel is used) of each channel that moves to and fro from high to low and low to high. The mean value of the same channel allocated in 5 GHz is less when compared to 2 GHz radio since the number of orthogonal channels is increased. This implicitly states that the increase in the orthogonal channels improves the performance of the network by reducing the interference and increasing the throughput. The best channel allocation is determined by the fitness function shown in (1).Figure 10
Orthogonal channels versus channel usage.
(a)
Channel usage in 2.4 GHz
(b)
Channel usage in 2.4 GHzThe interference range is always greater than the transmission range for each node; that is,Ir>Tr. This helps the wireless nodes to transmit the data and sense the neighboring nodes; that is, say u and v are the nodes and the distance between them should be less than or equal to the transmission range d(u,v)≤Tr. But there is always a trade-off between the connectivity and the interference between the nodes in the network. Communication between nodes happens only if it falls in the transmission range of each other. If the connectivity is better, then the interference is more due to the signal overlap. This signal overlapping can be reduced to some extent by employing the nonoverlapping channels but cannot be completely avoided as the number of orthogonal channels is less. Figure 11 shows the probability of packet loss with respect to the interference range. The packet loss probability increases for increased interference range because when the interference range increases the links between the nodes interfere and the signal collides if links use the same orthogonal channel (which cannot be completely avoided). The packet loss probability also increases even if the interference range decreases since the connectivity between the nodes is reduced and hence the nodes are not able to transmit the packets completely.Figure 11
Interference versus packet loss.The interference range is varied with respect to the transmission range. We have fixed the transmission range to be 250 m. The first box shows that the transmission range and interference range are same and the last box shows that the interference range is equal to transmission range. The mean value in the graph states that the packet loss is high when the interference range is too high and too low with respect to the transmission range of the node.


## 7. Conclusion

In this paper, we have formulated a programming model for the channel assignment problem and we have employed the stochastic approach to solve the problem. We have done the channel assignment for a small group rather than assigning for the entire network. The groups are created using the Voronoi diagram and then we use DPSO, a bioinspired algorithm which produces optimal or near optimal solutions, to solve our channel assignment problem. The channel assignment problem has been formulated as a nonlinear programming model. We have done an exhaustive experimental study usingNS2 simulation and observed that our algorithm achieves good throughput and less packet loss by optimally assigning the channels to the links. The control overhead is more in our algorithm during the leader selection process and also there is a lack of binding among the groups. Our future direction is to reduce the control overhead and achieve binding among the groups.



---

*Source: 718079-2015-08-03.xml*