1 Introduction

Wireless mesh networks (WMN) offer common, affordable access to the Internet in metropolitan and residential areas (for popular surveys on WMN see [1, 9]). The core of a WMN consists of a set of fixed mesh nodes—routers and Internet gateways—interconnected by radio links that typically are based on the Wi-Fi IEEE 802.11-family standards. Other standards, such as Bluetooth IEEE 802.15.5, WiMAX IEEE 802.16a, and IEEE 802.20 can also support WMNs. In effect, aggregates of mesh clients (who are either fixed or mobile) connected to the routers obtain access to the Internet gateways either over direct links or over multi-hop mesh routes. WMN is a cost-efficient networking technology and provides a bandwidth in the range of hundreds Mbps. The WMN solution is competitive to the wired Internet access provided by cable network providers or offered by mobile operators. WMNs are decentralized, non-hierarchical networks, typically deployed by communities of users (see [4, 21]), and based on commonly available off-the-shelf wireless communication equipment (see [5, 18, 23]). The idea of WMN stems from the ad-hoc networking paradigm and, as such, fits very well the decentralized philosophy of the Internet.

Although WMNs are relatively cheap, efficient and fair resource allocation is not that simple to achieve in those networks. As discussed below, the issue is how to effectively divide the offered network capacity among the logical bandwidth assigned to the routes between the gateways and the routers. If not supported by some kind of tools (ideally simple, fast, and implemented in a distributed way in the routers) for effective management of transmission scheduling, channel assignment, transmission power adjustment, rate adaptation, and routing, a WMN can behave poorly, delivering significantly lower traffic throughput than can be potentially achievable. For this reason, WMN optimization and traffic engineering form an important research area, situated in the mainstream of research in communication networking.

In WMN, it is not possible to carry point-to-point radio transmissions simultaneously on all links because of strong signal interferences at the receivers; typically, only a small proportion of the links can be active at the same time. Therefore, radio transmission scheduling algorithms are used to achieve a reasonable network traffic throughput. In fact, a WMN throughput can be significantly increased due to a properly designed transmission schedule implemented through an appropriate scheduling protocol (see for instance [24]). Implementing effective MAC scheduling algorithms, however, is not only difficult in practice, but also poses a considerable challenge in devising efficient algorithms for the traffic optimization problems.

In the paper we consider a problem of WMN throughput optimization through simultaneous design of the transmission schedule and routing (see for instance [2]). The throughput is a vector of bandwidths assigned to the downstreams from the Internet gateways to the mesh routers, while the routing is determined by the path (or the set of paths) by which each router is connected to the gateway(s). Traffic demands are assumed to be elastic and therefore they will consume any bandwidth they are assigned. In effect, the demands compete for link capacities, and the objective of the optimization becomes a fair assignment of bandwidth available to the routers. The transmission schedule is dealt with indirectly, by forbidding the interfering link transmissions to be held simultaneously. We assume that the transmission schedule specified (indirectly) in the result of the optimization can be effectively implemented by the scheduling protocol.

We significantly extend the considerations of [20, 27] by examining the reliability of wireless mesh networks when mesh routers are equipped with directional antennas. Using such equipment, it is possible to utilize available radio resources more efficiently by enabling more simultaneous transmissions in the network. On the other hand, the usage of directional antennas is more expensive (cost of equipment, cost of setting up the equipment). What is more, directional antennas decrease the robustness of the network by limiting its connectivity comparing to omnidirectional antennas. In the paper we verify the claim that using directional antennas is still beneficial because employing even a small number of additional directional antennas can significantly increase the reliability of a network.

The paper is organized as follows. Section 2 presents the related published work. In Sect. 3, the basic optimization models are introduced and discussed. Numerical results are given in Sect. 4. The paper is concluded in Sect. 5.

2 Related work

Wireless mesh networks have become an important research area, and consequently the number of positions in the literature that deal with WMN is remarkable. Some of the references treating WMNs in general can be found in the introduction. In this section we concentrate on two aspects of WMN, namely: reliability and directional antennas.

In the context of reliability, WMNs were usually considered as equipped with omnidirectional antennas, and the design tasks were usually reduced to finding a two-connected topology [7]. In [6], the authors analyze the impact of reliability on the cost of a network. An interesting position is [12] where the authors consider failures of optical units in the context of Hybrid Wireless-Optical Broadband-Access Network (WOBAN). In such a network a single failure of an optical unit can lead to a multiple failure from the point of view of the wireless component of the network.

In the context of directional antennas, the most interesting results are those dealing with theoretical increase in the capacity of a WMN when equipped with directional antennas. Those theoretical bounds were studied in different settings for instance in [25, 26]. In [13] authors also considered the possibility of multi-channel assignment that can significantly increase network capacity, while in [17] it is shown how directional antennas can influence multicast communication in wireless networks.

From the point of view of this paper the most important work is [11] describing a planning method for an urban WMN. The paper takes into account both reliability and possibility of using directional antennas. However, the authors assume that the interferences are negligible and thus are omitted in the considerations. This issue is directly considered in our investigations.

3 Optimization model

3.1 Notation

In this section we summarize the notation used in the paper. The considered network is composed of a set of nodes (gateways and mesh routers) connected with directed links (arcs). The network graph is bi-directed, i.e., if an arc between two nodes exists in one direction then there is also a symmetric arc in the opposite direction. This setting assumes the use of two directional antennas located at the two end nodes common to the two arcs. The two antennas realize the transmission in both directions, but only in one direction at a time. Throughout the paper we assume that each gateway is connected to the Internet using a fiber, thus it can deliver as much flow as needed.

Indices

v,w :

nodes (mesh routers and gateways)

e :

undirected link (link)

a :

directed link (arc)

s :

failure state

0:

nominal state (no failures)

i :

compatible set

Input

\(\mathcal {R}\) :

list of mesh routers, \(\mathcal {R} \subset \mathcal {V}\)

\(\mathcal {G}\) :

list of gateways, \(\mathcal {G} \subset \mathcal {V}\)

\(\mathcal {V}\) :

list of all nodes, \(\mathcal {V} = \mathcal {R} \cup \mathcal {G}, \mathcal {R} \cap \mathcal {G} = \emptyset\)

\(\mathcal {E}\) :

list of (undirected) links, \(\mathcal {E} \subseteq \mathcal {V}^{|2|}\), where \(\mathcal {V}^{|2|}\) denotes the set all two element subsets of V

\(\mathcal {A}\) :

list of (directed) arcs, \(\mathcal {A} \subseteq \mathcal {V}^{2} \setminus\{ (v,v) : v \in \mathcal {V}\}\)

\(\mathcal {Q}\) :

conflict clique, \(\mathcal {Q} \subset \mathcal {A}\)

\(\mathcal {C}\) :

set of all maximal conflict cliques, \(\mathcal {Q} \in \mathcal {C}\)

\(\mathcal {S}\) :

set of failure states \(\mathcal {S}=\mathcal {E} \cup\{0\}\); 0 denotes the nominal state with no failures, e denotes a failure of link \(e \in \mathcal {E}\)

\(\mathcal {I}\) :

set of compatible sets, a compatible set is a set of links that can transmit simultaneously

c a :

capacity of arc a

e(a):

link e that realizes arc a, i.e., if a=(v,w) then e(a)={v,w}; it is assumed that \(a \in \mathcal {A} \Rightarrow e(a) \in \mathcal {E}\)

δ +(v):

list of arcs leaving node v

δ (v):

list of arcs entering node v

\(P_{a}^{v}\) :

power received by node v when arc a is transmitting

N :

noise

δ a :

SINR threshold at arc a (in the paper we assume that MCS used for arc a is set to the fastest MCS that will work on this arc when interferences are not present)

\(M_{a}^{s}\) :

a big number fixed for arc a and failure state s

α :

constant from interval [0,1] indicating the expected service quality after a failure; if α=1 then a failure should be unnoticeable by users, if α=0 then reliability is not concerned

f :

maximal minimum flow

\(f_{a}^{*}\) :

flow (load) on arc a

\(f_{a}^{s*}\) :

flow (load) on arc a in failure state s

\(x_{e}^{*}\) :

equal to 1 if at least one pair of antennas realizing link e is installed; 0 otherwise

\(y_{e}^{*}\) :

equal to 1 if a backup (second) pair of antennas realizing link e is installed; 0 otherwise

Variables

f :

minimum flow

f a :

flow (load) on arc a

f s :

minimum flow in failure state s

\(f_{a}^{s}\) :

flow (load) on arc a in failure state s

x e :

binary variable equal to 1 if at least one pair of antennas realizing link e is installed; 0 otherwise

y e :

binary variable equal to 1 if a backup (second) pair of antennas realizing link e is installed; 0 otherwise (y e x e )

z i :

fraction of available time used by compatible set i

3.2 Basics

In WMN networks the notion of a link is vague, as any node (a mesh router or a gateway) can transmit to any other node in its range. In the paper we assume that a link potentially exists between every pair of mesh routers that can communicate with each other. In radio networks two nodes v and w can communicate, if the power of the signal received from node v at node w in comparison to the noise at node w is greater than an acceptable signal-to-noise (SNR) threshold for the applied modulation and coding scheme (MCS). We consider eight different MCSs. They are characterized by different bit rates and different SNR thresholds presented in Table 1 (reproduced from [22]). We assume that each link uses the fastest MCS that does not violate an SNR constraint, i.e., a signal received at a sink node of an arc is greater than the noise by a factor specified by an SNR threshold. In order to calculate the volume of the received signal we use a generic path model presented in [14] with a path loss exponent of 4. Other details, like transmitting powers of nodes and distances between nodes, can be found in the descriptions of Sect. 4.

Table 1 IEEE 802.11a MCS, FER ≤ 1 %, 1500 Byte payload

In WMN networks radio resources are shared between all nodes. Thus, typically all nodes cannot transmit simultaneously but, of course, simultaneous transmissions by subsets of nodes are still possible (and desired). In the case of simultaneous transmissions, however, not only the noise can disrupt a transmission but also interferences created by other nodes. Therefore, in the context of WMN we use the notion of the signal to interference plus noise ratio (SINR) instead of SNR. SINR is understood as a proportion of a received power to a sum of the noise and received interferences. In this paper we assume a common (simplified) interference model that utilizes the notion of a conflict graph (see for instance [15]).

A conflict graph represents pairs of arcs that cannot transmit simultaneously because of interferences. Each arc in a WMN network is represented by a vertex in a conflict graph, and an edge in a conflict graph represents a pair of arcs that are forbidden to transmit at the same time. Consider four mesh routers v, w, v′, and w′, and two arcs: a (from node v to node w) and a′ (from v′ to w′). Those two arcs correspond to two vertices denoted by A and A′, respectively, in the conflict graph. Finally, an edge between A and A′ exists only if at least one of the following constraints is not satisfied:

(1a)
(1b)

where constraint (1a) assures that a transmission on arc a′ does not jam a transmission on arc a, while (1b) assures the opposite—a transmission on arc a does not jam a transmission on arc a′.

Following [15], we find all maximal cliques in a conflict graph and use them in our formulations (2a)–(2d) and (3a)–(3j). A clique of a conflict graph represents a set of arcs out of which only one can transmit at a time. Notice that the simplified interference model does not take into account a possibility that a number (two or more) of mesh routers can together create interferences that will make communication on another arc impossible. Such a situation is considered in the full interference model considered for instance in [10] or [20], where interferences created by different mesh routers are cumulated. However, due to the fact that in our paper we assume WMNs with directional antennas (which limits the interferences) we have decided to use the simplified model, as it makes the optimization process more efficient.

We also assume that a scheduling algorithm is run above the MAC level, and each node is transmitting only in time slots that are allocated to it. Sizes of the time slots are not equal and are subject to optimization. Our task is to find an optimal routing for each demand. The routing must be designed so that the minimum flow in a network is maximized. We consider only the downlink traffic (from gateways to mesh routers), as it is usually much greater than the uplink traffic in the considered networks. We note that the uplink traffic could be added to the considerations through straightforward extensions of the introduced models.

3.3 Directional antennas

Considerations presented in the previous section apply regardless of the type of antennas used in a network. In this section we discuss an influence of using directional antennas on modeling. In fact, for any bi-directional link we need two dedicated directional antennas, one in each of the two end nodes of this particular link. In other words, the number of available arcs \(|\mathcal {A}|\) is equal to the number of antennas, as a pair of antennas creates two oppositely directed arcs between them.

An impact of directional antennas on our considerations is twofold. First of all, the power received by mesh routers (and gateways, for that matter), when other routers are transmitting, depends not only on a location of a transmitting router but also on a location of a router that the transmission is aimed to. Secondly, a link between two nodes (in fact, two oppositely directed arcs) exists only if a pair of directional antennas is dedicated to it. Notice that in case of omnidirectional antennas a link exists between each router and all other routers in its range.

The first issue is addressed in the following way. We assume that locations of links are given (they are not subject to optimization), and all the potential antennas use the same transmission power and the radiation pattern shown in Fig. 1 that represents a typical radiation pattern of a directional antenna [3]. Therefore, the values of \(P_{a}^{w}\) can be computed beforehand, and thus treated as constants in (1a)–(1b).

Fig. 1
figure 1

Radiation pattern

The second issue requires variables x e that are responsible for limiting the number of installed antennas. Notice that in case of omnidirectional antennas the number of used links does not influence the number of antennas that have to be installed, as there is just one antenna at every node.

3.4 Reliability

In our model we consider all single failures of network interfaces, i.e., antennas. We say that a network is reliable, if in case of any failure the minimum flow f among total flows assigned to mesh routers is greater or equal to αf . The quantity f is equal to the maximal minimum flow when failures are not present, and α is a fixed given number from interval [0,1]. Notice that in the scenario with omnidirectional antennas reliability implies that the number of additional interfaces has to be equal at least to \(|\mathcal {R}| = |\mathcal {V}|-|\mathcal {G}|\) for any α>0. In case of the scenario with directional antennas, the number of additional interfaces is much smaller as shown by numerical results in Sect. 4.

3.5 Problem

We are now able to present mathematical models that encompass the specific features of WMN, the impact of directional antennas, and the notion of reliability. In our studies we use two tightly connected formulations. The first (simpler) is called the flow maximization model. It deals only with the nominal state and does not consider reliability. The second (more complicated) is called the resource minimization model. It uses the optimal objective value of the first model and takes into account reliability.

Flow maximization model

(2a)
(2b)
(2c)
(2d)

Problem (2a)–(2d) finds the maximal minimum flow that can be supported by the network. Constraint (2b) expresses the flow conservation law, where the right hand side (i.e., variable f) is the total bandwidth that is designated to the router \(v \in \mathcal {R}\) associated with this particular constraint. Note that this is a common value f that is maximized through objective (2a). Recall that we assume that each gateway can deliver as much flow as needed and that gateways do not transit traffic. Constraint (2c) assures that a capacity of any clique in a conflict graph is not exceeded. More precisely, since \(\frac {f_{a}}{c_{a}}\) is in fact a fraction of time of network operation that is required to send the flow f a (expressed in Mbps) over a link of a constant capacity c a (also expressed in Mbps), constraint (2c) makes it possible, for each clique, to realize the clique’s link loads one by one. Observe that this constraint also indirectly assures that for no link its capacity is exceeded by its load, i.e., f a c a , for all \(a\in \mathcal {A}\). Constraint (2d) assures nonnegativity of variables.

The value of the optimal objective (2a) is denoted by f and is used as a constant in the next model.

Resource minimization model

(3a)
(3b)
(3c)
(3d)
(3e)
(3f)
(3g)
(3h)
(3i)
(3j)

Formulation (3a)–(3j) minimizes the number \(\sum_{e \in \mathcal {E}} 2 \cdot(x_{e} + y_{e})\) of installed antennas required to fulfil the reliability requirements for a network flow maximized through model (2a)–(2d). Constraint (3b) expresses the flow conservation law for each state in \(\mathcal {S}\) (i.e., for all single link failures and the nominal state). The right hand side is a total flow in state s that is designated to router \(v \in \mathcal {R}\) associated with a particular constraint. A total flow designated to routers can differ between failure states. Constraint (3c) assures that a capacity of any clique in a conflict graph is not exceeded in any failure state. Constraints (3d) and (3e) set the values of x e and y e for each link. Recall that a pair of antennas creates two oppositely directed arcs. Note that for each state \(s \in \mathcal {S}\) in an optimal solution each link can be used in only one direction, as otherwise we would have a loop that could be removed from the solution. However, the direction of a flow on a link can certainly change between failure states. Constraint (3g) ensures that the minimum flow in the nominal state f 0 is equal to maximal minimum flow f computed by (2a)–(2d), while constraint (3f) assures that a network is reliable, i.e., forces the minimum flow in all failure states to be at least αf . Constraint (3h) assures consistency of variables x and y, while constraints (3i) and (3j) are binarity and nonnegativity constraints, respectively.

The problem we consider is to minimize the number of used directional radio interfaces that allow for providing a reliable WMN with fair share of resources (maximizing the minimum flow). We notice that the maximal minimum flow can always be made the same for any α∈[0,1] by putting \(y_{e} = x_{e}, e \in \mathcal {E}\), i.e., by providing 1:1 backup for each link. Such a modification is feasible and uses the same flows in all states. Therefore, for a given topology we first solve (2a)–(2d) and treat its objective value f as a constant while solving (3a)–(3j). Obviously, solving (3a)–(3j) gives us the solution—the number of directional antennas needed to provide a WMN maximizing the minimum flow and characterized by a given reliability constant α.

It has to be emphasized that neither (2a)–(2d) nor (3a)–(3j) guarantees that a feasible scheduling exists. However, in great majority of practical scenarios constraints (2c) and (3c) assure the existence of a feasible scheduling [15]. In order to assure 100 % certainty, models based on [20, 27] can be used to verify a solution.

3.6 Validation

First of all, it has to be verified if a solution provided by (2a)–(2d) is implementable, i.e., there exists a scheduling that provides it. In order to explain the validation process, the notion of compatible sets has to be elaborated. A compatible set is a set of links that can simultaneously transmit without jamming each other. In other words, if all links of a compatible set are transmitting simultaneously, SINR constraints are satisfied for all of them, i.e., constraints (1a)–(1b) are satisfied for all pair of arcs in a compatible set.

Using the notion of compatible sets the verification can be easily done by solving the following formulation.

Flow validation model

(4a)
(4b)
(4c)

Formulation (4a)–(4c) does not have an objective function, as its sole goal is to verify if a solution provided by (2a)–(2d) can be implemented. First, constraint (4a) divides available time resources between compatible sets. It assures that two links which, due to interferences, cannot transmit simultaneously will not be active at the same time. Second, constraint (4b) assures that selected compatible sets provide enough capacity at links. Note that \(f_{a}^{*}\) in (4b) is a constant equal to an optimal value of variable f a from (2a)–(2d), thus the only variable in the formulation are z i (notice that c a are constant and depend on a topology of a network). The problem is that the number of those variables grows exponentially with the size of a network. Fortunately the problem can still be solved efficiently using column generation [20]. It is worth to emphasize that the model does not optimize routing and its running times are significantly smaller, thus it can be successfully used for verification.

If model (4a)–(4c) has a feasible solution then the obtained maximal minimum flow can be achieved, and a solution to (3a)–(3j) should be verified now. However, if (4a)–(4c) does not have a feasible solution then the following formulation merging (2a)–(2d) and (4a)–(4c) should be solved.

Extended flow maximization model

(5a)
(5b)
(5c)
(5d)
(5e)
(5f)

Formulation (5a)–(5f) merges routing issues from (2a)–(2d) with scheduling issues of (4a)–(4c). It is used instead of (2a)–(2d), when the validation performed by (4a)–(4c) fails.

If either validation test (4a)–(4c) is successful or extended formulation (5a)–(5f) is solved and also a solution to (3a)–(3j) is obtained then the second phase of the validation process, which confirms existence of a feasible scheduling for an obtained solution to (3a)–(3j), should take place. This process is divided into steps. First of all, it has to be verified, if there exists a feasible solution to (3a)–(3j) that uses the same set of directional links but divides traffic in a different (feasible from the (6a)–(6c) viewpoint) way. It can be done solving the following model.

Resource validation model

(6a)
(6b)
(6c)

Formulation (6a)–(6c) is similar to (4a)–(4c). The only difference is that in the former all failure states has to be taken into account. However, notice that it can be decomposed on s indices, thus from the mathematical point of view they are the same and all the technics used to solve (4a)–(4c) can be also applied here.

If model (6a)–(6c) has a feasible solution then the considered problem is solved and a solution to (3a)–(3j) can be implemented. However, if (6a)–(6c) does not have a feasible solution then appropriate steps have to be taken in order to solve the problem. First of all, it has to be verified, if there exists a feasible solution to (3a)–(3j) that uses the same set of directional links but divides traffic in a different (feasible from the (6a)–(6c) viewpoint) way. It can be done solving the following model.

Routing model

(7a)
(7b)
(7c)
(7d)
(7e)
(7f)
(7g)
(7h)
(7i)

Formulation (7a)–(7i) merges (3a)–(3j) and (6a)–(6c), but it is solved for only one configuration of antennas (replaces variables x e and y e by constants \(x_{e}^{*}\) and \(y_{e}^{*}\)). This operations make the problem linear. However, the number of variables in the formulation again grows exponentially with the size of the problem. Luckily, also in this case the column generation can be successfully used. If we decided to keep integer variables x e and y e in the formulation then the problem would have to be solved using more sophisticated technics like branch & price. Notice that, although formulation (7a)–(7i) is not a validation model, it does not have an objective function. The reason is that all the routing solutions it can provide will be equivalent in term of costs seen from the point of view of (3a)–(3j), because they all use the same set of directional antennas.

If formulation (7a)–(7i) is solvable then its solution is a feasible and implementable solution to the considered problem. However, when the formulation does not have a solution then (3a)–(3j) has to be resolved with additional constraints that assure a different solution. The goal can be obtained in the following way. Consider sets \(\mathcal {X}=\{x_{e}:x_{e}^{*}=1\}\) and \(\mathcal {Y}=\{y_{e}:y_{e}^{*}=1\}\) containing variables that were equal 1 in an optimal solution to (3a)–(3j). Then the constraints that has to be added to (3a)–(3j) are as follows.

(8a)
(8b)

The former assures that a set of installed antennas will be different from the previously obtained set. The latter imposes the same value of the objective function. The obtained solution to the augmented (3a)–(3j) has to be verified using the above procedure. If (3a)–(3j) is unsolvable because of added inequalities then all the above constraints should be erased and the following constraint should be added instead.

$$ \sum_{e \in \mathcal {E}} (x_e + y_e) > |\mathcal {X}|+|\mathcal {Y}| $$
(9)

Summarizing, the complete algorithm is as follows.

Algorithm 1 seems to be complex. However, in great majority of practical cases is reduces to solving (2a)–(2d), validating it using (4a)–(4c), solving (3a)–(3j), and validating it using (6a)–(6c).

Algorithm 1
figure 2

Network design problem

3.7 Solution techniques

It has to be emphasized that both (2a)–(2d) and (3a)–(3j) are non-compact formulations, as the number of possible maximal cliques of a conflict graph is exponential in the size of a network, thus the number of constraints (2c) and (3c) also grows exponentially. A common strategy for solving such problems involves constraint generation techniques (adding violated constraints at each node of a B&C tree). However, in our case, first, the constraint generation problem is to find a maximum weighted clique, thus it is \(\mathcal {NP}\)-hard, second, the complexity of generating all maximal cliques is comparable to the complexity of finding the maximum clique. Finally, our preliminary research has shown that the number of generated constraints is usually roughly equal to 30 % of the number of all possible constraints. Therefore, in our experiments we decided to generate all maximal cliques beforehand, and add them to the MILP model. Our implementation of an algorithm presented in [8] that lists all maximal cliques of a graph runs for less than one second for all test cases of Sect. 4.

Notice that both validating formulations, i.e., (4a)–(4c) and (6a)–(6c), are also non-compact. However, in this case the number of variables, not constraints, is an issue. The problem can be solved using column generation technics. However, in test cases considered in this paper it was enough to generate all feasible, maximum compatible sets, and use all of them in (4a)–(4c) and (6a)–(6c), as in the worst test case only 1856 compatible sets existed.

Formulation (3a)–(3j) uses \(M^{s}_{a}\) constants—fixed numbers that must be greater than or equal to the optimal flows \(f^{s}_{a}, a \in \mathcal {A}, s \in \mathcal {S}\). It is well known (and will be illustrated in Sect. 4) that for efficiency of the branch-and-bound algorithms it is important that \(M^{s}_{a}\) are as small as possible, because they directly affect the quality of lower bounds provided by linear relaxations of (3a)–(3j). Certainly, \(M^{s}_{a} = c_{a}\) can always be used. Still, much better values of \(M^{s}_{a}\) can be computed through a linear program using the following notation.

Input

A :

the fixed arc, \(A\in \mathcal {A}\), v A mesh router that ends A

Variables

f a :

flow on arc a that has not used arc A

g a :

flow on arc a that has used arc A before reaching a

F v :

flow destined to router v that has not used arc A

G v :

flow destined to router v that has used arc A before reaching router v.

The problem below is solved for each \(A \in \mathcal {A}\).

Arc-usage maximization model

(10a)
(10b)
(10c)
(10d)
(10e)
(10f)
(10g)
(10h)
(10i)
(10j)

Then we can set \(M_{A}^{0}\) to maxf A . In order to get \(M_{A}^{s}\) for the failure states we have to solve (10a)–(10j) with (10g) replaced by F v +G v =αf .

Formulation (10a)–(10j) maximizes a flow that can be transmitted on arc A. One may think that the same result can be obtained by solving (2a)–(2d) with an objective maxf A . However, in such a case, it is impossible to avoid loops on variables f a that increase the value of f A . In case of (10a)–(10j) such loops cannot be generated as flows that have used arc A (resp. have not used arc A) use different sets of variables, namely g a (resp. f a ).

4 Numerical results

We tested numerically the models presented in Sect. 3 using 15 different network topologies, generated randomly in the following way. First, nodes were randomly located inside a square. Then, a value of transmitting power (the same for all gateways and routers) was set to the minimum value that keeps the network connected (we followed [14] and assumed the path loss exponent of 4). MCSs were set to the fastest among those that are able to operate with SNRs resulting from the selected transmission power and the locations of routers. The assumptions presented above may seem unpractical. However, their goal is to obtain test cases consisting of: set of nodes, conflict graph, and MCSs for each possible transmission. After obtaining test cases, the questionable assumptions, e.g., the same transmitting power for all gateways and routers, are not visible.

The models were solved using CPLEX 12.1 [16] on Intel Core 2 Quad CPU Q6600 2.40 GHz with 4.00 GB RAM running 64-bit Windows 7.

In Table 2 the test cases are presented together with the number of radio interfaces required. The first six columns of this table describe tested topologies, while the following six columns give results concerning the number of required antennas. The meaning of the first six columns is as follows.

#:

identification number of a test case (the same numbers are used in Table 3)

\(|\mathcal {R}|\) :

number of mesh routers

\(|\mathcal {G}|\) :

number of gateways

\(|\mathcal {A}|\) :

total number of radio interfaces that can be installed

CFL:

number of edges in a corresponding conflict graph

\(|\mathcal {C}|\) :

number of maximal cliques in a conflict graph

The following six columns contain the numbers of required antennas for different values of α given in the second row of the table. It is worth to notice that two columns among the six deal with the case α=0.25. The reason is that for this value of α we decided to evaluate the impact of the \(M_{a}^{s}\) generation strategy presented in Sect. 3.7. Results in the column marked as (LP) have been obtained using the LP formulation of Sect. 3.7 for generating \(M_{a}^{s}\), while results in the column marked by (c a ) have been obtained by setting \(M_{a}^{s}=c_{a}\). Note that in some cases the number of required antennas is given in the form a-b which means that a 2-hour time limit was reached for this test case and the best found upper bound is a, while the obtained lower bound is b.

Table 2 Required number of antennas

The first conclusion that we draw from the results is that usually the minimum number of directional antennas that connects a network is not sufficient for maximizing the flow. The minimum number of antennas was enough to obtain the maximum flow only for test cases #: 3, 4, 5, 10, 11, and 13. The second conclusion is that in order to obtain even the basic reliability (by the basic reliability we understand α=0.05), a significant increase in the number of directional interfaces is required, ranging from 8 % in test case #2 to 76 % in test case # 13, with the mean value of 34 %. However, this additional investment usually results in much greater reliability than the basic one. When 100 % reliability is required, the increase in the number of antennas ranges from 46 % to 100 %, with the mean value of 80 %.

In Table 3 the running times are presented. The first column of this table contains the identification numbers of the test cases (they correspond to the values from Table 2), while the following columns contain the running times for different values of α. Again, a number of different columns correspond to α=0.25. Three of them deal with the model enhanced by the \(M_{a}^{s}\) generation strategy presented in Sect. 3.7, and are marked by (LP). Another two columns, marked by (c a ), have been obtained by setting \(M_{a}^{s}=c_{a}\). Those five columns have the following meaning: prepare—is listed only for (LP) and contains time needed to compute all values of \(M_{a}^{s}\), note that for (c a ) we just take \(M_{a}^{s}=c_{a}\); solve—contains the time needed by CPLEX to solve the problem to optimality; prove—contains time needed by CPLEX to prove optimality of a solution, when the solution is given beforehand. This time was obtained by running CPLEX with an upper bound set to the value of an optimal solution found while filing column prove minus one (as only integral objective values are feasible for this problem). Notice that for the test case #12 we were not able to find an optimal solution for α=0.25. However, we have found an optimal solution for α=0.05 whose objective value is equal to the upper bound for α=0.25 (LP). Therefore, we can treat this value as optimal for α=0.25 and fill the column prove for it. For all test cases a 2-hour time limit was set. The test cases that exhaust the time limit are marked with an asterisk. The column marked by validate presents time needed to validate a solution. For all test cases the validating algorithm reduced to its simplest form, i.e., solving (2a)–(2d), validating it using (4a)–(4c), solving (3a)–(3j), and validating it using (6a)–(6c).

Table 3 Running times

First notice that the computational difficulty of the problem increases with α. The reason is that for bigger α the importance of (3c) increases, and it becomes more difficult to find a solution that satisfies this constraint. Also observe the impact of \(M_{a}^{s}\) on the running times. In most cases the running time decreases significantly when \(M_{a}^{s}\) are precomputed using the LP method of Sect. 3.7. The last conclusion is the importance of finding an upper bound of good quality. It is often the case in network optimization that finding an optimal solution is relatively simple. However, proving its optimality becomes a challenge [19]. Our results show that in this problem finding an optimal solution is also very important, as having it from the beginning significantly reduces computational time.

5 Conclusion

In the paper we have introduced two mixed-integer programming formulations that allow to simultaneously characterize routing patterns and transmission schedules, one for the case where the max-min flow is of interest, and the other (involving reliability constraints) that minimizes the number of used antennas. We have discussed a way of solving the considered problems, and presented an extensive numerical study that illustrates the efficiency of the solution algorithm. We also provided an algorithm capable of verifying feasibility of obtained solutions. Moreover, in rare cases of failed verification, the algorithm provides additional constraints that should be added to the problem.

Further work in this field should analyze the impact of using antennas of different radiation patterns and/or different transmitting power. A problem where MCSs are not given in advance (are subject to optimization) is also challenging.