1 Introduction
The Angular Constrained Minimum Spanning Tree Problem (MSTP) is a combinatorial optimization problem with a strong computational geometry flavor. It is defined in terms of an angle and a complete undirected graph , with vertices and edges. Every vertex of corresponds to a point in the Euclidean plane. An edge represents the line segment connecting and . A weight , corresponding to the Euclidean distance between the endpoints and , is assigned to each edge of . The weight of a spanning tree is the sum of the weights of its edges, . A spanning tree of is an spanning tree (ST) if, for every vertex , the smallest angle enclosing all line segments corresponding to its incident edges does not exceed . MSTP looks for an ST with the minimum possible weight.
In order to illustrate the geometry of the Angular Constraints (ACs), consider the points indicated in Figure 1. Horizontal and vertical coordinates for each vertex (or, equivalently, point in the plane) are given in Table 1. Take , for instance. Edges , and cannot simultaneously belong to a ST of since the smallest angle enclosing all these edges has radians. To validate such an observation, assume that to each edge incident to
corresponds an unitary vector (under the Euclidean norm) directed from
towards the other endpoint of the edge. All unitary vectors associated to the edges depicted in Figure 1 are plotted in Figure 2. Thus, , and are the unitary vectors, directed from towards the other endpoints of edges , and , respectively. Note that the circular sector obtained by rotating vector anticlockwise round , passing by , until it reaches , involves radians and that exceeds the maximum value of . As another example, consider the edges , . Note that there is a circular sector of at most radians that covers both unitary vectors and . For instance, consider the sector that starts precisely at and spans radians anticlockwise round . That sector ends radians past and thus contains both unitary vectors. Thus, these two edges could be included in a ST of .Coordinates for the Euclidean plane points  
vertex of  horizontal  vertical  
0  0  
3  
1  
1  1  
1  1  
2  2 
MSTP suits well as a model for the design of wireless networks that rely on directional antennas. Such antennas concentrate power in directions that span restricted angles and, because of that, have some advantages over omnidirectional antennas, that irradiate power in all directions Carmin et al. (2011). They are able to reduce energy consumption, network congestion and signal interference Carmin et al. (2011); Ackerman et al. (2013); Yu et al. (2014).
To illustrate how the ACs affect communication in these applications, consider the points indicated in Figure 1 and and assume that one directional antenna is placed at each point indicated there. Consider as well the unitary vectors associated to the edges incident to , indicated in Figure 2. Direct communication between and any of its neighbors in , say , can only take place if the orientations of the directed antennas placed at and allow the signal sent by to be captured by and viceversa. Suppose all antennas concentrate power in directions spanning angles of . Associated to each antenna there is a cone (of signal) that defines the angular sector where power is concentrated. The cone is defined by the point where it is placed and by its two unitary extreme rays. If one of the rays of the cone placed at is the vector and the other ray ends radians anticlockwise round from , the signal sent by can reach points and of Figure 1. In such a simplified model, these two points capture the signal sent by no matter how far they are from the source . The remaining vertices do not capture the signal sent by because they lie outside the cone. We say that points and are seen by the antenna placed at . If, in addition to that, the orientation of the antenna placed at allows to capture the signal sent by , and can communicate directly. Accordingly, edge can belong to a ST of the associated undirected graph.
To the best of our knowledge, Aschner and Katz Aschner and Katz (2017) and Cunha and Lucena da Cunha and Lucena (2019) are the only two references dedicated to the problem. Aschner and Katz Aschner and Katz (2017) introduced MSTP and demonstrated the NPCompleteness of its decision version for . From an algorithmic perspective, they introduced approximation methods for different values of and efficient algorithms for some polynomial time solvable cases.
Following another line of research, Cunha and Lucena da Cunha and Lucena (2019) introduced two different integer programming (IP) formulations for MSTP: , a formulation defined on the natural space of edge variables and , an extended formulation that also uses a second set of variables, . uses for choosing the edges in the spanning tree and to enforce the ACs. Formulation , on the other hand, only needs the first set of variables since the ACs are enforced by different modeling arguments that do not require the use of . Both formulations were investigated and compared from a polyhedral point of view. The role of
on the relative strength of these formulations was investigated as well. A constructive heuristic and two Branchandcut algorithms (BC),
BCFXY and BCFX, respectively based on formulations and , were also implemented and tested there.From now on, denote by
the Linear Programming Relaxation (LPR) bounds provided by any
MSTP formulation .1.1 Our contribution
In this paper, we present improved formulations for MSTP. The first, , differs from in minor details. does not include one set of (nonredundant) constraints that arise in the definition of . We show that always holds, despite the fact that may be strictly contained in . In addition, we show that the vector of variables does not need to be integer constrained. Our second formulation, , builds on formulation from da Cunha and Lucena (2019) and includes some new valid inequalities, characterized here. One of these families of valid inequalities is actually a lifting of valid inequalities used in to enforce the ACs. Alone, the inclusion of these lifted inequalities to lead to a much stronger formulation, . We showed that the projection of (and ) onto the space is contained in , so that holds. The question of whether these LPR bounds do match is still open; in all our numerical testings, these two values were identical, though. We also characterized a Stable Set Structure in solutions for MSTP, for . Thus, we investigated the use of valid inequalities for the Stable Set polytope Padberg (1973), to strengthen LPR bounds for MSTP. The resulting reinforced formulation, , is empirically shown to provide the strongest known MSTP LPR bounds for the MSTP instances tested here, the hardest in the literature.
On the algorithmic side, we introduced two Branchandcut (BC) algorithms, BCFXY and BCFX, respectively based on and . We extended the computational experiments conducted in da Cunha and Lucena (2019), considering now additional values of in the range , to which correspond the hardest instances of the problem. Our computational results suggest that, thanks to the strength of LPR bounds , BCFX outperforms its competitors, being able to solve more instances to proven optimality within a two hour CPU time limit. As a by product, algorithm BCFX provides 8 additional optimality certificates for instances coming from the literature.
The remainder of the paper is organized as follows. In Section 2, we complement the notation described so far. Formulations and from da Cunha and Lucena (2019) are reviewed in Section 3 while our improved ones are presented in Section 4. The BC algorithms BCFXY and BCFX based on these enhanced models are discussed in Section 5. In Section 6, we numerically evaluate the quality of the LPR bounds introduced here and compare four MSTP BC algorithms, two introduced here and two coming from da Cunha and Lucena (2019). We close the paper in Section 7, indicating directions for future research. The paper also includes an Appendix, where the projection of onto the space is shown to be contained in . Aggregated computational results presented in Section 6 are complemented with an online supplementary document, where more detailed computational results are offered.
2 Notation
For every , denote by (resp. ) the edges of with one end vertex (resp. the two end vertices) in . For simplicity, if contains a single vertex, say vertex , we use instead of . Similarly, given a spanning tree of , denotes its incident edges. The set of all spanning trees of , satisfying the ACs or not, is denoted by .
The remainder of this section is dedicated to presenting the notation used to mathematically formalize the ACs. The notation used here is precisely that introduced in da Cunha and Lucena (2019); the figures and drawings we make use to present the notation were extracted from da Cunha and Lucena (2019). The definitions that follow are illustrated for the edges and vertices depicted in Figure 1, whose horizontal and vertical coordinates are given in Table 1.
We define the set of unit vectors that are collinear and have the same directions as those vectors having as their initial point and as their terminal ones as . Note that vectors in set are directly associated to the edges of . All vectors associated to the edges in plotted in Figure 1 are indicated in Figure 2 which also plots an additional vector, . For every , is the vector equal to , i.e., a vector with the same magnitude and direction as but whose initial point is placed at . We define by the closed unit disk centered at . The boundary of , where all terminal points of the vectors in are located, is also indicated in Figure 2.
We define as the anticlockwise angle that forms with . For every vector in Figure 2, corresponding angles are shown in Figure 3. The angle obtained by rotating, say , anticlockwise around until it becomes collinear with for is denoted by . Similarly, is the angle obtained when moves anticlockwise round until is met.
Angles and can be computed quite easily. To that aim, let , if , and , if otherwise applies. It then follows that . Angle may be computed in a similar fashion. When and are collinear and point at the same direction, the two vectors are the same. In that case, applies. Thus, results. Conversely, if and are different vectors, then holds. Table 2 indicates the corresponding angles
for every ordered pair of distinct vectors
and in . In addition, the table also highlights the largest of these values, for every individual vector in that figure.For a given subset , define as the subset of vectors of that correspond to the edges of . The edges in satisfy the AC if and only if one is able to find a circular sector for disk , with at most radians round , that encloses all vectors in . We now discuss how to compute appropriate angles and check whether or not a given set of edges meet such requirements. By rotating any given anticlockwise around , the angles that forms with every can be easily computed. Out of these angles, assume that is the one with the largest value and consider the circular sector it implies in disk . Apply the procedure to every individual and compute the largest of these values. After these maximum angles were computed, one just need to keep the one with the smallest angle. Denote it by and its central angle by and note that this is the circular sector we seek. Computing thus requires the identification of one circular sector for every , i.e., the one with the largest central angle . Among these, the one with the smallest central angle then defines . For the vertices indicated in Figure 1, and thus , note that then results. Note that the last column in Table 2 gives the maximum angular sector for each . The smallest of these values, corresponding to and , has radians.
For every and every , define
Now note that if and only if one reaches or goes past by rotating anticlockwise around by an angle of radians. Therefore, all vertices are such that , which is equal to either or , by definition, satisfies ]. For the unit vectors in Figure 2, Table 3 shows the different sets that apply to every different value .
We can now address the central question of deciding whether a spanning tree is feasible or not, depending on the spanning tree edges incident to each of its vertices. The procedure in charge of that checks the satisfaction of ACs for one vertex at a time, as follows. Define as the smallest angled circular sector that simultaneously encloses all vectors in . If is a leaf of , define . Otherwise, if applies, is then given by
(1) 
If holds for every , is an ST and is therefore feasible for the problem. Computing could be made simpler, provided that the edges of incident to , (), are conveniently sorted. Thus, suppose that holds. Given this sorting, note that forms a largest possible angle with , does that with and so on. Assuming that , for simplicity, may then be efficiently computed in time complexity by direct comparison of just angles as
(2) 
3 IP formulations coming from the literature
Given the definitions provided earlier, MSTP consists in the following combinatorial optimization problem
(3)  
(4) 
Two MSTP IP formulations, and , were introduced in da Cunha and Lucena (2019). They use a binary vector of decision variables for selecting spanning tree edges. If , is chosen for the spanning tree and applying otherwise. To enforce the spanning tree structure, both formulations impose that , the latter being the polytope defined by the intersection of constraints (5)(7). It is widely known that in an integer polytope whose extreme points give the incidence vectors of the spanning trees of Edmonds (1971).
(5)  
(6)  
(7) 
The two formulations and differ in how the generic ACs (4) are represented by linear inequalities and by the use or not of an additional set of variables to enforce them.
3.1 Formulation
Formulation uses a second vector of decision variables, , to enforce the ACs. The role played by these variables can be easily understood if one resorts to the MSTP application we highlighted before. These variables aim at aligning the directional antennas, allowing applicable pairs of points to communicate directly. The positioning of each antenna round can be represented by two extreme rays. The role of variables is thus to locate the first of the two extreme rays for each . Accordingly, implies that the antenna placed at has the first of its two extreme transmission rays collinear with . The other extreme ray is then positioned, anticlockwise, radians away from . The antenna then concentrates power in the sector . In that case, an edge can be included in the spanning tree if can see (i.e., ) and viceversa.
Formulation is defined as the intersection of and
(8)  
(9)  
(10)  
(11) 
Constraints (8) impose that precisely one vector in defines the positioning of the first antenna ray, for every . Constraints (10) define which edges are admissible, depending on which variables were activated. Constraints (9) also couple variables and . They state that cannot be activated unless holds.
Cunha and Lucena da Cunha and Lucena (2019) introduced the following MSTP formulation
(12) 
that explicitly enforces variable to be integer constrained.
3.2 Formulation
Differently from formulation , redefines the generic AC, (4), as a set of exponentially many valid inequalities, solely based on variables . To explain how, consider a subset of edges , , , indexed so that
(13) 
applies and is used, for convenience. Cunha and Lucena da Cunha and Lucena (2019) proved that if
(14) 
or equivalently, if holds,
(15) 
is then valid for every ST, since no angular sector of radians encloses all edges in . The statement (15) translates into the following set of exponentially many MSTP valid inequalities
(16) 
In the remainder of the text, a subset with at least two edges, satisfying conditions (13) and (14), is called nonadmissible. Conversely, any given set satisfying the ordering (13), for which (14) does not hold, is called ST admissible. Subsets with just one single edge are also admissible.
Cunha and Lucena da Cunha and Lucena (2019) proved that MSTP can be formulated as
(17) 
4 Improved MSTP formulations
This section presents the improved formulations and , that respectively build on formulations and , discussed earlier. The first part of this section suggests minor changes to that lead to an equally strong formulation, . The second part presents new MSTP valid inequalities, used to reinforce . Some of these new inequalities are already satisfied by . Others, as our numerical results demonstrate, are not.
4.1 Improvements on formulation .
Define as the intersection of inequalities (5)(8), (10)(11). The improvements come from two results, to be demonstrated in the sequence: (i) variables do not need to be integer constrained and (ii) the removal of inequalities (9) do not impact on the LPR bounds .
To address the first result, consider the following remark. For a given , define . Then, there exists at least one edge such that if and, if there is exactly one edge , such that . To see that such an observation applies, assume the contrary, i.e., there is no . Summing up inequalities (10) for the edges in and recalling that , we have:
a contradiction follows. Now note that if holds, no two edges and simultaneously satisfy and . Thus, there is exactly one vertex , for the case. We can now state the following two propositions.
Proposition 1.
If and , then .
Proof.
Pick the edge such that . Now suppose . Again, summing up inequalities (10) for each we have:
and we have a contradiction. Thus, for any and . ∎
Proposition 2.
If and , then there exists such that .
Proof.
Pick such that . Now set and for all vectors such that and the result follows. ∎
As a consequence of Propositions 1 and 2, any vector for which there is an associated satisfying defines the incidence vector of an ST of . Thus, variables do not need to be explicitly enforced to assume only integer values.
Before showing the second result, consider the case where , and . Consider the point such that and for any . Note that the point does satisfy constraints (8), (10)(11) and is a set of admissible edges. However, constraint is violated if and constraint is violated if . The example thus shows that may be strictly contained in .
Proposition 3.
For any , there is a vector such that and thus applies.
Proof.
We provide a constructive proof, based on the algorithm below. The algorithm receives and , as input, and outputs vector . After calling the algorithm times, each one for a different , the vector has the desired property.
Algorithm:

(Early termination checking) If there is no edge , then stop. Otherwise, move on to the next step.

(Initialization)

(Renaming edges) Define and do:

Rename edge as .

Starting from , rotate anticlockwise round and rename the remaining edges in as , so that
where . For convenience, denote .


For each do

Calculate .

Update:
(18) (19)


Restore the original edge names and vector accordingly.
The very first observation is that the algorithm above does not change the component of the solution. Thus, the costs of and are identical. Our claim is that, after calling the algorithm above for each , and the result follows. To show that, consider the following arguments:

satisfies constraints (8).
At each of the iterations of the algorithm above, holds. That applies due to the initialization and because is always added and subtracted respectively to and from . 
satisfies constraints (9).
It is quite clear that after the updates in step 4(b), for each . We now show that after the th update in step 4(b), when is updated (and thus when is updated for the second time), we have since . We have that and, because , holds (undirected cutset constraints are satisfied when SECs are satisfied). Thus, in the last update, when , there is no excess left to be transferred and . In fact, at the th iteration, is actually not updated, remaining at its previous value. 
satisfies constraints (10).
Consider three consecutive vectors in :
Comments
There are no comments yet.