{'fraction_non_alphanumeric': 0.03784908765306616, 'fraction_numerical': 0.00803446106190407, 'mean_word_length': 4.578911840151208, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 2, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Multicast Traffic Throughput Maximization through Joint Dynamic Modulation and Coding Schemes Assignment, and Transmission Power Control in Wireless Sensor Networks†

The paper concerns multicast packet traffic throughput maximization in multi-hop wireless sensor networks with time division multiple access to radio channel. We assume that the modulation and coding schemes (MCSs) that are used by the (broadcasting) nodes as well as the transmission power of the nodes are adjustable. This leads to the main research question studied in this paper: to what extent traffic throughput can be increased by proper MCSs assignment and transmission power control (TPC) at the nodes? To answer this question, we introduce mixed-integer programming formulations for joint MCSs assignment and TPC optimization, together with a solution algorithm. Finally, we present a numerical study illustrating the considerations of the paper. The numerical results show a significant gain being achieved by proper MCSs assignment, which is further increased by applying TPC.


Introduction
Wireless sensors networks (WSNs) are an important element of modern networking, mainly due to the rapidly growing range of their applications [1], including the military, smart cities, environment, health care, and agriculture [2]. Some interesting recent applications examples of WSNs in transportation system can be found in [3], while [4,5] discuss the role of WSNs in COVID-19 detection and monitoring. WSNs are often composed of the numerous low-cost nodes, thus they are usually perceived in the context of the limited resources when it comes to power, memory, and computational capabilities. However, although initially envisioned to serve simple services, such as environmental data monitoring, they have recently become one of the most promising solution for Internet of Things (IoT). Therefore, they are not only the limited resources that should be taken into account while designing a solution for WSNs, but also some Quality of Service (QoS) requirements, such as bandwidth or delay [6]. Particularly, such requirements are especially important in Industrial Internet of Things where a huge amount of data requires a high network capacity to avoid severe network congestions [7] (for a comprehensive study of the problem of designing a high-performance wireless network, i.e., the networks with Gbps data rates and 10-µs-level cycle time, in industrial environment the reader is referred to [8], and for the recent discussion on IoT in general the reader is referred to [9,10]). However, in the existing literature, this fact is often neglected and the main focus is on the energy efficiency or the network lifetime maximization, and not on the performance requirements to be fulfilled by the network. Thus, we believe that the traffic throughput maximization problem is of a great importance in the context of WSNs.
As far as the traffic throughput maximization problem is concerned, it is important to take multicast transmission into account. Note that, in the wireless networks multiple nodes can receive the packets broadcast in the same transmission, as long as they are within transmitter's transmission range (clearly, it is not possible in the wired networks where multicast transmission requires a copy of a given packet to be sent to each recipient). Multicast transmission can lead to a significant gain of throughput as well as to the lower energy consumption because of the broadcast nature of wireless medium. Obviously, this statement is well justified in the existing literature. For example, paper [11] discusses the advantageous of multicast transmission in WSNs, while algorithms and protocols for multicast transmission in WSN can be found, for example, in [12,13]. Moreover, some papers, such as [14][15][16], consider multicast transmission for the particular throughput maximization problem that we dealt with in this paper. In particular, the numerical section presented in [16] contains a comparison of unicast vs. multicast routing efficiency, highlighting the gain that is achieved by utilizing multicast in WSNs.
Two other factors that play a crucial role in traffic throughput maximization are proper modulation and coding schemes (MCSs) assignment as well as the transmission power control (TPC). Because of the tradeoff between the number of simultaneous transmissions and transmission data rates the selection of MCSs is not at all straightforward; however, it leads to a significant gain of traffic throughput, as shown in [17]. Such a gain can be further increased by applying TPC (for example, using the lowest power sufficient to realize a transmission can potentially result in the increase of the number of parallel transmissions). Unfortunately, joint MCSs assignment and TPC turns out to be a very complex task.
At this point, it is important to notice that, although MCSs assignment and TPC can be optimized separately (e.g., by optimizing MCSs assignment for a given and fixed transmission power level, and then, on top of that, optimizing TPC), such an approach will, in general, not lead to optimal solutions. This is because the transmission power level used in the first step of such a procedure can exclude some MCSs from feasible solutions. On one hand, a low transmission power level can exclude the MCSs with high transmission data rates and relatively low transmission range and, on the other hand, the same MCSs can be excluded by a high transmission power level because of the high interference level when other nodes transmits concurrently (note that MCSs with high transmission date rates require strong signal to be properly decoded). Therefore, it is crucial to treat the optimization of MCSs assignment and TPC jointly.
In the light of the foregoing, in this paper we study the following research question: to what extent traffic throughput can be increased by proper modulation and coding schemes assignment and transmission power control at the nodes? To answer this question, we provide the optimization model for multicast traffic throughput maximization in WSNs utilizing time division multiple access (TDMA) to radio channel, where both MCSs and the transmission power of the broadcasting nodes are adjustable. We assume that the MCSs as well as the transmission power used by the broadcasting nodes can be switched from a time slot to a time slot. Two TPC cases are considered in the paper: discrete TPC and continuous TPC. In the former, the transceivers can use only a discrete, usually small, set of power levels (this is common when it comes to low-cost sensor nodes), while, in the latter, the transmissions power applied by the nodes can change continuously. The presented optimization model is the extension of the model that was introduced in [14] (the model was further extended in [17] to include dynamic MCSs assignment) that make it possible to deal with the complex problem of including transmission power control into throughput optimization in WSNs with dynamic MCSs assignment that serve multicast traffic. The provided optimization model allows us to treat the considered problem in a rigid mathematical way, thus it can be used as a benchmark while designing algorithms and protocols to be implemented in the real networks. To the best of our knowledge, such a model does not exist in the literature and, together with the numerical study that illustrates the considerations of the paper, constitute the main contributions of this work.
As written above, we consider TDMA-based WSNs. Note that using TDMA is well justified in the given context, since it outperforms other medium access control schemes in terms of traffic throughput. It is also worth mentioning that TDMA is considered to be one of the most promising solutions for energy efficient WSNs [18]. The list of radio technologies supporting TDMA includes WirelessHART, ISA100, and the family of IEEE 802.15.4-based low-rate personal area networks (LR-WPAN).
The rest of this paper is organized as follows. In Section 2, we discuss the related work on multicast transmission, MCSs assignment, and TPC in WSNs. Section 3 presents the network description and notations used in this paper. Problem statement and the corresponding mixed-integer programming (MIP) formulations, together with a solution algorithm, are presented in Sections 4-6. Subsequently, numerical results illustrating considerations of this paper are discussed in Section 7. Finally, Section 9 concludes the paper.

Related Work
Wireless sensors networks are widely discussed in the literature. In particular, a lot of papers concern the specific aspects studied in this paper, i.e., multicast transmission, modulation and coding schemes assignment, and transmission power control in WSNs.
A majority of papers on multicast transmission in WSNs is devoted to the problem of finding an energy efficient routing, usually by means of some heuristic algorithms. Ref. [19] presents a heuristic distributed minimum transmission multicast routing protocol for WSNs, Ref. [20] studies an energy efficient multicast geographic routing, paper [13] proposes a multipath scheme applied on a multicast-based hierarchical routing that gives better energy utilization, which leads to the network lifetime improvement, and [21] makes use of a genetic algorithm for solving the Network Coding Resource Minimization problem. Another important group of papers concerning multicast transmission in WSNs contains the papers focusing on delay minimization. Ref. [22] proposes both centralized and distributed algorithms for delay-bounded scheduling in duty-cycled WSNs, Ref. [23] focuses on the latency and network lifetime tradeoff, and [24] deals with an energy efficient, minimum-delay flooding in duty-cycled WSNs.
Additionally, the problem of modulation and coding schemes assignment has been to a certain extent studied in the literature. Some interesting conclusions can be found in [25], where the authors pointed out that using more robust MCSs instead of these with the highest data rates can lead to the improvement of the overall network throughput. Ref. [26] studies channel coding for high performance wireless control; particularly, the authors present a comprehensive analysis of the packet coding schemes used in industrial WSNs and propose some rules for choosing the most promising coding schemes. Finally, Ref. [27] provides the performance analysis of the efficient coding schemes for WSNs assuming BPSK modulation and a Gaussian channel.
Because transmission power control is one of the most important issues when it comes to WSNs and IoT, it is studied in many papers. For example, paper [27] proposes a game-theoretic power control mechanism for WSNs with imperfect information. Next, paper [28] presents plenty of interesting engineering takeaways on wireless mesh networks (WMNs) configuration, including power control, which result in throughput maximization. Finally, Ref. [29] studies the effects of TPC on the energy consumption of WSNs. A distinguishable and interesting group of work dealing with TPC in WSNs is composed of the articles that make use of machine learning. Paper [6] takes advantage of reinforcement learning to provide a distributed solution for choosing the lowest transmission power possible and, thus, to minimize both energy consumption and interference. Additionally, paper [30] utilizes reinforcement learning to deal with the average throughput maximization per total consumed energy in WSNs in both point-to-point and multinodes scenarios. As far as the recent research is concerned, the following items should be mentioned. Pa-per [31] deals with energy-aware dynamic allocation problem in the context of Social Internet of Vehicles, Ref. [32] studies the problem of power control and unmanned aerial vehicle deployment for IoT networks, while [33] proposes a novel self-adaptive power control-based enhanced energy-aware approach to reduce the energy consumption and enhance the battery lifetime and reliability.
Despite a vast amount of the literature concerning WSNs, to the best of our knowledge, the papers on throughput maximization as well as mathematical modelling are not common-most of the existing work treats the problem from the viewpoint of engineering, without an attempt to provide a rigid mathematical model. Although some interesting results in this area can be found in [34,35], they are limited to unicast traffic. In [34], mixedinteger programming formulations for max-min fair flow optimization in WMNs including both static and dynamic MCSs assignments, while [35] provides a complete optimization model for joint routing, power control, scheduling, channel assignment as well as rate control optimization in WMNs. Therefore, we believe that the work presented in this paper, which is an extension of the model that was introduced in [14] (extended in [17]), is the first complete optimization model for traffic throughput maximization admitting dynamic MCSs assignment and TPC in WSNs for multicast traffic.

Network Description
In this section, we present the basic assumptions of our optimization model together with the notations that are summarized in Table 1.  The considered WSN is modeled by means of a directed graph G The beginning of arc a will be denoted by b(a), while its end by e(a). We assume that (w, v) ∈ A if, and only if, node v is in the transmission range of node w, i.e., when the signal-to-noise-ratio (SNR) condition is satisfied at node v when node w is transmitting and no other node is transmitting at the same time. Such a condition can be formally expressed by the following formula: is the power of signal transmitted by node w and received by node v, η is the noise power, m ∈ M is a modulation and coding scheme (MCS) used by node w (M = {1, 2, . . . , M} denotes the set of available MCSs), and γ(m) > 1 is the assumed power ratio threshold for a given MCS m. Besides the power ratio threshold γ(m), each MCS m is also characterized by the transmission rate B(m) that is expressed in Mbps. Note that, because MCSs have different power ratio threshold, the transmission range of a given node depends on a MCS used by this node. For a more detailed description of the radio parameters, the reader is referred to Section 7.1. The set of neighboring nodes connected to v by the arcs outgoing from v is denoted by Similarly, the set of neighboring nodes connected by the arcs incoming to v is denoted by We assume that the network nodes are divided into three pairwise disjoint subsets: sensors S, destinations D, and purely transit nodes Q. Each sensor s ∈ S is the source of packets (for example, containing measurement data that the sensor collect from the environment) that are to be delivered to multiple destinations specified by the set of destinations D(s) ⊆ D. We assume that the sensors are capable of both generating and transiting packets, while the destination nodes only terminate traffic, i.e., they are not able to transit packets; clearly, the transit nodes do not generate or terminate packets, and only transit them.
The packets that are generated by sensor s are transmitted to their destinations along paths of a multicast tree B(s) = (V (s), A(s)), where V (s) ⊆ V is the set of its nodes while A(s) ⊆ A is the set of its arcs (|A(s)| = |V (s)| − 1). Clearly, such a tree is routed at s and D(s) are its leaves. Note that, at each node v of the multicast tree B(s) (except for the leaves), the packets are, in general, transferred to more than one neighboring node, and this is the place when we take advantage of the broadcast nature of radio transmissions, since the packet broadcast from a node v reaches all of the nodes within its transmission range of the node v anyway.
We consider TDMA-based WSNs, which means that the packets are transmitted within equally long time slots that are grouped into consecutive TDMA frames of T time slots each. We assume that each sensor sends out the measurement data at the beginning of each consecutive frame. The frames are repeated periodically and, hence, the transmission patterns that are applied in the consecutive frames are identical, i.e., the set of broadcasting nodes as well as the set of receiving nodes in tth slot (t = 1, 2, . . . , T) of each frame are the same. A pair composed of the set of (simultaneously) broadcasting nodes and the sets of simultaneously receiving nodes defined for each broadcasting node will be called compatible set (c-set in short) and they will be denoted by c. In the following, C will denote the family of all c-sets for a given network (note that the size of this family grows exponentially with the network size), and C a selected subfamily of C. The set of nodes broadcasting in c-set c will be denoted by W (c), m(c, w), w ∈ W (c) denotes MCSs assignment, and the set of nodes receiving from node w ∈ W (c) in c-set c will be denoted by U (c, w). Note that any c-set c is valid if, and only if, each of the nodes in U (c, w) can decode the signal from w, i.e., the nodes receiving from w are not interfered by the signals that are simultaneously broadcast from the nodes in W \ {w}. Such a condition can be expressed in the following formula: The above c-set description can by formally expressed by the set of linear inequalities imposed on the variables that characterize the sets W (c) and U (c, w), MCS assignment m(c, w), w ∈ W (c), and the transmission power of each node; such a formal definition will be introduced in the following part of the article.

Problem Formulation
As already mentioned, the paper deals with packet throughput maximization, which in the considered network setting is equivalent to the problem of finding a TDMA frame of minimum size such that the network is capable to deliver all packets generated by sensors to all their destinations with a finite delay. This is because the packets are generated at the beginning of each consecutive frame, thus the shorter the frame the greater the packets arrival intensity. In the paper we will maximize traffic throughput by means of this equivalence.
In order to formally formulate the above characterized optimization problem we use a mixed-integer programming formulation using the following sets of variables: • h swc , s ∈ S, w ∈ V, c ∈ C, non-negative continuous, expresses the amount od data from stream s to be broadcast from node w when c-set c is applied, • T c , c ∈ C, integer, denotes the number of slots in the frame in which c-set c is active.
In order to ensure stable delivery (i.e., with a finite delay) of the packets to their destinations, the following constraints are imposed: where C(a) denotes the set of c-sets in C containing arc a, n(s) denotes data volume (expressed in Mb) generated at s at the beginning of each consecutive frame, and y(s, a) is a given parameter equals 1 if, and only if, arc a belongs to the routing tree B(s). Constraint (2a) ensures that data from a given stream will be transmitted over all arcs belonging to its routing trees within a single frame, while constraint (2b) ensures that the number of slots T c is sufficient to realize all scheduled broadcasts. Note that the above constraints assume fixed (predefined) routing trees. However, if TPC and dynamic MCSs assignment are to be embedded in the frame minimization problem it is essential to optimize the routing trees as well (since adjusting the transmitting power and MCS used by a node influences the signal range, and in consequence the predefined routing trees can easily exclude some power levels or MCSs from the feasible solutions). This can be achieved by treating the parameters y(s, a) as binary variables (denoted by y sa ) and adding flow variables z swa , s ∈ S, w ∈ D(s), a ∈ A. The flow variables corresponding to a given sensor s ∈ S specify the paths from s to its destinations in D(s): the set of arcs forming the selected path from s to w ∈ D(s) is determined as {a ∈ A : z swa = 1}. Certainly, the flow variables depend on variables y sa , a ∈ A, that define the routing tree B(s) (with A(s) = {a ∈ A : y sa = 1}). The final form of the frame minimization problem (FMP), formulated by adding additional constraints imposed on the new variables and an objective function is as follows: Constraints (3d) and (3e) are the new constraints that ensure correctness of the constructed routing trees (indicator I(s, w, v) used in (3d) equals 1 for v = s, and −1 for v = w). Finally, the objective function (3a) minimizes the total numbers of time slots used by the frame, i.e., it minimizes the sum of the numbers of time slots assigned to the c-sets actually used in the frame. The so described formulation was originally presented in [17]. It should also be emphasized that the frame minimization problem represented by the above formulation is N P-hard, since, its basic version is already N P-hard [14].
Note that the above formulation provides an optimal solution only for a given family of c-sets C (and not for the whole c-sets family), and it does not consider power control. Both of these aspects will be addressed during solution process.

Price-and-Branch FMP Solution Algorithm
In this section we describe the algorithm we propose to solve the problem considered in the article and provide a complexity analysis of the algorithm.

Algorithm Description
As already mentioned, the size of family C, i.e., the number of all valid c-sets, increases exponentially with respect to the network size. That is why the formulation of FMP(C) is non-compact, with the number of variables and constraints growing exponentially with the network size. Thus, to find a globally optimal solution of FMP, i.e., when all c-sets in C are considered, we need a way for generating the c-sets needed for achieving such a solution. Our approach is to apply the column and constraint generation method to the liner relaxation of the MIP formulation (3) of FMP(C). Such a linear relaxation is obtained from formulation (3) by relaxing variables y sa and T c , i.e, by letting them to be continuous. (Note that in this relaxation constraint y sa ≤ 1 has not be added since in optimal solutions this condition will be fulfilled.) The problem dual to the considered relaxation is as follows.
where the dual variables ϕ swv , σ swa , λ sa , π cw correspond, respectively, to the primal constraints (3b)-(3e). At this point we note that, as it commonly happens in the case of dual problems, DFMP and in particular its objective function (4a), can hardly be interpreted in a rigid but understandable way. Thus, although some helpful intuition could be developed, it is virtually impossible to explain the interpretation of DFMP in a compact manner.
Suppose that λ = (λ * sa ) s∈S,a∈A is a vector of optimal values of dual variables λ sa and consider the following expression: where π = (π w ) w∈W (c) and Now consider the (dual) polytope of DFMP(C ∪ {c}), i.e., the domain of DFMP(C ∪ {c}), for a given c-set c ∈ C \ C. Observe that P(c) expresses the sum of violation of the constraints (4e) corresponding to c in this polytope by the vector λ * which is optimal for DFMP(C). (Note that the rest of the constraints are not violated in the new polytope.) Finally, let c * ∈ C \ C be a c-set that solves the so called pricing problem (PP): PP(λ * ): Find a c-set c in C \ C that maximizes the value of P(c, λ * ) defined in (5). Note that when P(c * , λ * ) = 0 then no constraint is violated in DFMP(C ∪ {c * }) and optimal solutions of DFMP(C) are also optimal for DFMP( C), and the same holds for the considered linear relaxation of FMP(C). Otherwise, adding c * to DFMP, i.e., to C, will in general decrease the maximum of W in (4a) because the dual polytope of DFMP(C ∪ {c * }) is a proper subset of the polytope of DFMP(C) (because those solutions of the latter problem that contain λ * do not belong to the polytope of DFMP( C)). Thus, since for a given C, the optimum W * of the dual is equal to the optimum T * of the linear relaxation of FMP, adding c * to FMP will in general decrease the optimum of FMP.
To summarize, the following c-set generation algorithm can be used in order to solve the linear relaxation of FMP for the full list of c-sets.

CGA: c-set generation algorithm
Step-1: Define an initial feasible list C of c-sets.
Step-2: Solve the dual master problem DMP(C) using an LP solver to obtain optimal dual variables λ * .
Step-3: Solve the pricing problem PP(λ * ) using a MIP solver. If the maximum of the objective function P * = P(c * , λ * ) is strictly greater than 0, then add the resulting c-set c * to the c-set list C (C := C ∪ {c * }) and go to Step-2.
Step-4: Otherwise stop: the resulting c-set list C * is sufficient to solve the linear relaxation of FMP to global optimality.
For completeness, Algorithm 1 shows the pseudocode of CGA, where the following functions are used: • de f ine_initial_ f easible_cSets_list()-the function that generates and returns an initial feasible list C of c-sets • solve_DMP(C)-the function that solves the dual master problem DMP(C) and returns optimal dual variables λ * if P(c * , λ * ) > 0 then 8: C := C ∪ {c * }; 9: else 10: new_cSet_generated := f alse; 11: end if 12: end while 13: end procedure A simple feasible initial c-set list (i.e., a list C for which FMP(C) is feasible) that can be used for Step-1 is the family of all c-sets with only one node broadcasting to all its neighbors, with a fixed transmission power level.
Finally, for solving the main problem, we use the so called price-and-branch method (see [36]), i.e., we first apply CGA and then solve the basic MIP formulation (3) for the family C * obtained from CGA. For that, we apply a MIP solver.

Algorithm Complexity
Recall that the algorithm we proposed consists of two phases: Phase 1: solving the linear relaxation of FMP. Phase 2: solving the MIP version of FMP with the c-sets generated in the first phase.
In the first phase, we consider the linear relaxation of FMP and, since its formulation is non-compact, we have to solve it by means of the column and constraint generation technique, i.e., we generate the c-sets that are essential to reach optimality of the linear relaxation of FMP. Because the number of all c-sets grows exponentially with the network size, we cannot guarantee that the number of c-sets generated during the process grows polynomially, and not exponentially. Thus, in practice, the number of steps in this phase can grow exponentially with the network size. In each such step, we solve the dual master problem DMP and the pricing problem PP. We solve DMP by means of the simplex algorithm, which is very effective. PP is an N P-hard MIP problem [14] that is solved with branch-and-bound (B&B) algorithm whose complexity is exponential [37].
In the second phase of the algorithm, we use the B&B algorithm to solve the MIP version of FMP for the c-sets that are generated in the first phase (recall that, similarly to PP, this problem is also N P-hard). Thus, the complexity of this phase is also exponential.
However, although the complexity of the proposed algorithm is exponential, the algorithm is capable of solving, as illustrated in Section 7, medium sized problem instances in a reasonable time.

Pricing Problems
In this section, we present MIP formulations of the pricing problem (PP) for three different cases: no power control, discrete power control, and continuous power control. These formulations are used in Step-3 of CGA. Note that the pricing problem for the case with no power control was already presented in [17]; yet, we present this version of PP below, because it was used in the numerical study for comparison purposes. The derivation of PP without power control can be found in [17], and derivations of the two remaining cases are analogous.

No Power Control
In the case when the network nodes transmit with a fixed and predefined transmission power level, the appropriate PP is as follows: Note that inequalities (7b)-(7f) define a valid c-set. Constraints (7b) and (7c) force the node to broadcast (X w = 1) if its broadcast signal is to be received by any of its neighbors (Y wu = 1); otherwise, X w is forced to be zero. Next, constraint (7d) ensures that, if a node is transmitting, then it cannot receive, and if a node is not transmitting, then it can be receiving, but from, at most, only one neighboring node. Constraint (7e) assures that only one MCS can be used (z m w = 1) by each broadcasting node. Finally, constraint (7f) expresses the signal-to-interference-to-noise ratio (SINR) condition. The second term of the left-hand side of (7f) is added to cancel the constraint whenever Y wu = 0 using a "big M" constant i.e., the upper bound on the right-hand side of (7f).

Discrete Power Control
In the discrete power control case, we assume that, in each time slot, each network node can transmit with the transmission power level from a discrete set of available power levels that are denoted by P. Because the transmission power of each node is defined per time slot, we can embed the problem of power assignment into PP, which, in this case, takes the following form: As compared with formulation (7), now a new set of binary variables is used, namely h p w , p ∈ P, w ∈ V, where h p w equals 1 if, and only if, node w transmits with the power level p, and 0 otherwise. Subsquently, new constraint (8f) is introduced to ensure that each transmitting node is assigned exactly one transmitting power level from P. Finally, the SINR constraint is modified in the following way: p(w, v) is replaced by multiplying the power P(p) (corresponding to the power level p assigned to node w that is identified by variable h p w ) by the path gain denoted by G(w, v). Finally, binary variables Z mp wv ∈ B, m ∈ M, p ∈ P, w ∈ V, v ∈ V \ {w}, together with additional constraints (8h), are introduced to eliminate bi-linearities that otherwise occur because of the multiplication h p v z m w .

Continuous Power Control
Contrary to the discrete power control case, in the continuous power control the transmitting power that is applied by the nodes can change continuously. To express this, PP is modified in the following way: Instead of binary variables h p w used in the previous formulation, the continuous variables p w , w ∈ V are now introduced to express the actual power that is applied at node w. These variables are used in the SINR constraint modified analogously to the discrete case. It is assumed that the value of p w cannot be smaller than the minimum power P min (a parameter), and it cannot exceed the maximum power P max -this is assured by the constraints (9g). Variables P m wv , together with constraints (9h)-(9j), are the auxiliary constraints used to get rid of bi-linearities that otherwise appear in the SINR constraint because of the multiplication z m w p v .

Numerical Study
Below, we present the numerical results that were obtained by means of the optimization approach described in the previous sections. We first consider the primary aim of the study, i.e., answering the question to what extent network traffic throughput can be increased through joint MCSs assignment and TPC. For that, discrete and continuous power control are both considered in the study. Later, on top of that, we discuss the computation time efficiency of the considered optimization approach.
All of the optimization problems considered in the paper were implemented and solved by means of C# and CPLEX 12.9.0, respectively. All of the computations were executed on an Intel Core i7-8550U CPU (four cores, each up to 4 GHz) with 16 GB RAM.

Network Setting
In the study, we consider irregular networks that were generated by [38] of three different sizes: small networks with 18 nodes, medium networks with 24 nodes, and large networks with 30 nodes. In each network, the nodes were placed in a given square area according to the uniform distribution. The size of the network area is equal to 220 m × 220 m, 250 m × 250 m, and 280 m × 280 m, respectively, for small, medium, and large networks. Each small networks has two sensors and 10 destinations, each medium network has four sensors and 16 destinations, while each large network has six sensors and 22 destinations; all of the remaining nodes in each network serve as purely transit nodes. Figures 1-3 show the example networks. The sensor nodes are depicted in red, destinations in blue, and transit nodes in white.   In the study, we assume that the noise power η is equal to −101 dBm and that the network nodes are operating in 5 GHz band. The power that is received at the nodes is calculated by means of the simplified path-loss model from [39]: where p(w, u) (as expressed in mW) is the power that is received by node u when node w is broadcasting, P is the transmission power of node w, d 0 (in m) is a reference distance, d (in m) is the distance between w and u, λ (in m) is the signal wavelength, and α is the path-loss exponent. In the study, we assume d 0 = 10 m and α = 4. As mentioned above, the transceivers are operating in 5 GHz band and, thus, λ = 0.06 m. Clearly, the maximum transmission range depends on the transmission power and the MCS used by the broadcasting node. In the following, we assume that the set of available MCSs M is composed of three MCSs: BPSK 3/4, 16-QAM 1/2, and 16-QAM 3/4. The power ratio thresholds γ(m) and transmission rates B(m) of these MCSs are, respectively, equal to 6.5 dB and 12 Mbps, 12.8 dB and 18 Mbps, and 16.2 dB and 24 Mbps [34]. The maximum transmission range equals 170 m for the assumed MCS and the maximum transmission power considered in this study that is equal to 130 mW.

Joint Modulation and Coding Schemes Assignment and Transmission Power Control
In this section, we are going to answer the main research question that is posed in this article. For the generated network instances, we analyze to what extent traffic throughput can be increased by joint MCSs assignment and TPC. Because the impact of the MCSs assignment is comprehensively discussed in [17], in this study we skip the analysis of all possible MCSs subsets combinations and focus on the following four cases differing in the number of MCSs available for each node and the type of TPC applied: The results, i.e., the frame sizes, which were obtained for the considered cases are presented in Tables 2-4, respectively, for small, medium, and large networks. Each table contains results for ten randomly generated networks of a given size as well as the results that are averaged over all ten network instances. All of the frame sizes reported in this section are expressed in the number of time slots. The averaged results are then illustrated in Figure 4.
The presented results show that the significant gain can be achieved by applying all three available MCSs. As far as the averaged results are concerned, the value of this gain is equal to 32.5%, 33.5%, and 19.9% for small, medium, and large networks, respectively. The frame size can be then significantly decreased by applying TPC; however, it is not the most essential whether it is discrete or continuous TPC. For small networks, the average frame size after applying discrete TPC is further decreased by 22.2%, and the difference between discrete TPC and continuous TPC only equals 1%. Note that, in nine out of ten small networks, it does not matter which type of TPC we choose-a difference only exists for Network 7. The difference is also not very significant when it comes to the medium networks. When compared to case B, the averaged frame size can be decreased by 19.2% by applying discrete TPC and by 21.3% applying continuous. However, contrary to the previous case, small differences between discrete TPC and continuous TPC exist for most networks. The similar, again not very significant, difference between discrete and continuous TPC is for large networks. In this case, the averaged frame size is decreased by 23.1% by applying discrete TPC and by 25.1% when continuous TPC is used. Note that these values applied to the averaged results; however, it should be noticed that the influence of the TPC strongly depends on the network topology (compare, for example, Network 8 and Network 9). Finally, we should highlight the substantial different between case A (no power control with single MCS) and case D (continuous power with multiple MCSs), which is equal to 48.1%, 47.7%, and 40.1% for small, medium, and large networks when it comes to the averaged results.

Time Efficiency of the Optimization Model
In this section, we analyze computation times of the solution algorithm applied in our optimization model based on the CPLEX solver. Table 5 summarizes the notations that are used in this section.

T LR
optimal frame size obtained from the linear relaxation of the problem after the c-sets generation process T MIP optimal frame size obtained from frame size minimization |C| number of generated c-sets t MP total computation time of solving master problem during c-sets generation process t PP total computation time of solving pricing problem during c-sets generation process t MIP computation time of solving the final MIP version of the problem Tables 6-8 present the averaged results illustrating time efficiency of the optimization model for small, medium, and large networks. The meaning of the letters A, B, C, and D in the columns' headers is the same as in the previous section. Additionally, the unit of the frame size remains the same, i.e., all of the frame sizes are expressed in the number of time slots (note that, in the case of the linear relaxation of the problem, the number of time slots does not have to be integer). We first note that each problem variant, even for large networks, was solved in a reasonable time. However, the time that is needed to solve the problem increases significantly with the network size. Second, including MCSs assignment and TPC leads to a substantial increase of the number of generated c-sets. This suggests that it is the increased number of simultaneous transmissions possible that lead to the gain in traffic throughput discussed in the previous section. Finally, the quality of linear relaxation is not too high (contrary to the basic optimization model from [14]). This issue should be addressed in the future work, since it affects the effectiveness of the branch-and-bound (B&B) algorithm underlying the CPLEX solver.

Remarks
There are several aspects that are out of the scope of this paper that we believe the reader should know about. All of these aspects will be discussed in this section.
First, although three different network sizes have been considered in this paper, it is important to also analyze different networks topologies. In fact, our model is topologyagnostic in the sense that it works for general directed graph structure. However, for the particular topologies that are encountered in such networks as scale-free networks or small-world networks that possess certain specific properties (see [40]), it would be interesting to analyze these kind of networks in order to take advantage of the properties of their topologies to improve the general solution algorithm proposed in this paper.
Second, as previously stated, our aim is to provide a rigid exact mathematical model for the considered problem (recall that the problem is N P-hard). This assumption is not without its consequences. Namely, in general, we cannot expect to solve large problem instances (of, say, hundreds or more nodes) in an acceptable time since the model is developed within the integer-programming optimization framework that uses B&B as the basic solution approach. In such a case, appropriate heuristics should be considered.
Finally, we would like to give some additional remark on the time efficiency of the proposed solution algorithm. As the reader may have noticed, the solution time is mainly determined by the time that is needed to solve the MIP problems PP and FMP, and this time grows significantly with the network size. Nevertheless, despite the algorithm complexity, the proposed medium sized examples were solved in a reasonable time.

Conclusions
In the paper, we have presented an extension of the optimization model introduced in [14]. The extension makes it possible to deal with the complex problem of including transmission power control into throughput optimization in WSNs with dynamic MCSs assignment that serve multicast traffic. The numerical results that were obtained by implementing the optimization model show that adding TPC on top of dynamic MCSs assignment leads to a significant gain in traffic throughput. This gain is considerable for both discrete and continuous TPC, and the difference between those two cases is usually negligible. The main appplication scenario of the introduced optimization model is to use it as a benchmark while designing new algorithms and protocols that are intended for WSNs. As far as the ongoing and future work is concerned, we are extending our model by introducing multi-criteria optimization in order to jointly minimize the frame size and energy consumption. Finally, the quality of the linear relaxation needs to be addressed. All of these issues are already under consideration within the grant mentioned in the acknowledgement.