Journal of Graph Algorithms and Applications Constructive Algorithms for the Partial Directed Weighted Improper Coloring Problem

Given a complete directed graph G with weights on the vertices and on the arcs, a θ-improper k-coloring is an assignment of at most k different colors to the vertices of G such that the weight of every vertex v is greater, by a given factor 1 θ , than the sum of the weights on the arcs (u, v) entering v with the tail u of the same color as v. For a given real number θ and an integer k, the Partial Directed Weigthed Improper Coloring Problem (PDWICP) is to determine the order of the largest induced subgraph G of G such that G admits a θ-improper k-coloring. This problem is motivated by a practical channel assignment application where the objective is to maximize the number of simultaneously communicating mobiles in a wireless network. We consider three constructive algorithms for the standard vertex coloring problem, and adapt them to the PDWICP. We show that they perform better than today's phone operator systems based on decentralized channel assignment strategies such as fractional frequency reuse.


Introduction
Let M = {m 1 , • • • , m n } be a set of mobiles and S = {s 1 , • • • , s t } be a set of base stations in a wireless communication network.Let P ip denote the received power at s p of a signal from m i .We denote by a(i) the index of the base station to which mobile m i is assigned (i.e., m i is assigned to s a(i) ), and by c(i) the channel assigned to m i .Let M be the subset of mobiles using any given channel , i.e., m i ∈ M if and only if c(i) = .An admissible channel assignment scheme would require that the power of all received signals at their assigned base stations are greater, by a given factor 1  θ , than the sum of interfering powers received from mobiles which are assigned the same channel.More precisely, we have the following constraints: where 1 θ is the minimal admissible Signal-to-Interference Ratio (SIR).The current technology can easily deal with an SIR = 6 dB (i.e. 1  θ = 8), and sometimes with an SIR < 3 dB (i.e. 1  θ < 2).The optimization problem we are interested in can be formulated as follows: given a set of channels and a set of mobiles assigned to their base stations, which channel should each mobile be assigned to, in order to maximize the number of mobiles respecting constraints (1)?This problem, posed by the wireless communications industry (see [5]), can be modeled as a coloring problem.More precisely, let G = (V, A, W, ω) be a directed graph with vertex set V , arc set A, and with two functions W and ω that associate a weight W (v) to every vertex v ∈ V and a weight ω(u, v) to every arc in G. Given any real number θ and any integer k, a function c : V → {1, • • • , k} is a θ-improper k-coloring of G if the following constraints are satisfied: For a real number θ, the Directed Weighted Improper Coloring Problem (DWICP) is to determine the minimum integer k such that G has a θ-improper k-coloring.
Since the addition of zero weight arcs does not change the problem, we can assume without loss of generality that G is complete.The DWICP was studied in [5] for the minimization of the number of channels needed to satisfy the demand of all users in a wireless network.Araujo et al. [3] have studied the DWICP in the particular case where W (v) = 1 for all vertices v in G and ω(u, v) = ω(v, u) for all pairs {u, v} of vertices.
The decision version of this problem, denoted k-DWICP, is to determine whether G admits a θ-improper k-coloring, where k and θ are given.The link between the above uplink channel assignment problem and the DWICP is the following.For a set M = {m 1 , • • • , m n } of n mobiles and a set S = {s 1 , • • • , s t } of t base stations, we can construct a complete directed graph G = (V, A, W, ω) with vertex set V = M , with an arc in both directions between each pair of mobiles, and with W (m i ) = P ia(i) and ω(m j , m i ) = P ja(i) .The construction of G is illustrated in Figure 1.It follows from these weight definitions that equations (1) and ( 2) are equivalent, which means that finding a channel assignment satisfying (1) is equivalent to determining a θ-improper k-coloring of G.
base station s a(j) base station s a(i) mobile m i P ia(j) P ja(j) P ja(i) Figure 1 -Construction of a directed weighted graph from a channel assignment problem.
Three important remarks arise from this transformation.First of all, by observing Figure 1, it is possible to model the downlink version of the problem by simply reversing the direction of the arcs.Second, one could take into account the power of thermal noise by adding its value P 0 to the left of inequation (1), which corresponds to adding k dummy nodes x 1 , • • • , x k with weight W (x i ) = 0, with arcs to and from every vertex u ∈ V −{x 1 , • • • , x k } such that ω(x i , u) = P 0 , ω(u, x i ) = 0, and arcs between each pair of dummy nodes with any strictly positive weight.Last but not least, in modern cellular systems, channels are shared in time-frequency blocks; this can be taken into account by multiplying k by the number of blocks.In such a case, the word resource would be more appropriate than channel.In summary, our model could therefore be adapted to reflect more precisely current mobile standards, but this paper aims at validating a simplified version of the model with algorithms from a graph theory point of view.
We study here a slightly different problem, called Partial Directed Weighted Improper Coloring Problem (PDWICP).It is defined on the same directed complete graph G = (M, A, W, ω).The number k of available colors is given as well as θ, and the objective is to color as many vertices as possible while satisfying constraints (2).Consider for example the graph in Figure 2  Figure 2 -At most two vertices can be colored in a 1 2 -improper 1-coloring of G.
Note that the k-DWICP is equivalent to determining whether the optimal value of the PDWICP is equal to the number |M | of vertices in G. Since the k-DWICP is N P−complete ( [5]), we conclude that the PDWICP is N P−hard.

Preliminaries
A region C p called Voronoi cell is defined for each base station s p .It contains all mobiles closer to that base station than to any other.The union of the Voronoi cells defines a Voronoi diagram [6] that divides the geographical area into t regions (where t is the number of base stations).As already mentioned, we denote by a(i) the index of the base station that is the closest to mobile m i (i.e.mobile m i belongs to cell C a(i) ).Also, we denote by b(i) the index of the second closest base station to m i .Each cell has a center and a border defined as follows, where τ ∈ [0, 1] is a fixed parameter.
The algorithms considered in this paper for the PDWICP are all sequential.More precisely, starting from a graph with no colored vertex (mobile), we iteratively choose an uncolored vertex and assign a color (channel) to it, until no more vertices can be colored.The assignment of a color to a mobile must be done without creating too much interference neither for mobile m i , nor for any other mobile m j using channel .Available channels for m i are defined as follows, where M denotes the set of mobiles to which channel is already assigned.
Definition 2 A channel is considered as available for m i / ∈ M if the following constraints are satisfied: Constraints (3) enforce the requirement that the received power at s a(i) of a signal from m i be greater, by a factor 1 θ , than the sum of interfering powers received from mobiles having channel .Constraints (4) make sure that the inclusion of m i in M will not create any violation of constraints (1).
The value of the solutions produced by the proposed heuristic coloring algorithms will be compared with the optimal value of the PDWICP.Such an optimal value can be obtained by solving a Boolean linear programming problem.Indeed, let x vi be a binary variable that equals 1 if and only if vertex v takes color i.The PDWICP is equivalent to the following problem: The objective ( 5) is to maximize the number of colored vertices.Constraints (6) make sure that at most one color is assigned to every vertex.Constraints (7) are equivalent to (2), where α is a large integer (for example, α = n max u,v ω(u, v)) that avoids imposing any restriction if v does not have color i (i.e., if x vi = 0).
The optimal solution of this Boolean linear program can only be obtained for relatively small instances.However, most mathematical programming solvers provide bounds on the optimal value when stopped before the end of the optimization process.We will use the CPLEX optimizer in order to obtain upper and lower bounds on the optimal solution value.Note that we could also solve the above Boolean linear model using a branch-and-price algorithm similar to the one proposed in [5], but this could be the subject of another paper.We focus here on fast heuristic algorithms that can be used for real-time channel assignment.
The rest of the paper is organized as follows.Section 3 is devoted to the description of a popular decentralized channel assignment strategy that will serve as a basis for comparison with the proposed algorithms.In Section 4, we show how to adapt three among the most popular constructive algorithms for the standard vertex coloring problem to the PDWICP.Improvements of these basic algorithms are proposed in Section 5. Computational experiments are reported in Section 6.

Fractional Frequency Reuse
Analyzing the way mobile operators currently perform channel assignment provides a lower bound for the PDWICP.Orthogonal Frequency-Division Multiple Access (OFDMA) is a multi-user version of the popular Orthogonal Frequency-Division Multiplexing (OFDM) digital modulation scheme.The latest OFDMA mobile standards such as WiMAX and LTE allocate channels using a technique called Fractional Frequency Reuse (FFR) [7].We consider FFR as a term of comparison, as we have found it is often the case in literature (see for example [9,10,18]).Practical implementations of FFR in OFDMA-based systems, such as LTE networks are discussed in papers such as [21] or [11].
As the name suggests, FFR implies using the same frequencies over different geographical areas.Every channel can however be used at most once in each cell, which can be written as follows, where F = {1, • • • , k} is the set of channels: If a mobile is in the center (see Definition 1) of its cell C p , then any available channel (see Definition 2) in F can be assigned to it.In order to limit co-channel interference, only a subset F p of frequencies can be used by mobiles located at the border of C p .The subsets F p are typically chosen so that | F p |= |F | 3 and two mobiles in the borders of two adjacent cells do not have access to the same channels.This is possible, for example, if the geographical area is divided into hexagonal cells (see Figure 3).However, when the positions of the base stations are not as regular as in Figure 3, it can happen that the number of frequencies in F p is strictly smaller than |F | 3 .An example is shown in Figure 4 with four base stations so that all pairs of Voronoi cells have adjacent borders.The four color theorem [2] however states that, given any separation of a plane into contiguous regions, no more than four colors are required to color the regions so that no two adjacent regions have the same color.This means that it is always possible Taking into account the above constraints, it is not difficult to derive an upper bound on the number of users that can communicate when using the FFR technique.
Proposition 1 Consider a network with t base stations s 1 , • • • , s t and n mobiles m 1 , • • • , m n .Let x p and y p denote the number of users in the center and at the border of C p , respectively.The following value is an upper bound on the number of simultaneously communicating mobiles when using the FFR technique: Proof: Consider any channel assignment that satisfies constraints (1) and ( 9).If no channel is available for a mobile m i in the center of C p while a channel is assigned to at least one mobile m j at the border of C p , then we can keep the number of simultaneously communicating mobiles constant by assigning channel to mobile m i instead of m j .As a consequence, without modifying the number of communicating mobiles, one can reach a channel assignment so that a mobile in the center of a cell C p has no available channel only if no mobile at the border of C p is communicating.Hence, for such an assignment, at most min {x p , |F |} among the x p users in the center of C p are communicating.Also, at most |F | − x p channels are available for the mobiles at the border of C p , which means that at most min {|F p |, y p , max {0, |F | − x p }} among the y p users at the border of C p are communicating.

Constructive algorithms for the PDWICP
The standard vertex coloring problem (VCP) is to color the vertices of an undirected graph so that no two adjacent vertices receive the same color.Many heuristics have been proposed for this problem and we show in this section how to adapt the most popular ones to the PDWICP.These algorithms are sequential and have thus relatively short execution-times, which is an important criteria for real time wireless networks.
Assume some vertices of G are already colored, and let V ( = 1, • • • , k) denote the set of vertices having color .Suppose we want to assign color to an uncolored vertex v.In the standard VCP, such an assignment is possible only if V does not contain any vertex adjacent to v.For the PDWICP, the coloring has to remain θ-improper when assigning color to v.In order not to violate constraints (2), we have to impose constraints similar to (3) and ( 4).This justifies the following definition of an available color for v. Definition 3 A color is considered as available for an uncolored vertex v if the following constraints are satisfied: Constraint (11) ensures that giving color to v will not create a violation of constraint (2) for v, while constraints (12) avoid such a violation for the vertices u already having color .
Given any partial coloring of G, we consider the following value I (v) which is defined for every vertex v and every color : When no vertex is colored (i.e., V = ∅ for every color ), we have I (v) = 0 for all v ∈ V and all ∈ {1 • • • , k}.When assigning color to an uncolored vertex v (i.e., adding v to V ), the values I (u) can be updated in O(n) time by setting Also, for an uncolored vertex v, it takes O(|V |) time to check whether color is available for v since it is sufficient to verify the following constraints: For a vertex v and a set X of vertices, let deg X (v) denote the number of vertices in X adjacent to v. When selecting the next vertex v to be colored, most sequential algorithms for the VCP use decision rules based on the value deg X (v) computed with a specific set X.For example, the Welsh-Powell algorithm ( [20]) chooses an uncolored vertex v with largest value deg V (v) as next vertex to be colored.For the PDWICP, we use the following measure µ X (v), defined for all v ∈ V and for all subset X of vertices (not necessarily including v): Note that µ X (v) = deg X (v) when all weights (on the vertices and the edges) are equal to 1.In the sequential algorithms of the following sections, we will assume that the values µ V (v) are computed in a pre-processing phase, and that the values I (v) are available at any time (i.e., they are updated each time a vertex is colored).According to the above discussion, these initializations and updates take O(n 2 ) time and do not increase the overall complexity of any proposed algorithm since reading the input file, including the weights on all arcs, already takes O(n 2 ) time.

Adaptation of the Welsh-Powell algorithm
The Welsh-Powell algorithm ( [20]) is a greedy heuristic for the VCP based on a static order of the vertices.It works as follows: the vertices are first ordered by non-increasing values deg V (v); the algorithm then considers the vertices in that order and gives to each one the smallest color (integer) not already used by at least one of its neighbors.We propose a similar algorithm for the PDWICP.More precisely, the vertices are first ordered by non increasing values µ V (v).
Each vertex v then receives the smallest available color ∈ {1, • • • , k} for v.If no color is available for v, then v is not colored.This algorithm, called WP1, can be implemented as shown in Table 1.
Table 1 -First adaptation of the Welsh-Powell algorithm The ordered list L can be obtained in O(n log n) time, since we assume that µ V (v) was computed in a pre-processing phase for every vertex v ∈ V .As already mentioned, testing whether color is available for

Adaptation of the Dsatur algorithm
Given a partial solution of the VCP, the saturation degree of a vertex v is defined as the number of different colors appearing on vertices adjacent to v. The DSATUR algorithm, proposed by Brélaz [8], colors the vertices sequentially, choosing at each step the uncolored vertex with highest saturation degree.If several vertices maximize this value, the algorithm chooses one with a maximum number of uncolored adjacent vertices.The color assigned to the selected vertex is then the smallest color not appearing on an adjacent vertex.
In order to adapt DSATUR to the PDWICP, we define A(v) as the set of available colors for an uncolored vertex v and we consider the set U of uncolored vertices v with A(v) = ∅.At the beginning of the algorithm, U is therefore set equal to the vertex set V , and A(v) = {1, • • • , k} for all v ∈ V .Then, at each step of the algorithm, we consider a vertex v ∈ U with minimum number |A(v)| of available colors.In case of ties, we choose one with maximum value µ U (v).We then remove v from U and assign to v the smallest color in A(v).The sets A(u) are then updated for all uncolored vertices u ∈ U with ∈ A(u) and we remove from U the vertices u for which A(u) becomes empty.The adaptation of DSATUR to the PDWICP, called DSAT1, is summarized in Table 2.Although this is not explicitly mentioned, each time a vertex is removed from U , the values µ U (x) are updated for all vertices x remaining in U .Proof: Since we assume that µ V (v) is computed in a pre-processing phase for all v ∈ V , the initialization phase takes O(nk) time.Each time a vertex w is removed from U , we can update µ U (u) for all u ∈ U by substracting ω(w,u) W (u) .Hence, the total time needed by DSAT1 to perform these updates is in O(n 2 ).

Adaptation of the RLF algorithm
The Recursive Largest First algorithm (RLF), proposed by Leighton [16] for the VCP, builds a sequence V 1 , • • • , V k of color classes.Consider the construction of one color class V , let U denote the set of uncolored vertices, and let W be the set (initially empty) of uncolored vertices with at least one neighbor in V .Every time a vertex in U is chosen to be moved to V , all its neighbors in U are moved from U to W .The first vertex v ∈ U to be included in V is the one with the largest number deg U (v) of adjacent vertices in U .The rest of V is built as follows: while U is not empty, the next vertex to be moved from U to V is one having the largest number deg W (v) of neighbors in W . Ties are, if possible, broken by choosing a vertex with the smallest number deg U (v) of neighbors in U .
Table 3 -FirstAdaptation of the RLF algorithm Move v to V and move to W all vertices in U for which color is no more available; Choose a vertex u ∈ U with largest value µ W (u). In case of ties, choose one with smallest value µ U (u); 10 Move u to V , and move to W all vertices in U for which color is no more available; The adaptation of the RLF algorithm to the PDWICP is done as follows.When constructing V , W is defined as the set of uncolored vertices v for which color is not available (i.e., at least one of constraints (11) and ( 12) is violated if color is assigned to v).Moreover, we use µ U (v) and µ W (v) instead of deg U (v) and deg W (v). The adaptation of RLF to the PDWICP, called RLF1, is summarized in Table 3.Although this is not explicitly mentioned, each time a vertex is moved from U to V or to W , the values µ U (x) and µ W (x) are updated for all vertices x remaining in U .
Proposition 4 This RLF1 algorithm runs in O(n 3 ) time.
Proof: Consider the construction of a color class V .The initial values µ U (u) for all u ∈ U can easily be obtained in O(n 2 ) time, while the rest of Steps 5 and 6 can clearly be performed in We now analyze the time needed to update µ U (u) and µ W (u) for u ∈ U when vertices are moved from U to W or to V .Each time a vertex w is moved from for all x ∈ U .Also, when a vertex v ∈ U is moved from U to V , µ U (x) is decreased by ω(v,x) W (x) for all x ∈ U .Since all vertices of U are moved either to W or to V until U becomes empty, there are O(n 2 ) such updates, each being performed in constant time.When assiging color to a vertex, we have to check in Step 10 whether color remains available for the vertices in U .As already mentioned, this can be done in O(|U ||V |) ⊆ O(n|V |).Hence, the total time needed to perform these tests when constructing

Improved algorithms
Experiments reported in Section 6 will show that WP1, DSAT1 and RLF1 often assign the same color to two vertices u and v for which ω(u, v) or ω(v, u) has a large value when compared to θ W (v) or to θ W (u), respectively.This creates high interference at u or v, which implies that very few other vertices are then added to the color class shared by u and v.We offer two ways to avoid this problem.

Improvement based on the Voronoi diagram
The first improvement technique assumes that G is built from a given set S = {s 1 , • • • , s t } of base stations and a given set M = {m 1 , • • • , m n } of mobiles, as explained in Section 1.This implies that every vertex in G has a geographical location.As mentioned in Section 3, the FFR technique is based on a partition of the geographical area into cells.Users at the center of a cell C p have access to the whole frequency band F , while only a subset F p of the frequencies can be used by mobiles located at the border of C p .We propose to partially imitate such a strategy by considering the frequencies in F p as preferred channels for mobiles at the center of C p .This is now described in more detail.
The Voronoi cell C p associated with every base station s p contains all mobiles closer to s p than to any other base station.The dual of the Voronoi diagram is a graph H = (V H , E H ) with vertex set V H = S (i.e., every base station is a vertex), and edge set E H = {(s p , s q )|C p and C q are adjacent Voronoi cells}.Let d pq denote the Euclidian distance between s p and s q .We first color the vertices of H with as few colors as possible, trying to maximize the minimum distance between two vertices with the same color.This can be achieved by solving a Boolean linear program.Indeed, let D = max 1≤p,q≤t d pq .Also let x pi be a binary variable that equals 1 if and only if vertex s p receives color i, let y pq be a binary variable that equals 1 if and only if vertices s p and s q share the same color, and let z i is a binary variable that equals 1 if and only if color i is used.We consider the following problem. s.t. x x pi , y pq , z i ∈ {0, 1} As already mentioned in Section 3, the four color theorem [2] states that no more than four colors are required to color the vertices of H. Constraints (14) enforce the use of exactly one of the four colors for every vertex of H. Constraints (15) express the fact that adjacent vertices in H cannot have the same color, and relate the x variables to the z variables.Constraints (16) relate the x variables to the y variables.Constraints (17) enforce δ to be at most as large as the minimum distance between two vertices with the same color.The objective ( 13) is to use as few colors as possible, and among such colorings, to find one with maximum value δ.
An optimal solution of this linear program is possibly difficult to obtain for large instances since it contains binary variables.The number of base stations is however typically not too large which makes it possible to obtain an optimal solution in a reasonable computing time.If this not the case, it is then possible to simply build a 4-coloring of H, which is equivalent to finding a feasible solution to the above linear program.The Four Color Theorem gives an O(n 2 ) algorithm to determine such a coloring of the vertices of the planar graph H [19].
So, assume we have found a coloring of the vertices of H, whichever method was used to obtain such a coloring.Let χ ≤ 4 be the number of colors used, and let c(p) ∈ {1, • • • , χ} denote the color assigned to vertex s p .Assume the number k of available colors is a multiple of 12.To each region C p , we associate a subset F p of colors so that F p ∩ F q = ∅ if C p is adjacent to C q , and all sets F p contain k χ colors.This is done as follows.For every Remember that according to Definition 1, a mobile m i is in the center of its cell if and only if P ib(i) P ia(i) ≤ τ , where τ is a given parameter.Hence, the sets S(m i ) of preferred channels depend on τ .For example, if τ = 0, then all mobiles are at the border of their cell and thus all have a preference for a subset of k χ channels; if τ = 1, all mobiles are in the center of their cells, and no priority rule is applied.We will run our algorithms with 11 different values for τ , namely 0, 0.1, 0.2, • • • , 1, and keep the best solution.
For the rest of this section, we assume that each vertex v of G has a set S(v) of preferred colors.WP2, DSAT2 and RLF2 are modified versions of WP1, DSAT1 and RLF1, that take into account these preferences by first assigning a preferred color ∈ S(v) to every vertex v, and then completing the coloring by using non-preferred colors.The three algorithms appear in Tables 4, 5 and 6.It is not difficult to observe that WP2, DSAT2, and RLF2 have the same time complexity as WP1, DSAT1 and RLF1, respectively.
Apply the following COLORING procedure using τ = 0, 0.1, 0.2, • • • , 1 for defining the sets of preferred colors, and keep the best result; Procedure COLORING: for = 1 to k do for i = 1 to n do If v i is not already colored, ∈ S(v i ), and is available for v i , then add v i to V ; end for i = 1 to n do 10 If v i is not already colored and is available for v i , then add v i to V ;

Super-available colors
The use of preferred colors proposed in the previous section is not always sufficient to avoid assigning the same color to two vertices u and v for which ω(u, v) or ω(v, u) has a large value when compared to θ W (v) or θ W (u), respectively.We present here another way to avoid this problem.It is based on the following definition that depends on a real parameter ρ ∈ [0, 1].Definition 4 A color is super-available for a vertex v if in addition to constraints (11), (12), the following ones are also satisfied: Algorithms WP3, DSAT3, and RLF3 described here below first try to color the vertices using only super-available colors.The coloring process is then re-peated with the uncolored vertices, by considering all available colors.It is not difficult to observe that the proposed changes do not affect the algorithms' complexity.We will run our algorithms with 11 different values for ρ, namely 0, 0.1, 0.2, • • • , 1, and keep the best solution.
Table 7 -Third adaptation of the Welsh-Powell algorithm Algorithm 7: WP3 Apply the following COLORING procedure using ρ = 0, 0.1, 0.  in the Euclidian plane, forbidding situations where base stations are too close to one another.The received power P ip at s p of a signal from mobile m i is computed as follows: where • α is a constant summarizing the effects of antenna configuration and position, • r ip is a random variable synthesizing the desired channel models: it is the product of an exponential random variable to denote short term fading and a log-normal random variable for shadowing, • γ is the attenuation factor which typically varies from 2 in free-space to 4 for Non-Line Of Sight (NLOS) in urban areas.Our instances have been generated with γ = 4.
Current technology can easily deal with an SIR = 6 dB (i.e.θ = 0.125), and even a value of θ = 0.25 is a little conservative.The greater θ is, the more the model will allow an effective spectral efficiency.In our experiments, we have used θ = 0.25.
Numerical simulations based on data from real-life cellular network deployment scenarios in several cities are performed in [10].One can observe that on a metropolitan scale, phone operators typically use a few dozen base stations.Our instances have t = 10, 15 and 25 base stations.
According to [12], in LTE, 1024 subcarriers, out of which only 600 support data, are typically used.Twelve of these subcarriers over 14 OFDM symbols are grouped into resource elements for a total of 168 of resource elements.Out of those 168 resource elements, some are used for layer 1 and 2 control messages and therefore do not support data.In our tests, we have used 120, which is of the same order of magnitude.
For more details about how these instances were generated, the reader is invited to consult [5].

Comparisons with optimal solutions
We denote by OPT the optimal value provided by the Boolean linear programming model of Section 2, and compare it with the values produced by the nine proposed heuristics WP1, WP2, WP3, DSAT1, DSAT2, DSAT3, RLF1, RLF2 and RLF3.Since OPT can only be computed for instances of relatively small size, we have limited these comparisons to instances with t = 10 base stations, n = 25, 30, 35, 40 mobiles, k = 12 channels and (θ, γ) = (0.25.4).For each combination of parameters t, n, k, θ, γ, we have generated 25 instances, for a total of 100 instances.Average results are shown in Figure 5.In abscissa, we consider various maximum allowed gaps (expressed in percentage) between OPT and the value produced by the heuristics, while the ordinate indicates the percentage of instances for which the given gap was not exceeded.For example, considering WP1, we can read that 88% of the instances were solved to optimality, while the maximum gap between OPT and the obtained value has never exceeded 6% for 99% of the instances, and 96% of the instances were solved with a maximum gap of 4%.It clearly appears that WP2 performs better than WP1, and WP3 outperforms WP1 and WP2, producing 94% optimal solutions.The maximum gap between OPT and the WP3 value has never exceeded 6%.The analysis is similar for the other heuristics: DSAT3 outperforms DSAT1 and DSAT2 with a total of 95% optimal solutions and a maximum gap of 3%.Finally, RLF3 produces 94% optimal solutions in comparison with 90% for RLF1 and 95% for RLF2.The maximum gap between OPT and the RLF3 value is always below 6%.
In the three other performance profiles of Figure 5, WPi, DSATi and RLFi, (i = 1, 2, 3) are compared with each other.It turns out that DSAT1 performs better than WP1 and RLF1, while RLF2 is better than DSAT2 and WP2, and DSAT3 is better than WP3 and RLF3.We also notice that the maximum gap between OPT and the DSATi value is always smaller than the same gap computed with WPi or RLFi : it is equal to 6% for DSAT1 and DSAT2, and to only 3% for DSAT3.
These performance profiles clearly show that the proposed heuristics are able to reach optimality for a large number of small instances.Indeed, all heuristics, except WP1, have produced at least 90% optimal solutions.Also, the proposed improvements of Section 5 are clearly effective since versions 2 and 3 of the proposed heuristics perform better than version 1.
While DSAT3 could appear as the winner of this comparison, it is important to mention that WP3 is also attractive as it runs in O(n 2 ) time while DSAT3 and RLF3 run in O(n 3 ) time.This can clearly be observed in Table 10 where we report computing times (in seconds) for realistic networks having n = 500 to 1100 mobiles, k = 120 channels, t = 25 base stations, and (θ, γ) =(0.25,4).The tests were run on a 3.4 GHz Intel(R) Core(TM) i7-2600 CPU machine with 16 GB of RAM.Note that even if versions 2 and 3 of our algorithms run the COLORING procedure 11 times, the total time needed for these 11 runs is comparable with one run of version 1.The reason is that the selection of the color to assign to a vertex is much faster in versions 2 and 3 since we limit our choices to preferred or super-available colors.

Parameter adjustments
Versions 2 and 3 of the proposed heuristics depend on parameters τ ∈ [0, 1] and ρ ∈ [0, 1], respectively.We have performed tests to see if specific values of these parameters should be preferred to others.As in the previous section, we have considered instances with t = 10, n = 25, 30, 35, 40, k = 12, θ = 0.25 and γ = 4, and we have generated 25 instances for each combination of t, n, k, θ, γ, for a total of 100 instances.Average results produced by WP2 and WP3 are given in Figures 6 and 7, for τ and ρ equal to 0, 0.25, 0.5, 0.75 and 1.Hence, instead of reporting the best among 11 runs of the COLORING procedure, with different values of τ or ρ (as was the case in Figure 5), we report here the individual results produced by the COLORING procedure with each of the 5 considered values of τ or ρ.We observe that about 80% optimal solution are obtained with τ ≥ 0.75 while 73% of them are found with τ = 0.5, and about 70% with τ ≤ 0.25.However, additional tests on larger instances have shown that there seems to be no general rule for choosing a good value for τ .For example, these additional tests have shown that τ = 0.75 should be preferred to τ = 0.5 27% of the time, while preference should be given to τ = 0.5 over τ = 0.75 13% of the time.This explains why we have chosen to run version 2 of our algorithms with different values of τ , and to return the best result of these runs.Notice that even if the COLORING procedure is run 11 times in WP2, the total computing time remains very attractive since it is below 1 second for a network with n = 1000 mobiles (see Table 10).
Concerning parameter ρ, the performance profile in Figure 7 leads to the same conclusion: there seems to be no optimal setting for ρ, which explains why we run version 3 of our algorithms with eleven different values.

Comparisons with the FFR technique
We next compare the performance of the proposed heuristics with the Fractional Frequency Reuse (FFR) technique.It follows from Corollary 10 that the following value is an upper bound on the percentage of simultaneously communicating mobiles, when using the FFR technique: We denote by FFR3 the value of this upper bound obtained by setting 3 , and τ = θ 2 for the definition of the center and the border of a cell (i.e., for determining x p and y p in each cell C p ).We find it important to mention that FFR3 is a very optimistic upper bound on the performance of the FFR technique, not only because it assumes that mobiles in the center of a cell do not interfere with mobiles in adjacent cells, but also because real base station layouts do not permit to fix | F p |= |F | 3 (see Figure 4).
A more visual comparison is given in Figure 9.For better readability, only the third versions WP3, DSAT3 and RLF3 of our algorithms are plotted.The best upper bound z is omitted when it remains close to 100%.Since a coverage ratio of 98% corresponds to the typical accepted call-blocking probability (CBP) of 2%, we represent it with a horizontal line.For (t, k) = (10, 12), we observe that the CBP of 2% is reached by the FFR technique with 25 users, while more than 10 additional users can communicate with WP3, DSAT3 and RLF3.For (t, k) = (15, 48), the number of communicating users with the CBP of 2% increases from 200 with the FFR technique to 220 with the three proposed heurisitcs.
The results obtained for realistic wireless networks with up to t = 25 base stations an k = 120 channels lead to interesting observations (see Table 15 and Figure 9).We first note that the coverage ratio of 98% is out of reach by the FFR technique with more than 850 mobiles, while at least 100 additional mobiles can communicate using heuristics WP3, DSAT3, or RLF3.If we replace 4 , we get a more realistic upper bound for the FFR technique.The advantage or our heuristics is then even more impressive since the coverage ratio of 98% is out of reach by the FFR technique with more than 650 mobiles, while 1000 mobiles can communicate using RLF3, which corresponds to an increase of more than 50%.Observe that versions 1 and 2 of our algorithms are not as efficient as version 3 when the optimal coverage ratio draws away from 100%.For example, while the coverage ratio of WP3 for 1000 users is 91.6%, it lies between 78.8% and 80.2% for WP1 and WP2.Such a decrease of more than 10% represents more than 100 users.This can be explained as follows.When the optimal coverage ratio is strictly smaller than 100%, it seems reasonable to remove from the network those users having high interference with other mobiles.By keeping these users in the network, one takes the risk of assigning to them the same channel, thus preventing many other users from communicating.Heuristics WP3, DSAT3, and RLF3 were implemented so that users that interfere much JGAA, 20(2) 159-188 (2016) 185 with each other have a smaller chance to get the same channel.

The PDWICP in modern wireless networks
An excellent survey on spectrum management can be found in [14], in which the authors describe different assignment strategies, which fall into two categories: static schemes and dynamic schemes.Dynamic schemes suppose a centralized entity is able to manage the different access points and allocate resources accordingly.Many references of such algorithms are given.Our scheme clearly falls into this category.Although the LTE frame does not work this way, we strongly believe that with the rise of virtualization technologies, such frames will converge towards dynamic schemes, in which all cells within a real-time controllable physical region would be managed at the DSP level by a server.In this context, we believe it is worth considering dynamic centralized algorithms such as the ones we propose.In summary, the LTE frame as it is today cannot make use of the proposed algorithms; we hope that 5G networks will.
Decentralized vertex coloring does exist (see for example [13]), each vertex of a graph is an independent entity responsible for choosing its own color.Moreover, the only information available to each vertex is who its neighbours are, and what their colors are.This would be a promising view to explore in order for our model to reflect the current LTE frame more faithfully, but it is beyond the scope of this paper.
The PDWICP can be used to solve other problems.Although weighted improper coloring is a new problem, it has received attention recently.For example, Alcatel Space Technologies and INRIA are currenlty working on the design of MFTDMA multispot resource allocation in satellite networks [1,4].In this technology, satellites transmit signals to areas on the ground called spots.Satellites and spots are the equivalent of base stations and mobiles, respectively.Araujo et al. have called this problem the Improper Weighted Coloring Problem (IWCP), which is a varation of the PDWICP, and have developped algorithms in which they consider that satellites can cooperate (which supposes there is a centralized entity).Numerical tests are performed with up to 2 000 vertices and 5 colors (or frequencies).
As another example, Mishra et al. [17] have developed a similar model for WLAN networks with approximately 20 Access Points (APs) (equivalent of base stations here) and 14 frequencies.Specifically, they model the 802.11b protocol with weighted improper coloring, which gives rise to a variant of the PDWICP (specifically, a minimum cost improper weighted coloring problem).Moreover, they mention that the IAPP protocol enables cooperation of the APs and therefore develop a centralized allocation strategy as well.

Conclusion
Today's wireless networks should allow as many users as possible to communicate simultaneously, without compromising the quality of the signals.We have shown that such a goal can be achieved in an efficient way by solving the Partial Directed Weigthed Improper Coloring Problem (PDWICP).Wireless networks must ensure a call blocking probability (CBP) below 2% (i.e., a coverage ratio of 98%) to satisfy the current mobile standards.We have adapted three standard graph coloring algorithms to the PDWICP, with three versions for each algorithm.All proposed heuristics meet the CBP requirement of 2% with more users than the standard FFR technique.In summary, the proposed heuristics perform better than today's phone operator systems that mostly use decentralized channel assignment strategies.In particular the low complexity of the WP3 algorithm, when compared to DST3 or RLF3, makes it very attractive for real-time channel assignments.
We have also noticed that the performance of the proposed algorithms decreases when the optimal coverage ratio draws away from 100%.This can be explained by the fact that our heuristics make the implicit assumption that all vertices will be colored.Indeed, in their original form, the WP, DSAT and RLF algorithms aim at finding the chromatic number of a graph.For example the WP algorithm sequentially colors the vertices by non increasing degree, in order to give priority to vertices having many neighbors.If it is known in advance that the size of the largest induced k-colorable subgraph is much smaller than n, it then seems reasonable to sort the vertices in non decreasing degree to exclude in priority vertices that are likely to saturate color classes.Solving the PDWICP in situations where the optimal coverage ratio is much below 100% would therefore probably require readapting the order in which vertices are considered for a sequential coloring.
Note finally that the algorithms were implemented in Python, which is a very high level programming language, typically used for developing prototypes.It is clear that an implementation in a lower level language would decrease execution times.Since this paper aims more at exploring new algorithms (rather than usage in operation in detail), emphasis was not put on this feature.Moreover, we have studied the theoretical complexity of the algorithms in order to have an idea of how the algorithms perform in general, independently from their implementation and the programming language used.Also, our final objective is to extend this model on a rolling horizon, with vertices (mobiles) arriving and disappearing in an online fashion.In this context, it is clear that allocation cannot be done from scratch every time there is an update in the network.More likely, we believe quick local search around the new vertex will be more efficient.Therefore the CPU times are not to be considered for usage in practice, although the quickest ones are acceptable.
with 3 vertices, where the numbers on the vertices and on the edges are their weights.If only one color is available (i.e., k = 1) and θ = 1 2 , than only two vertices (a and b or a and c) can be colored.Indeed, if b and c receive the same color, then the sum of the weights of the arcs entering b is at least 3 which is larger than θ W (b) = 5 2 .

Figure 4 -
Figure 4 -A base station layout where at least one F p has at most |F | 4 frequencies.
4 COLORING: 5 while U = ∅ do 6 Determine a vertex v ∈ U with minimum value |A(v)|.In case of ties, choose one with maximum value µ U (v); 7 Choose the smallest color ∈ A(v) and move v to V ; 8 Update the sets A(u) for all u ∈ U with ∈ A(u), and remove from U all vertices u for which A(u) = ∅; 9 end Proposition 3 The DSAT1 algorithm runs in O(n 3 ) time.
Steps 6 and 7 clearly require O(n + k) time.When assigning color to v, we have to test whether color remains available for the uncolored vertices with ∈ A(u) (Step 8).Each such test requires O(|V |) operations, which means that the sets A(u) can be updated in O(n|V |) ⊆ O(n 2 ) time.Since there are n vertices to be colored, DSAT1 runs in O(n 3 ) time.
For example, if k = 120 channels are available, χ = 3 and c(p) = 2, then F p = {41, • • • , 80}, while if k = 120, χ = 4 and c(p) = 2, then F p = {31, • • • , 60}.These sets are used to define priority rules.More precisely, for every mobile m i , we define the following set S(m i ) of preferred channels for m i : if m i is at the border of C p , we set S(m

Table 5 - 9 while U = ∅ do 10 13 while U = ∅ do 14
Second Adaptation of the DSATUR algorithm Algorithm 5: DSAT2 INITIALIZATION: Set U = V and V = ∅ for all colors = 1, • • • , k; Set µ U (v) = µ V (v), and A(v) = {1, • • • , k} for all vertices v; Apply the following COLORING procedure using τ = 0, 0.1, 0.2, • • • , 1 for defining the sets of preferred colors, and keep the best result; Procedure COLORING: while U = ∅ do Determine a vertex v ∈ U with minimum value |A(v)|.In case of ties, choose one with maximum value µ U (v); If A(v) ∩ S(v) contains at least one color, then choose the smallest one ; othwerwise, choose the smallest color ∈ A(v); Move v to V , update the sets A(u) for all u ∈ U with ∈ A(u), and remove from U all vertices u for which A(u) = ∅; Table 6 -Second Adaptation of the RLF algorithm Algorithm 6: RLF2 1 INITIALIZATION: 2 Set V = ∅ for = 1, • • • , k; 3 Apply the following COLORING procedure using τ = 0, 0.1, 0.2, • • • , 1 for defining the sets of preferred colors, and keep the best result; 4 Procedure COLORING: 5 for = 1 to k do 6Let U be the set of uncolored vertices, and let U ⊆ U be the subset of uncolored vertices v with ∈ S(v); compute µ U (u) for all u ∈ U and µ U (u) for all u ∈ U .Set W = ∅ and µ W (u) = 0 for all u ∈ U ;7 If U = ∅, choose a vertex v ∈ U with largest value µ U (v); otherwise choose a vertex v ∈ U with largest value µ U (v); 8Move v to V and move to W all vertices in U (hence also those in U ) for which color is no more available; Choose a vertex u ∈ U with largest value µ W (u). In case of ties, choose one with smallest value µ U (u); 11 Move u from U to V , and move to W all vertices in U for which color is no more available; 12 end Choose a vertex u ∈ U with largest value µ W (u). In case of ties, choose one with smallest value µ U (u); 15 Move u from U to V , and move to W all vertices in U for which color is no more available; 16 end 17 end and A(v) = {1, • • • , k}for all vertices v; 4 Apply the following COLORING procedure using ρ = 0, 0.1, 0.2, • • • , 1 for the definition of super-available colors, and keep the best result; 5 Procedure COLORING: 6 while U = ∅ do 7 Determine a vertex v ∈ U with minimum value |A(v)|.In case of ties, choose one with maximum value µ U (v);

Figure 5 -
Figure 5 -Comparisons between exact and heuristic algorithms.

1 Figure 6 -
Figure 6 -Performance profile of WP2 with different values of τ .

Figure 7 -
Figure 7 -Performance profile of WP3 with different values of ρ.

Table 2 -
First adaptation of the DSATUR algorithm

Table 4 -
Second adaptation of the Welsh-Powell algorithm

Table 8 -
2, • • • , 1 for the definition of super-available colors, and keep the best result; If v i is not already colored and color is available for v i , then add v i to V ; Third Adaptation of the DSATUR algorithm Algorithm 8: DSAT3 4Procedure COLORING:5 for = 1 to k do 6 for i = 1 to n do 7If v i is not already colored and color is super-available for v i , then add v i to V ; 8 end 9 for i = 1 to n do10