You are currently viewing a new version of our website. To view the old version click .
Information
  • Article
  • Open Access

24 April 2021

Combining Network Coding and Retransmission Techniques to Improve the Communication Reliability of Wireless Sensor Network

,
,
and
1
Department of Automation and Systems, Federal University of Santa Catarina, Florianópolis 88040-900, Brazil
2
Department of Computer Engineering, Federal University of Santa Catarina, Araranguá 88906-072, Brazil
3
INEGI, Faculty of Engineering, University of Porto, 4200-465 Porto, Portugal
*
Author to whom correspondence should be addressed.
This article belongs to the Special Issue Industrial Wireless Networks: Algorithms, Protocols and Applications

Abstract

This paper addresses the use of network coding algorithms combined with adequate retransmission techniques to improve the communication reliability of Wireless Sensor Networks (WSN). Basically, we assess the recently proposed Optimized Relay Selection Technique (ORST) operating together with four different retransmission techniques, three of them applying network coding algorithms. The target of this assessment is to analyze the impact upon the communication reliability from each of the proposed retransmission techniques for WSN applications. In addition, this paper presents an extensive state-of-the-art study in what concerns the use of network coding techniques in the WSN context. The initial assumption of this research work was that the ORST operating together network coding would improve the communication reliability of WNS. However, the simulation assessment highlighted that, when using the ORST technique, retransmission without network coding is the better solution.

1. Introduction

The concept of industry 4.0 refers to the evolution of production systems through the integration of industrial automation and information technologies. This evolution trend uses Industrial Internet of Things (IIoT) as a key technology. An IIoT system is integrated by both software and hardware components, where hardware refers to smart sensors and actuators and its network infrastructure, namely Wireless Sensor Network (WSN) [].
In WSNs, the communication reliability provided by the link-layer connection depends heavily on the channel conditions. Usually, the channel conditions are different as the WSN deployment environment varies []. Consequently, communications carried out in wireless industrial environments by WSNs are subject to higher reliability constraints when exchanging messages between network nodes and also on energy constraints due to battery depletion [,,]. Industrial environments can be affected by electromagnetic noise and/or obstacles between the nodes that may reflect or attenuate the physical communications, preventing messages from reaching their destinations []. In this context, techniques that improve communication reliability are of major importance. Among them, cooperative communication has received attention from researchers [,].
Cooperative communication techniques allow creating path diversity between source and destination nodes using intermediate nodes. Intermediate nodes share each other’s antennas and may form virtual antenna arrays. That is, it allows auxiliary nodes to retransmit independent copies of messages heard from neighbor nodes [,]. Besides achieving diversity gain, cooperation can also increase the coverage area in wireless networks [].
The performance of cooperative communication schemes mainly depends on the use of efficient relay selection techniques. The performance of data transmissions can be drastically improved if relay nodes are optimally selected. Similarly, the opposite can occur; that is, if relay nodes are improperly selected, the energy consumption of the network will increase, and a large number of repeated messages will be unnecessarily sent. As a consequence, the relay selection is a decisive step for setting-up cooperative communication schemes [,].
In addition to the relay selection technique, the retransmission protocol plays an important role in ensuring the reliability of wireless transmission and also is one of the most relevant research contents in cooperative WSNs. This type of protocol ensures that messages sent by the relay nodes correctly reach the destination node [,].
According to relevant state-of-the-art research, network coding (NC) techniques have proven to be a good strategy to carry out retransmissions [,]. Network coding techniques allow relay nodes to process inputs from independent data streams, that is, to send data packets that are linear combinations of previously received packets from different sources []. This type of technique may improve the transmission rate of the network, considering that the node will send more information in fewer data packets []. An example of how the NC technique works is shown in Figure 1 [].
Figure 1. Communication over a wireless network: (a)—without NC and (b)—with NC.
Figure 1a,b show how communication occurs over wireless networks. Nodes A and C want to exchange packets between them via an intermediate node. Node A wants to send packet X A to node C via node B. Similarly, node C wants to send a packet X C to node A via the intermediate node B. Figure 1a presents a conventional communication in a wireless network. Figure 1b presents communication using NC techniques. In this process, only three transmission steps are required. First, node A and node C transmit packets X A and X C individually to node B. Then, node B receives both packets, performs an XOR operation with packets X A and X C , creating a new encoded packet X A X C . Finally, node B retransmits the encoded packet. Then, node A decodes X A ⊕ ( X A X C ) to get packet X C , and node C decodes X C ⊕ ( X A X C ) to obtain packet X A . In this way, NC reduces the number of packet transmissions. Network coding techniques can be performed in different ways. In the example shown in Figure 1b, binary coding based on XOR was used. In Section 2.2, we present the major state-of-the-art techniques to perform NC.
Consider Figure 2 to show how cooperative diversity can work together with a NC technique in the retransmission step. Figure 2 shows a network composed of ten nodes, nine final devices and one coordinator node. Nodes N 2 , N 6 , and N 8 are relay nodes, and nodes N 1 , N 3 , and N 7 are outside the coverage area of coordinator node (node C). In this network, we consider that communication takes place in two steps. In the first step, each node transmits a message to the coordinator, but not all messages successfully arrive at the coordinator; messages from nodes N 1 , N 3 , and  N 7 , due to interference, do not reach the coordinator node. Then, in a second step, each of the relay nodes applies a NC technique (Figure 2 presents a linear NC, which will be explained in Section 2.2) to the messages they have heard. In this case, the relay node N 2 codes messages from nodes N 1 , N 3 , N 4 , N 5 , and its own message. Relay node N 6 codes messages from nodes N 5 , N 7 , and its own message, and relay node N 8 codes messages from nodes N 1 and its own message. Then, each relay node retransmits its coded message to the coordinator.
Figure 2. Communication over a wireless sensor network considering cooperative diversity and NC.
Some works in state-of-the-art show benefit from using NC together with cooperative diversity. In [,], the authors use relays and NC in the retransmission step, which has improved the reliability of the communications in industrial wireless networks. According to Liu et al. [] combining cooperative communication and NC can increase the packet loss-resistant capability due to the packet redundancy. In addition, the network may be able to overcome node failures via cooperative communications.
In previous work, we had studied solutions for relay selection and proposed an Optimized Relay Selection Technique (ORST) [,,]. We also investigated the best parameters to be considered when selecting relay nodes.
Considering the benefits of using both cooperative communication and NC techniques presented in the literature, in this paper, we consider a holistic approach to improve the communication reliability, considering the ORST technique combined with the use of an effective retransmission mechanism, aiming to evaluate the operation of the ORST technique together with the NC approaches. Random and Sparse Linear Network Coding will be used as a retransmission mechanism, considering a scheme that allows the relay nodes and the coordinating node to combine a priori which coefficients will be used. In this way, the NC technique would be able to improve the retransmission reliability and reduce the overhead generated when sending the coding coefficients. As the main contributions in this paper, we can mention:
  • An extensive state-of-the-art study concerning relay selection and NC techniques, presenting relevant and current works;
  • A simulation assessment of both proposed schemes, relay selection and the NC, working together in the communication. In addition, we will present an analysis of the advantages and drawbacks of the combined implementation of both schemes;
  • A discussion about some of the negative results obtained when combining the ORST technique with specific NC approaches.
This paper is structured as follows: Section 2 presents the state-of-the-art in what concerns relay selection techniques in WSNs and retransmission mechanisms using NC techniques. In addition, this section presents a classification framework of how to perform network coding. Section 3 describes the proposed relay selection technique and the related NC technique, which aims to improve the communication reliability in WSNs. Section 4 presents the simulation assessments of the relay selection and the retransmission mechanisms using NC. Finally, conclusions are presented in Section 5.

3. WSN Communication

In this paper, a novel communication scheme is proposed intended to improve the communication reliability in wireless sensor networks. The proposed scheme uses Optimized Relay Selection Technique (ORST) [] to select the best set of relay nodes and combines it with two novel network coding approaches based on random linear network coding and sparse linear network coding to perform message retransmissions.

3.1. System Model

Consider a cooperative WSN communication system with n source nodes ( S ) , one destination node ( D ) , and m relay nodes ( R ) . It is assumed that each node is fitted with a single antenna and signals on S R D and S D paths use orthogonal channels through time division multiple access (TDMA). Considering the advantages of star topologies such as synchronization, latency, and energy efficiency, it is usually considered the star topology as a suitable topology for industrial usage and is used in this paper [,].
The IEEE 802.15.4e amendment using LLDN (Low Latency Deterministic Network) MAC operation mode is adopted for the PHY (Physical) and MAC (Medium Access Control) layers of the network. The IEEE 802.15.4e amendment has been proposed to adequately address the critical requirements of industrial IoT applications such as low latency, high reliability, and robustness of the industrial environment []. In this paper, IEEE 802.15.4e is configured to send the acknowledgments (GACK—Group acknowledgments) for the data received on the same superframe that they were sent.
WSN communication occurs in two steps. In the first, called transmission, it is assumed that, in each beacon interval, each node in the network has one message to transmit and performs the transmission in its timeslot. At the end of the first step, the coordinator node sends a GACK message indicating which messages it has not received. The GACK message is a bit-map, in which if the coordinator received the message from node i, the position i of this vector will be 1 and zero otherwise. The second step is the retransmission, where the selected relay nodes will apply NC and transmit the heard messages in its retransmission slot, which is previously allocated by the coordinator node.
To perform the retransmission, the proposed relay selection technique selects the optimal set of relay nodes that can improve the diversity order and, thus, it can achieve higher throughput [], as described in Section 3.2.

3.2. The Optimized Relay Selection Technique

The Optimized Relay Selection Technique (ORST) [] was designed as an optimization problem using an objective function. The objective function (Equation (3)) takes into consideration the available energy in the nodes (e). This parameter was selected among the set of available parameters because it was later demonstrated [] that this was the parameter with the higher impact upon the quality of the network operation.
The objective function aims to ensure that appropriate nodes are selected as cooperating nodes. Each node x i will calculate its objective function value W i and this information will be sent to coordinator.
W i = 1 e i
where:
  • e i = R E i I E i , being R E i the remaining energy and I E i is the initial energy of node x i , respectively. The  e i value is the normalized remaining energy of node x i (a real number between 0 and 1);
  • the expression 1 e i is used so that the node with the largest amount of energy has the lowest cost in the objective function.
In order to select the minimum number of relay nodes, ensuring at the same time every node has a reachable relay, an optimization problem is formulated as follows:
m i n i m i z e   i = 1 n W i y i
s u b j e c t     t o   :     A y b
C y = d
y i { 0 , 1 }
In the constraint presented in Equation (4b), A is the adjacency matrix of order n × n, where its element a i , j = 1 if node x i is a neighbor of node x j and a i , j = 0 otherwise. Matrix A is formed in the coordinator node based on the list of neighbors sent by each node of the network. Therefore, whenever the list of neighbors of a node x j has not been received by the coordinator, all elements of row j of matrix A will be equal to zero; y is a vector of order n × 1, where y i will be equal to 1 when node x i is selected as relay and 0 otherwise and; b is a vector whose b i value has been defined as 1, representing the minimum number of relay nodes of each node x i . Considering the WSN presented in Figure 2, the coordinator will build matrix A from the list of neighbors of nodes N 2 , N 4 , N 5 , N 6 and N 8 , which are the nodes from which the coordinator receives the message with the list of neighbors. All elements of N 1 , N 3 and N 7 rows of matrix A will be equal to zero.
The constraint presented in Equation (4c) is determined by the coordinator node, where matrix C represents the set of nodes that do not have an adequate communication link with the coordinator node. Each row of matrix C represents a node x i that is not able to directly communicate with the coordinator and each column represents a node that is able to hear this node. In this case, d will be equal to 1, in order to guarantee that at least one of these nodes will cooperate with node x i .
The proposed ORST scheme aims to find a set of relays among the WSN nodes, ensuring two conditions: (1) each node x i ( 1 i n ) is covered by at least one relay node; (2) the sum of the weights of the relays is minimized. In this scheme, x i is used as node identifier and n is the total number of nodes in the network. There is one node called a coordinator in the WSN (C). The ORST scheme is a resource allocation algorithm that may be reduced to the classic set-covering problem applied to WSNs []. Considering the WSN presented in Figure 2, the rows of matrix C will be filled with nodes N 1 ,   N 3 and N 7 , which are nodes that do not communicate with the coordinator node. The columns will be filled with the nodes that listen to each of these nodes, that is, N 2 for node N 1 and N 3 ; N 8 for node N 1 ; and N 6 for node N 7 . In this way, the coordinator will find the relay nodes solving the optimization problem with the mentioned constraints.
The set-covering problem seeks to find a minimum number of sets that contain all elements of all data sets. According to [], the set covering problem can be formally defined as follows. An instance (X, F ) of a set covering problem consists of a finite set X and a family F = s 1 , s 2 , s z of subsets of X (z is the total number of subsets in F ), such that every vertex of X belongs to at least one subset in F :
X = s F s
A subset s F covers its elements. Thus, the problem is to find a minimum-size subset C F whose members cover all of X:
X = s C s
when a subset C satisfies the Equation (6), it covers X.
The ORST problem considers a WSN composed of a set of nodes X = { x 1 , x 2 , , x n } , being that every node has an associate positive weight value ( W i ) and a specific communication range. We construct a directed and weighted graph G = ( X , E ) in the following way. Each node x i corresponds to a vertex x i X and two vertices x i and x j have an edge e i , j E if x i is able to hear a message sent by x j with the value of RSSI ≥ 87 dBm, as defined by Srinivasan and Levis [] as the minimum value for adequate communication in WSNs.
Every graph with X and E has subsets F = { s 1 , , s k } , where each subset s k is known as a set cover of the graph G. Each subset of F is formed by vertices that accomplish conditions (1) and (2).
The WSN problem treated in this paper consists of finding the set-cover with minimum sum of weights. The corresponding decision problem generalizes the well-known NP-complete vertex-cover problem and is therefore also NP-hard [,].
Based on the y i { 0 , 1 } variables of the ORST problem, cited in the Section 3.2, the minimum set cover problem was formulated as a Binary Integer Problem (BIP). In [] different solutions were investigated to solve the ORST problem, being the B & B algorithm defined as the best solution.
The B & B algorithm uses a tree search strategy to implicitly enumerate each of the possible solutions of a given problem []. The computational complexity of B & B algorithms is dependent on two factors: the branching factor b of the tree, which is the maximum number of elements (subproblems) generated at any node in the tree, and the search depth d of the tree, which is the length of the longest path from the root of T to a child element. Thus, the B & B algorithm has a worst-case running time of O ( M b d ) , where M is the maximum time to solve a subproblem []. For further details, the reader is referred to [].

3.3. Network Coding Technique

The retransmission scheme proposed in this paper combines the advantages of three previous methodologies proposed by Valle et al. [], Bao and Li [,], and Guo et al. []. We use the equation proposed by [] as a rule for forming the coefficients and the method of sending the coefficients used in [,,]. The equation for the generation of the coefficients proposed in [] requires that the destination node receives all messages sent in the network to be able to decode, making it impossible to use in a real network, in which message losses occur.
The coefficients are sent based on a bit-map representation. Thus, if the relay node listens to the packet from n neighbors, the corresponding position to each one of the n neighbors in bit-map is set to 1; otherwise, it will be set to 0. We consider that the relay nodes will never have a message from the coordinator to encode. In this way, we consider that the first position of the m-bit bit-map represents node 1, the second position represents node 2 and so on.
It is important to remark that sending coefficients via a bit-map technique induces a reduction in the overhead generated by sending the coefficients. A traditional RLNC technique sends a list with each of the used coefficients. If we consider that each coefficient has 8 bits and in the worst case, 255 coefficients are sent (star topology), there is an overhead of 2040 bits. Using m-bit bit-map, the overhead is reduced to m bits. Thus, in the same scenario, only 255 bits would be needed.
To use the coefficient formation rule, we modified the operation behavior of the technique proposed in []. The authors considered that each node in the network has an identification in hexadecimal format, representing its position in the slot scale, with addresses ranging from 00 to FF. Our scheme uses the i d assigned to the node in the formation of the network, which starts at 1 and goes up to the total number of nodes in the network, which is limited to 255 nodes, considering a star topology and that the coordinator is the node 0. Thus, the coefficients used by the relay nodes when encoding the listened messages are generated by the following formation rule:
c j i = ( i + j ) m o d q
where i is the i d of the i-th relay node, j is the i d from its j-th neighbor, and q is finite field size, which was defined to F 2 8 in []. The coefficient is assigned to be 0 if the relay node does not receive one corresponding packet successfully. The coordinator node is equipped with the same formation rule to solve the coding coefficients, according to the received bit-map in each packet. Figure 5 shows an example to illustrate the structure of the bit-map and the mapping between the coding coefficients and bit-map.
Figure 5. Node N 2 performing the network coding and creating the bit-map of the coding coefficients.
Figure 5 presents a network with 8 nodes associated with the coordinator, where three of these nodes are relay nodes ( N 2 , N 6 and N 8 ). To illustrate how the structure of the bit-map works, we will consider node N 2 ; this relay node listened and encoded messages from neighbors N 1 , N 3 , N 4 , N 5 , and its own message. Generating the m-bit bit-map with the following content: 11111000. This is the bit-map that will be sent to the coordinator along with the encoded message.
When the coordinator node receives the coded message from node N 2 , it checks the bit-map and applies the coefficient formation rule, knowing that node i sent the coded message and messages that were encoded (from which neighbors j), the coordinator obtains the coefficient used for each message. Then, the coordinator node has to solve the system of linear equations presented in Equation (2) to recover the original messages. According to [], the requirement of coefficient matrix (matrix G, in Equation (2)) being full rank was verified and any set of coefficients that follows the coefficient formation rule presented in Equation (7) could be used as elements of the coding vector on any relay.

4. Simulation Assessments

The network simulation tool OMNeT++ [] and the WSN framework Castalia [] were used to assess the operation of the relay selection technique and the retransmission scheme using network coding. The open-source Solve Library l p _ s o l v e [] was used to solve the optimization problem.

4.1. Simulation Settings

In framework Castalia, several extensions were added to the available IEEE 802.15.4e LLDN model, including the collision free period (CFP), which is subdivided into guaranteed time slots (GTS) for uplink messages forwarded from the nodes to the coordinator; and the group acknowledgment (GACK) timeslot. This was necessary because Castalia still does not have a fully functional implementation of the LLDN communication mode.
The simulation assessment was performed considering networks with 21, 41, 61, 81, and 101 nodes, one of the nodes being the personal area network (PAN) coordinator. Nodes were randomly deployed in an area of 50 × 50 m2, with the PAN coordinator positioned in the center. The used channel model was the free space model without time-varying. Other simulation parameters are described in Table 2.
Table 2. Simulation Setting.
The simulation execution time was set to 450 s, during which the coordinator is able to send up to 50 beacons. The radio model used was CC2420, which is compliant with the IEEE 802.15.4e PHY Standard. All the nodes use the same constant transmission power of 0 dBm. To reduce the statistical bias, each simulation was performed 60 times, reaching a confidence interval of 95%. For each simulation round, the position of the nodes around the coordinating node was randomly reorganized. That is, the distance between the coordinator and the nodes also varies in each simulation round.
Additionally, simulations were performed considering a dynamic topology, where only 50% of nodes were associated with the network at time zero and the remainder were subsequently associated in groups of 5 by 5 nodes. The first group at time instant 50 s and then all the other groups every 30 s. Considering the scenario with the highest number of nodes (100 nodes), after 320 s, all nodes were associated. Later, from the time instant 320 s of simulation, 20% of the nodes of the network randomly left the coverage of the coordinator node. This leaving operation was performed in groups of four nodes, every 10 s of simulation. Finally, all nodes again joined the network, in the same order they have left (groups of 4 in 4), from the time instant 350 s of simulation, respecting an interval of 10 s for each group, except for the case of the network with 100 nodes, where only 10% of the outgoing nodes returned.
The dynamic topology mode was designed to force the list of neighbors to undergo multiple changes during the simulation time, in order to assess the reliability of the dynamic relay selection procedure.

4.2. Network Coding Technique Application Scenarios

Based on the results obtained in previous works [,], we know that relay nodes are optimally selected. However, in those previous works, the listened messages were not really sent. Instead, it was just sent a list with the nodes listened to by each relay node. In this way, it was possible to identify if the selected relay node could hear all or almost all the nodes that the coordinator did not hear. In order to assess the delivery of messages heard by each relay node, we consider three different retransmission scenarios. Thus, it is possible to identify the impact of the retransmission step on communication when using the ORST and network coding technique together.
In all scenarios, the method of generating and sending the coefficients used in the network coding will be the method described in Section 3.3.
1st Scenario: The first scenario is a typical RLNC scenario. Relay nodes store all messages heard during the transmission step. In sequence, relay nodes encode all stored messages and retransmit the encoded message to the coordinator node.
2nd Scenario: The second scenario is a typical SLNC scenario. Relay nodes store all heard messages during the transmission step. However, they encode just a small number of messages among the set of listened messages. In this scenario, the network coding technique becomes sparse linear network coding. Each relay node randomly selects three messages among the listened messages; it applies the network coding technique generating a single message and retransmits it to the coordinator node.
3rd Scenario: In the third scenario, GACK was used as a resource. It contains an M-bit bitmap to indicate successful and failed transmissions in the same order as the transmissions. Thus, after all nodes carry out the transmission, the coordinator node sends a GACK message, which contains the bit map informing which messages were the ones that have failed. After receiving the GACK message, each relay node selects three messages from those that were not received by the coordinator, at random, encodes, and retransmits to the coordinator. In this scenario, we continue to apply the sparse linear network coding version. However, strategically, we only selected messages that the coordinator was unable to correctly receive in the transmission step.

4.3. Simulation Assessment

The simulation assessment was performed considering the following metrics to measure the network quality performance: success rate, energy consumption, and the correlation between the average number of retransmitted messages per node and the average number of recovered messages in the decoded process.
The success rate represents the ratio between the number of sent messages and the number of messages that successfully reached the coordinator. This metric considers messages transmitted in both the transmission and retransmission attempts. In the retransmission attempts, just the messages that have been successfully decoded are considered. Energy consumption represents the average amount of energy spent by each node, obtained through the resource management module available in the Castalia framework. The average number of retransmitted messages per node represents the average number of retransmissions each node performed, i.e., the average number of coded messages sent per each node. Finally, the average number of recovered messages in the decoding process represents the average number of messages that were recovered by the coordinator node solving the linear system generated by the network coding.
Figure 6 illustrates the energy consumption of the network. It is possible to observe that communication scenarios that use network coding spend more energy. This was an expected result, considering that relay nodes remain awake longer, listening to the messages in the transmission step and retransmitting the messages in the retransmission step.
Figure 6. Energy consumption.
Figure 7 illustrates the success rate considering the three communication scenarios presented in Section 4.2 compared to a network without relay nodes. This result was surprisingly negative due to the small number of selected relays, as it will be shown in the following. At first sight, it was expected that the network coding linked to the ORST technique would increase the success rate of the network and consequently increase the reliability of communications. However, it is possible to observe that the behavior of Scenario 1 is similar to the network without relay nodes (where the node itself retransmits the messages for which it did not receive the ACK). Scenarios 2 and 3 show a clear improvement compared to this behavior specially for networks with less than 60 nodes.
Figure 7. Success rate.
Figure 8 presents the correlation between the average number of retransmitted messages per node and the average number of recovered messages in the decoding process. It is possible to observe in Scenario 1 that the number of retransmitted messages is much greater than the number of recovered messages in the decoding process. In networks with 40, 60, 80, and 100 nodes, the average number of recovered messages was very close to zero. That is, there was almost no message recovery. In Scenarios 2 and 3, a greater number of messages was retrieved when compared to Scenario 1. However, we expected the coordinator to recover more messages, considering that each coded retransmission contains at least three messages.
Figure 8. Correlation between the average number of retransmitted messages per node and the average number of recovered messages in the decoding process.
Investigating the obtained results, it is clear that the number of relay nodes has a direct impact upon the operation of the network coding scheme. Figure 9 presents the average number of selected relay nodes, considering all scenarios. As it can be seen, the average number of relay nodes is very small. Even considering networks with 100 nodes, the average number of relay nodes is smaller than 4. Analyzing this problem from an equation solving perspective, the coordinator node in order to be able to decode the received messages, solves a linear system that must result in a single solution. A linear system with more unknowns than equations may not have any solution or have an infinite number of solutions, but it will never have just one solution. In the context of network coding, the number of equations corresponds to the number of coded retransmissions received by the coordinator, and the number of unknowns corresponds to the number of different messages that were coded, which the coordinator did not receive successfully in the transmission step.
Figure 9. Average number of relay nodes.
This fact explains why Scenario 1 performed so poorly. In this communication scenario, each relay node codes all the heard messages. That is, there were more unknowns than equations. Thus, it was impossible to decode the received messages. This is a typical problem that often arises in network coding applications.
We have also analyzed why there was no significant improvement in the success rate of Scenarios 2 and 3. Two facts can be considered: first, the number of messages that did not successfully reach the coordinator in the transmission stage was high, around 40%, and second, the relay nodes coded only a small number of messages (three messages for each retransmission). Thus, even when the coordinator recovers some messages in the decoding process, a large number of messages that were lost were not retransmitted, which resulted in unreliable communication.
To maximize the success rate of the network, we propose a different communication approach, represented by two new scenarios, Scenarios 4 and 5. In Scenario 4, we increased the number of relay nodes and continued using SLNC. In Scenario 5, we do not use network coding. Each relay node retransmits the messages it listened to one by one, as described below.
4th Scenario: This scenario simply increases the number of relay nodes. When performing the relay selection, the coordinator node selects two auxiliary nodes for each relay node and signals this information in the beacon. Thus, the nodes that will cooperate and assist in the retransmission know that they have been selected. In this way, if there are three relay nodes, there will be six auxiliary nodes, two for each relay node. Auxiliary nodes are selected as follows: For each neighbor of the relay node that communicates with the coordinator, it is checked the list of heard nodes. The neighbors that it listens to and, at the same time, the coordinator does not listen to are counted. The two neighbors of the relay node, which communicate with the coordinator and have the largest number of neighbors that do not communicate with the coordinator, will be selected to assist the relay node.
In the retransmission step, the relay node C i intersects its list of listened messages ( L C i ), with the list of messages lost by the coordinator ( L L o s t C o o r d ) and with the list of messages heard from the auxiliary nodes ( L A u x j and L A u x j + 1 ), according to Equation (8).
I = ( ( L C i L L o s t C o o r d ) ( L A u x j L A u x j + 1 ) )
The result of Equation (8) are the common messages that the coordinator needs and that the relay node and the two auxiliary nodes also have. The auxiliary nodes of each relay also perform the intersection operation presented in Equation (8). The list of messages resulting from Equation (8) (I) is ordered by the I d of the nodes that sent them. Thus, both in the relay nodes and in the auxiliary nodes, the list I presents the same messages in the same order. When coding and retransmitting, the relay node selects a message that only it listened to and the first two messages from the list I resulting from the intersection. Retransmitting a coded message ( M C i ) containing three messages listened to ( M C i = m C i + m I 1 + m I 2 ). The auxiliary node A u x j selects the first two messages resulting from the intersection ( M A u x j = m I 1 + m I 2 ). The second auxiliary node A u x j + 1 selects its own message and the second message from the list resulting from the intersection ( M A u x j + 1 = m A u x j + 1 + m I 2 ).
This organization in the selection of messages that will be encoded and retransmitted by the relay and auxiliaries nodes allows the coordinator to effectively solve the linear system, decoding the lost messages and recovering them.
5th Scenario: The relay nodes will retransmit each of the messages listened to in individual slots without using NC. The coordinator node is the one who will allocate slots for each relay node, according to the number of messages that each relay will retransmit.
For the correct operation of the network, there is a configuration period. This period precedes each of the relay selections in the ORST technique []. It is during this period that the coordinator receives from all nodes, which communicate directly with it, the neighbor’s list of each node. The neighbor’s list is a bit-map, where each index of the bit-map represents a network node, and the content of the bit-map in “1” represents that the nodes are neighbors and “0” otherwise. The coordinator node uses this information from the neighborhood of each relay node together with GACK information from the previous Beacon Interval, to determine the number of slots that each relay node will receive to carry out the retransmissions.
The process to allocate slots for each relay node occurs as follows: First, the coordinator checks its GACK bit-map to identify which messages were lost. Then, the bit-map that represents the neighborhood of each relay node is updated, keeping in “1” only the positions that represent the listened neighbors and at the same time the messages not received by the coordinator by direct transmission. Up to this stage, the coordinator can identify how many slots each relay node would need, if it was to retransmit all the messages it heard, among those that the coordinator lost. The coordinator keeps this information for each relay node. In order to optimize the allocation of the slots and to prevent the relay nodes retransmiting repeated messages, the binary AND operation is performed with the neighbor’s list of each relay node. Thus, it is possible to identify which relay nodes have heard the same messages, for example, in a network with five nodes, in which nodes N 1 and N 3 are relay nodes. The coordinator node lost messages from nodes N 2 , N 4 and N 5 . Considering the neighbors’ list of each relay nodes already updated with the GACK information, the neighbors’ list of node N 1 is represented by N 1 = N 4 , N 5 and the neighbor’s list of node N 3 is represented by N 3 = N 2 , N 4 and N 5 . The illustration of the AND operation performed by the coordinator, in this example, is shown below:
| 0 | 0 | 0 | 1 | 1 | A N D | 0 | 1 | 0 | 1 | 1 | = | 0 | 0 | 0 | 1 | 1 |
The binary AND operation will result in the elements that both relay nodes heard. After identifying which messages were listened to by more than one relay, the coordinator verifies which relay node has the least number of messages to be retransmitted and selects it to be the retransmitter. The relay that will retransmit is selected considering the number of messages to be retransmitted to balance the energy consumption among the relay nodes. This is because the more messages each relay has to retransmit, the greater the energy consumption of this node will be. In the cited example, both relay nodes listened to messages from nodes N 4 and N 5 . Disregarding the messages they both listened to, the node N 3 has an element in its relay list (the message from the node N 2 ), and the node N 1 does not have any element. Thus, the first element that the two relay nodes hear will be assigned to node N 1 , and the second can be assigned to anyone since both have the same number of messages to be retransmitted.
After selecting the relay node that will retransmit each message, the coordinator decreases the number of slots that would be assigned to the other relay node that had heard the same message and that was not assigned to it. If at the end of this process, it is identified that the number of messages lost is greater than the number of available slots, inevitably some messages will not be retransmitted.
We limit the total number of slots between transmissions and retransmissions to 140, as the goal is to maximize the network’s success rate with the least number of messages being retransmitted. In a network that uses only ARQ (Automatic repeat request) protocol, each node in the network performs retransmissions whenever it does not receive an ACK. This way, the number of retransmissions can be even greater than the number of nodes in the network, considering that there are approaches that allow a node to perform the same retransmission a number x of times in case it does not receive an ACK. The objective of this scenario is that even considering a network of 100 nodes, it is possible to retransmit without needing a retransmission slot for each node in the network. Thus, the success rate will be maximized without increasing the beacon interval period between transmissions.
The information of which relay node should send the message will be sent in the next GACK message. Thus, when the relay node receives the message of GACK, it checks if, in any of the messages that the coordinator has lost, there is its own i d signaling that it must be retransmitted. The relay knows that the messages lost by the coordinator must be retransmitted if, in the GACK, the i d of the retransmitter is either marked as “0” or with its own i d . If it is zero, it means that only it heard the missed message, and if it is the i d itself, it means that more nodes listened, but he was the one selected to retransmit.
Figure 10 illustrates the success rate considering all the scenarios. It is possible to observe that Scenario 4 presents a significant improvement over Scenarios 1, 2, and 3. However, the scenario that presented the best results was Scenario 5, which in networks with 20 and 40 nodes the success rate was above 95%, and in networks with 60, 80, and 100 nodes the success rate was maintained above 90%.
Figure 10. Success rate.
Finally, Figure 11 presents the energy consumption in all scenarios. It is possible to observe that Scenario 4, where auxiliary nodes were selected, presented a higher energy consumption. This is understandable since a greater number of nodes will have the radio on for the entire transmission stage listening to neighbors. Scenario 5 presented the energy consumption similar to Scenarios 1, 2, and 3. Thus, Scenario 5 was the one with the best results, and it can be considered the best retransmission scheme to be used linked to the ORST technique.
Figure 11. Energy consumption.

5. Conclusions

Nowadays, with the industry 4.0 paradigm, smart devices with sensing communicating and actuating capabilities are common in the industrial environment. Thus, sensors and actuators are integrated into the environment and communicate transparently, growing the use of WSNs. However, WSNs present challenges in maintaining reliable communication, being necessary to apply extra mechanisms to improve their performance.
Cooperative communication has been proposed to enhance the reliability of wireless communication. When applying this type of solution, it is required to determine which nodes will be the relay nodes and how they collaborate in the retransmission process. This paper focused on combining the adequate selection of relay nodes and retransmission techniques. It was proposed the use of the ORST scheme, whose target is to adequately select relay nodes without generating overheads or excessive energy consumption, combined with four different retransmission techniques, three of them applying network coding techniques.
Differently from what we assumed when starting this study, the ORST technique working together with network coding approaches did not present interesting results. The main reason was due to the fact that ORST technique selects a small number of relay nodes. As a consequence, each relay node generates a new encoded packet with a large number of received messages, resulting in a small number of equations in the linear system and the coordinator will not be able to decode incoming messages. A key aspect of the linear network coding technique is that a node needs to receive a number of coded messages greater than or equal to the number of original messages, to successfully decode the original set of messages. However, the efficiency of the ORST technique is demonstrated when the relay nodes retransmit a set of the messages listened to in individual slots without using network coding; the success rate is greater than 90% and energy consumption is only slightly above the case without relays.
As future work, we intend to assess the implementation feasibility of the proposed schemes using available COTS (commercial off-the-shelf) WSN nodes. This implementation has been done in a centralized topology, where the PAN coordinator can be implemented as follows: as a device that has extra resources to perform the calculation or as a device with limited computational resources but which is connected to a computer that performs the processing and returns the solution to the coordinator. All the other nodes, on the other hand, can be devices with limited computational resources.

Author Contributions

Conceptualization, S.L., R.M., C.M., and F.V.; Data curation, S.L.; Investigation, S.L., R.M. and C.M.; Methodology, S.L., R.M., and C.M.; Project administration, R.M.; Software, S.L.; Supervision, R.M.; Validation, S.L., R.M., C.M., and F.V.; Visualization, S.L.; Writing—original draft, S.L.; Writing—review and editing, S.L., R.M., C.M., and F.V. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by FCT/Portugal (project UIDB/50022/2020), CNPq/Brazil (Project 870048/2007-4), and CAPES/Brazil (PrInt CAPES-UFSC “Automação 4.0”).

Institutional Review Board Statement

Not applicable.

Data Availability Statement

The code developed for the simulation can be found at https://github.com/suelenML/Simulation-Cooperative-WSN (accessed on 24 April 2021).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Adriano, J.D.; do Rosario, E.C. Wireless Sensor Networks in Industry 4.0: WirelessHART and ISA100. 11a. In Proceedings of the 13th IEEE International Conference on Industry Applications (INDUSCON), Sao Paulo, Brazil, 11–14 November 2018; pp. 924–929. [Google Scholar]
  2. Ez-Zazi, I.; Arioua, M.; El Oualkadi, A.; Lorenz, P. A hybrid adaptive coding and decoding scheme for multi-hop wireless sensor networks. Wirel. Pers. Commun. 2017, 94, 3017–3033. [Google Scholar] [CrossRef]
  3. Gungor, V.C.; Hancke, G.P. Industrial wireless sensor networks: Challenges, design principles, and technical approaches. IEEE Trans. Ind. Electron. 2009, 56, 4258–4265. [Google Scholar] [CrossRef]
  4. Rodrigues, L.M.; Montez, C.; Budke, G.; Vasques, F.; Portugal, P. Estimating the lifetime of wireless sensor network nodes through the use of embedded analytical battery models. J. Sens. Actuator Netw. 2017, 6, 8. [Google Scholar] [CrossRef]
  5. Rodrigues, L.M.; Montez, C.; Moraes, R.; Portugal, P.; Vasques, F. A temperature-dependent battery model for wireless sensor networks. Sensors 2017, 17, 422. [Google Scholar] [CrossRef]
  6. Valle, O.T.; Montez, C.; de Araujo, G.; Vasques, F.; Moraes, R. NetCoDer: A Retransmission Mechanism for WSNs Based on Cooperative Relays and Network Coding. Sensors 2016, 16, 799. [Google Scholar] [CrossRef]
  7. Fragouli, C.; Le Boudec, J.Y.; Widmer, J. Network coding: An instant primer. ACM SIGCOMM Comput. Commun. Rev. 2006, 36, 63–68. [Google Scholar] [CrossRef]
  8. Valle, O.T.; Budke, G.; Montez, C.; Moraes, R.; Vasques, F. Experimental assessment of LNC-based cooperative communication schemes using commercial off-the-shelf wireless sensor network nodes. Int. J. Commun. Syst. 2018, 31, e3508. [Google Scholar] [CrossRef]
  9. Lu, X.; Cheng, W.; He, Q.; Xie, X. Cooperative communication based regular topology to achieve coverage and K-connectivity for WSNs. In Proceedings of the 13th IEEE Conference on Industrial Electronics and Applications (ICIEA), Wuhan, China, 31 May–2 June 2018; pp. 2514–2518. [Google Scholar]
  10. Bletsas, A.; Khisti, A.; Reed, D.P.; Lippman, A. A simple cooperative diversity method based on network path selection. IEEE J. Sel. Areas Commun. 2006, 24, 659–672. [Google Scholar] [CrossRef]
  11. Bhute, Y.; Raut, A. A survey on relay selection strategies in cooperative wireless network for capacity enhancement. Int. J. Comput. Appl. 2013, 65, 12–17. [Google Scholar]
  12. Laurindo, S.; Moraes, R.; Nassiffe, R.; Montez, C.; Vasques, F. An Optimized Relay Selection Technique to Improve the Communication Reliability in Wireless Sensor Networks. Sensors 2018, 18, 3263. [Google Scholar] [CrossRef] [PubMed]
  13. Asam, M.; Haider, Z.; Jamal, T.; Ghuman, K.; Ajaz, A. Novel Relay Selection Protocol for Cooperative Networks. arXiv 2019, arXiv:1911.07764. [Google Scholar]
  14. Chen, Y.; Liu, W.; Wang, T.; Deng, Q.; Liu, A.; Song, H. An adaptive retransmit mechanism for delay differentiated services in industrial WSNs. Eurasip J. Wirel. Commun. Netw. 2019, 2019. [Google Scholar] [CrossRef]
  15. Hossain, M.A.; Noor, R.M.; Yau, K.L.A.; Ahmedy, I.; Anjum, S.S. A Survey on Simultaneous Wireless Information and Power Transfer with Cooperative Relay and Future Challenges. IEEE Access 2019, 7, 19166–19198. [Google Scholar] [CrossRef]
  16. Ho, T.; Lun, D. Network Coding: An Introduction; Cambridge University Press: Cambridge, UK, 2008. [Google Scholar]
  17. Fragouli, C.; Soljanin, E. Network Coding Fundamentals. Found. Trends Netw. 2007, 2, 1–133. [Google Scholar] [CrossRef]
  18. Ostovari, P.; Wu, J.; Khreishah, A. Network coding techniques for wireless and sensor networks. In The Art of Wireless Sensor Networks; Springer: Berlin/Heidelberg, Germany, 2014; pp. 129–162. [Google Scholar] [CrossRef]
  19. Yue, J.; Girs, S.; Akerberg, J.; Bjorkman, M.; Lin, Z. Network coding for reliable downlink transmissions in industrial wireless sensor and actuator networks. In Proceedings of the International Symposium on Wireless Communication Systems, Poznań, Poland, 20–23 September 2016; pp. 560–565. [Google Scholar] [CrossRef]
  20. Liu, X.; Gong, X.; Zheng, Y. Reliable cooperative communications based on random network coding in multi-hop relay WSNs. IEEE Sens. J. 2014, 14, 2514–2523. [Google Scholar] [CrossRef]
  21. Laurindo, S.; Moraes, R.; Montez, C.; Vasques, F. Multi-criteria Analysis to Select Relay Nodes in the ORST Technique. Int. Conf.-Hoc Netw. Wirel. 2019, 11803, 167–182. [Google Scholar]
  22. Laurindo, S.; Moraes, R.; Montez, C.; Vasques, F. Assessment of Different Algorithms to Solve the Set-Covering Problem in a Relay Selection Technique. In Proceedings of the 25th International Conference on Emerging Technologies and Factory Automation (ETFA), Vienna, Austria, 8–11 September 2020. [Google Scholar]
  23. Tripathi, Y.; Prakash, A.; Tripathi, R. An Energy Balanced Load Aware Relay Selection in Cooperative Routing for Wireless Sensor Network. In Proceedings of the 9th Annual Information Technology, Electromechanical Engineering and Microelectronics Conference (IEMECON), Jaipur, India, 13–15 March 2019; pp. 223–231. [Google Scholar]
  24. Yang, K.; Zhu, S.; Dan, Z.; Tang, X.; Wu, X.; Ouyang, J. Relay Selection for Wireless Cooperative Networks using Adaptive Q-learning Approach. In Proceedings of the 2019 Cross Strait Quad-Regional Radio Science and Wireless Technology Conference (CSQRWC), Taiyuan, China, 18–21 July 2019; pp. 1–5. [Google Scholar]
  25. Mei, Z.; Lu, Y. Performance Analysis of Several Relay Node Selection Schemes for Cooperative Communications. In Proceedings of the 11th International Conference on Communication Software and Networks (ICCSN), Chongqing, China, 14–16 June 2019; pp. 41–45. [Google Scholar]
  26. Zhang, J.; Tang, J.; Wang, F. Cooperative relay selection for load balancing with mobility in hierarchical WSNs: A multi-armed bandit approach. IEEE Access 2020, 8, 18110–18122. [Google Scholar] [CrossRef]
  27. Su, Y.; Lu, X.; Zhao, Y.; Huang, L.; Du, X. Cooperative Communications with Relay Selection Based on Deep Reinforcement Learning in Wireless Sensor Networks. IEEE Sens. J. 2019, 19, 9561–9569. [Google Scholar] [CrossRef]
  28. Elsamadouny, A.; Hasna, M.; Khattab, T.; Abualsaud, K.; Yaacoub, E. On the delay of finite buffered multi-hop relay wireless internet of things. In Proceedings of the 2019 IEEE 90th Vehicular Technology Conference (VTC2019-Fall), Honolulu, HI, USA, 22–25 September 2019; pp. 1–7. [Google Scholar]
  29. Huang, J.; Gharavi, H.; Yan, H.; Xing, C.C. Network Coding in Relay-Based Device-to-Device Communications. IEEE Netw. 2017, 31, 102–107. [Google Scholar] [CrossRef][Green Version]
  30. Katti, S.; Gollakota, S.; Katabi, D. Embracing wireless interference: Analog network coding. ACM SIGCOMM Comput. Commun. Rev. 2007, 37, 397–408. [Google Scholar] [CrossRef]
  31. Basaran, S.T.; Kurt, G.K. Wireless Channel Induced Coding. IEEE Commun. Lett. 2019, 23, 1688–1691. [Google Scholar] [CrossRef]
  32. Dong, D.S.; Pokhrel, Y.M.; Gachhadar, A.; Maharjan, R.K.; Qamar, F.; Amiri, I.S. Resource tuned optimal random network coding for single hop multicast future 5g networks. Int. J. Electron. Telecommun. 2019, 65, 463–469. [Google Scholar] [CrossRef]
  33. Ho, T.; Medard, M.; Koetter, R.; Karger, D.R.; Effros, M.; Shi, J.; Leong, B. A Random Linear Network Coding Approach to Multicast. IEEE Trans. Inf. Theory 2006, 52, 4413–4430. [Google Scholar] [CrossRef]
  34. Migabo, M.E.; Olwal, T.O.; Djouani, K.; Kurien, A.M. Cooperative and Adaptive Network Coding for Gradient Based Routing in Wireless Sensor Networks with Multiple Sinks. J. Comput. Netw. Commun. 2017. [Google Scholar] [CrossRef]
  35. Feizi, S.; Lucani, D.E.; Sørensen, C.W.; Makhdoumi, A.; Médard, M. Tunable sparse network coding for multicast networks. In Proceedings of the International Symposium on Network Coding (NetCod), Aalborg Oest, Denmark, 27–28 June 2014; pp. 1–6. [Google Scholar]
  36. Sehat, H.; Pahlevani, P. On the Probability of Partial Decoding in Sparse Network Coding. arXiv 2019, arXiv:1907.12051. [Google Scholar]
  37. Zarei, A.; Pahlevani, P.; Davoodi, M. On the partial decoding delay of sparse network coding. IEEE Commun. Lett. 2018, 22, 1668–1671. [Google Scholar] [CrossRef]
  38. Bao, X.; Li, J. Matching code-on-graph with network-on-graph: Adaptive network coding for wireless relay networks. In Proceedings of the 43rd Annual Allerton Conference on Communication, Control and Computing, Monticello, IL, USA, 28–30 September 2005; pp. 386–395. [Google Scholar]
  39. Bao, X.; Li, J. Adaptive Network Coded Cooperation (ANCC) for Wireless Relay Networks: Matching Code-on-Graph with Network-on-Graph. IEEE Trans. Wirel. Commun. 2008, 7, 574–583. [Google Scholar] [CrossRef]
  40. Chebli, L.; Hausl, C.; Zeitler, G.; Koetter, R. Cooperative uplink of two mobile stations with network coding based on the WiMax LDPC code. In Proceedings of the Global Telecommunications Conference (GLOBECOM), Honolulu, HI, USA, 30 November–4 December 2009; pp. 1–6. [Google Scholar]
  41. Han, C.; Yang, Y.; Han, X. A fast network coding scheme for mobile wireless sensor networks. Int. J. Distrib. Sens. Netw. 2017, 13. [Google Scholar] [CrossRef][Green Version]
  42. Hao, K.; Jin, Z. A New Deterministic Linear Network Coding and Its Application on Multicast Network. In Proceedings of the 5th International Conference on Wireless Communications, Networking and Mobile Computing, Beijing, China, 24–26 September 2009; pp. 1–4. [Google Scholar] [CrossRef]
  43. Heide, J.; Pedersen, M.V.; Fitzek, F.H.; Médard, M. On code parameters and coding vector representation for practical RLNC. IEEE Int. Conf. Commun. 2011. [Google Scholar] [CrossRef]
  44. Akhtari, S.; Moghim, N.; Mahdavi, M. Middleman covert channel establishment based on MORE routing protocol using network coding in ad hoc networks. Int. J. Commun. Syst. 2020, 33, 1–14. [Google Scholar] [CrossRef]
  45. Wu, H.; Li, Y.; Hu, Y.; Tang, B.; Bao, Z. On Optimizing Effective Rate for Random Linear Network Coding over Burst-Erasure Relay Links. IEEE Wirel. Commun. Lett. 2019, 8, 588–591. [Google Scholar] [CrossRef]
  46. Li, Y.; Zhang, S.; Wang, J.; Ji, X.; Wu, H.; Bao, Z. A Low-Complexity Coded Transmission Scheme over Finite-Buffer Relay Links. IEEE Trans. Commun. 2018, 66, 2873–2887. [Google Scholar] [CrossRef]
  47. Xu, C.; Wang, P.; Xiong, C.; Wei, X.; Muntean, G.M. Pipeline network coding-based multipath data transfer in heterogeneous wireless networks. IEEE Trans. Broadcast. 2017, 63, 376–390. [Google Scholar] [CrossRef]
  48. Guo, B.; Liu, Y.; Zhou, C. Exploit network coding over GF(2q) for multi-user cooperative wireless networks. Int. J. Wirel. Inf. Netw. 2014, 21, 1–14. [Google Scholar] [CrossRef]
  49. Chen, F.; Wang, N.; German, R.; Dressler, F. Performance Evaluation of IEEE 802.15.4 LR-WPAN for Industrial Applications. In Proceedings of the Fifth Annual Conference on Wireless on Demand Network Systems and Services, Garmisch-Partenkirchen, Germany, 23–25 January 2008; pp. 89–96. [Google Scholar] [CrossRef]
  50. Sahoo, P.K.; Pattanaik, S.R.; Wu, S.L. Design and analysis of a low latency deterministic network MAC for wireless sensor networks. Sensors 2017, 17, 2185. [Google Scholar] [CrossRef]
  51. Xu, K.; Wang, Q.; Hassanein, H.; Takahara, G. Optimal wireless sensor networks (WSNs) deployment: Minimum cost with lifetime constraint. Wirel. Mob. Comput. Netw. Commun. 2005, 3, 454–461. [Google Scholar]
  52. Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. Introduction to Algorithms, 3rd ed.; The MIT Press: Cambridge, MA, USA, 2009. [Google Scholar]
  53. Srinivasan, K.; Levis, P. RSSI is Under Appreciated. In Proceedings of the Third Workshop on Embedded Networked Sensors (EmNets 2006), Cambridge, MA, USA, 30–31 May 2006; pp. 239–242. [Google Scholar]
  54. Karp, R. Reducibility among combinatorial problems. In Complexity of Computer Computations; Miller, R., Thatcher, J., Eds.; Plenum Press: New York, NY, USA, 1972; pp. 85–103. [Google Scholar]
  55. Wolsey, L.A. Integer Programming; Wiley: New York, NY, USA, 1998; p. 288. [Google Scholar]
  56. Morrison, D.R.; Jacobson, S.H.; Sauppe, J.J.; Sewell, E.C. Branch-and-Bound Algorithms: A Survey of Recent Advances in Searching, Branching, and Pruning. Discret. Optim. 2016, 19, 79–102. [Google Scholar] [CrossRef]
  57. Community, O. OMNET++. Available online: https://omnetpp.org/ (accessed on 8 April 2020).
  58. Castalia. Framerwork Castalia. Available online: https://github.com/boulis/Castalia (accessed on 8 April 2020).
  59. Lp Solve. lp solve Library. Available online: http://lpsolve.sourceforge.net/ (accessed on 5 April 2020).
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.