A Two-Level Graph Partitioning Problem Arising in Mobile Wireless Communications Jamie Fairbrother∗
Adam N. Letchford†
Keith Briggs‡
May 2017
arXiv:1705.08773v1 [math.OC] 24 May 2017
Abstract In the k-partition problem (k-PP), one is given an edge-weighted undirected graph, and one must partition the node set into at most k subsets, in order to minimise (or maximise) the total weight of the edges that have their end-nodes in the same cluster. Various hierarchical variants of this problem have been studied in the context of data mining. We consider a ‘two-level’ variant that arises in mobile wireless communications. We show that an exact algorithm based on intelligent preprocessing, cutting planes and symmetry-breaking is capable of solving small- and medium-size instances to proven optimality, and providing strong lower bounds for larger instances. Keywords: graph partitioning, integer programming, cutting planes, telecommunications.
1
Introduction
Telecommunications has proven to be a rich source of interesting optimisation problems [RP07]. In the case of wireless communications, the hardest (and most strategic) problem is wireless network design, which involves the simultaneous determination of cell locations and shapes, base station locations, power levels and frequency channels (e.g., [MRRS07]). On a more tactical level, one finds various frequency assignment problems, which are concerned solely with the assignment of available frequency bands to wireless devices (e.g., [AvHK+ 07]). Recently, we came across a rather different optimisation problem, in the context of mobile wireless communications. The technology is the new 4G (LTE) standard, and the essence of the problem is as follows. There are a number of devices with known locations. Each device must be assigned a positive integer identifier. In the LTE standard, this is called a Physical Cell Identifier or PCI, but to keep the discussion general we will simply use the term ID. If two devices are close to each other (according to some measure of closeness), they are said to be neighbours. Two neighbouring devices must not have the same ID. We are also given two small integers k, k 0 >2. If the IDs of two neighbouring devices are ∗
STOR-i Centre for Doctoral Training, Lancaster University, Lancaster LA1 4YF, UK. E-mail:
[email protected] † Department of Management Science, Lancaster University, Lancaster LA1 4YW, United Kingdom. E-mail:
[email protected] ‡ Wireless Research Group, BT Technology, Service & Operations, Martlesham Heath, UK. Email:
[email protected]
1
the same modulo k, it causes interference. Moreover, some additional interference occurs if they are the same modulo kk 0 . The task is to assign IDs to devices in such a way as to minimise the total interference. The problem turns out to be a generalisation of a well-known N P-hard combinatorial optimisation problem called the k-partition problem or k-PP. For reasons which will become clear later, we call our problem the 2-level partition problem or 2L-PP. Here we develop an exact algorithm for the 2L-PP, which turns out be capable of solving small and medium-sized instances to proven optimality, and providing strong lower bounds for larger instances. The structure of the paper is as follows. In Section 2, the literature on the k-PP is reviewed. In Section 3, we formulate our problem as an integer program (IP) and derive some valid linear inequalities (i.e. cutting planes). In Section 4, we describe our exact algorithm in detail. In Section 5, we describe some computational experiments and analyse the results. Finally, some concluding remarks are made in Section 6.
2
Literature Review
Since the 2L-PP is a generalisation of the k-PP, we now review the literature on the kPP. We define the k-PP in Subsection 2.1. The main IP formulations are presented in Subsection 2.2. The remaining two subsections cover cutting planes and algorithms for generating them, respectively. We remark that some other multilevel graph partitioning problems have been studied in the data mining literature; see, e.g., [CC17, SS11]. In those problems, however, neither the number of clusters nor the number of levels is fixed. For this reason, we do not consider them further.
2.1
The k-partition problem
The k-PP was first defined in [CN66]. We are given a (simple, loopless) undirected graph G, with vertex set V ={1, . . . , n} and edge set E, a rational weight we for each edge e∈E, and an integer k with 26k6n. The task is to partition V into k or fewer subsets (called “clusters” or “colours”), such that the sum of the weights of the edges that have both end-vertices in the same cluster is minimised. The k-PP has applications in scheduling, statistical clustering, numerical linear algebra, telecommunications, VLSI layout and statistical physics (see, e.g., [CN66, Eis02, GAL11, Ren12]). It is strongly N P-hard for any fixed k>3, since it includes as a special case the problem of testing whether a graph is k-colourable. It is also strongly N P-hard when k=2, since it is then equivalent the well-known max-cut problem, and when k=n, since it is then equivalent to the clique partitioning problem [GW89, GW90].
2.2
Formulations of the k-PP
Chopra & Rao [CR93] present two different IP formulations for the k-PP. In the first formulation, there are two sets of binary variables. For each v∈V and for c=1, . . . , k, let 2
xvc be a binary variable, taking the value 1 if and only if vertex v has colour c. For each edge e∈E, let ye be an additional binary variable, taking the value 1 if and only if both end-nodes of e have the same colour. Then we have the following optimization problem: P min e∈E we ye Pk s.t. (v∈V ) (1) c=1 xvc =1 yuv >xuc +xvc −1 ({u, v}∈E, c=1, . . . , k)
(2)
xuc >xvc +yuv −1 ({u, v}∈E, c=1, . . . , k)
(3)
xvc >xuc +yuv −1 ({u, v}∈E, c=1, . . . , k)
(4)
xvc ∈{0, 1}
(v∈V, c=1, . . . , k)
yuv ∈{0, 1}
({u, v}∈E).
The equations (1) force each node to be given exactly one colour, and the constraints (2)–(4) ensure that the y variables take the value 1 when they are supposed to. Note that this IP has O(m+nk) variables and constraints, where m=|E|. It therefore seems suitable when k is small and G is sparse. Unfortunately, it has a very weak linear programming (LP) relaxation. Indeed, if we set all x variables to 1/k and all y variables to 0, we obtain the trivial lower bound of 0. Moreover, it suffers from symmetry, in the sense that given any feasible solution, there exist k! solutions of the same cost. (See Margot [Mar10] for a tutorial and survey on symmetry issues in integer programming.) The second IP formulation is obtained by dropping the x variables, but having a y variable for every pair of nodes. That is, for each pair of nodes {u, v}, let yuv be a binary variable, taking the value 1 if and only if u and v have the same colour. Then: P min we ye P e∈E (C ⊂V :|C|=k+1) (5) s.t. u,v∈C yuv >1 yuv >yuw +yvw −1 ({u, v, w}⊂V ) yuv ∈{0, 1}
(6)
({u, v}⊂V ).
The constraints (5), called clique inequalities, ensure that, in any set of k+1 nodes, at least two receive the same colour. The constraints (6) enforce transitivity; that is, if nodes u and w have the same colour, and nodes v and w have the same colour, then nodes u and v must also have the same colour. A drawback of the second IP formulation is that it has O(n2 ) variables and O(nk+1 ) constraints, and it cannot exploit any special structure that G may have (such as sparsity). A third IP formulation, based on so-called representatives, is studied in [AKP16]. There also exist several semidefinite programming relaxations of the k-PP (see, e.g., [FJ97, Eis02, GAL11, Ren12, AGH+ 13, Sot13, LF16]). For the sake of brevity e do not go into details.
2.3
Cutting planes
Chopra & Rao [CR93] present several families of valid linear inequalities (i.e. cutting planes), which can be used to strengthen the LP relaxation of the above formulations. For 3
our purposes, the most important turned out to be the generalised clique inequalities. In the case of the first IP formulation, they take the form X t+1 t yuv > r+ (k−r), (7) 2 2 u,v∈C
where C ⊆V is a clique (set of pairwise adjacent nodes) in G with |C|>k, and t and r denote |C|/k and r=|C| mod k, respectively. In the case of the second IP formulation, they must be defined for any C ⊆V with |C|>k (since every set of nodes forms a clique in a complete graph). In either case, they define facets of the associated polytope when k>3 and r6= 0. Note that they reduce to the clique inequalities (5) when |C|=k+1. Further inequalities for the first IP formulation can be found in [CR93, LF16]. Further inequalities for the second formulation can be found in, e.g., [GW90, DGL90, DGL92, CR93, CR95, ORS09].
2.4
Separation algorithms
For a given family of valid inequalities, a separation algorithm is an algorithm which takes an LP solution and searches for violated inequalities in that family [GLS88]. By brute-force enumeration, one can solve the separation problemfor the inequalities (2)–(4) in O(km) time, for the transitivity inequalities (6) in O n3 time, and for the k+1 clique inequalities (5) in O n time. It is stated in [CR93] that separation of the generalised clique inequalities (7) is N P-hard. An explicit proof, using a reduction from the max-clique problem, is given in [Eis01]. Heuristics for clique and generalised clique separation are presented in [Eis01, KPP11]. Separation results for other inequalities for the first IP formulation can be found in [CR93, LF16]. Separation results for the second formulation can be found in, e.g.,[GW89, DGL92, CF96, BW00, ORS09, Let01, MS02]. For some computational results with various separation algorithms, see [dAL16].
3
Formulation and Valid Inequalities
In this section, we give an IP formulation of the 2L-PP (Subsection 3.1) and derive some valid inequalities (3.2). We also show how to modify the formulation to address issues of symmetry (3.3).
3.1
Integer programming formulation
An instance of the 2L-PP is given by an undirected graph G=(V, E), integers k, k 0 >2, and weights w, w0 ∈R, with w≥w0 >0. Each node in V corresponds to a device, and a pair of nodes is connected by an edge if and only if the corresponding devices are neighbours. The weights w and w0 represent the importance given to interference modulo k and modulo kk 0 , respectively.
4
Now, let us call the integers in {0, . . . , kk 0 −1} colours. Assigning the colour c to a node corresponds to giving the corresponding device an ID that is congruent to c modulo kk 0 . Then, the 2L-PP effectively calls for a colouring of the nodes of G such that the following quantity is minimised: w0 times the number of edges whose end-nodes have the same colour, plus w times the number of edges whose end-nodes have the same colour modulo k. To formulate the 2L-PP as an IP, we modify the first formulation mentioned in Subsection 2.2. We have three set of binary variables. For each v∈V and for c=0, . . . , kk 0 −1, let xvc be a binary variable, taking the value 1 if and only if vertex v has colour c. For each edge e∈E, define two binary variables ye and ze , taking the value 1 if and only if both end-nodes of e have the same colour modulo k, or the same colour, respectively. Then we have: P P min w {u,v}∈E yuv +w0 {u,v}∈E zuv (8) Pkk0 −1 (v∈V ) (9) s.t. c=0 xvc =1 Pk0 −1 yuv > r=0 (xu,c+rk +xv,c+rk )−1 ({u, v}∈E, c=0, . . . , k−1) (10) ({u, v}∈E, c=0, . . . , kk 0 −1)
zuv >xuc +xvc −1
0
(11)
xvc ∈{0, 1}
(v∈V, c=0, . . . , kk −1)
(12)
yuv ∈{0, 1}
({u, v}∈E)
(13)
zuv ∈{0, 1}
({u, v}∈E).
(14)
The objective function (8) is just a weighted sum of the two kinds of interference. The constraints (9) state that each node must have a unique colour. The constraints (10) and (11) ensure that the two kinds of interference occur under the stated conditions. The remaining constraints are just binary conditions. Note that the above IP has kk 0 n+2m variables and n+k(k 0 +1)m linear constraints. In practice, this is manageable, since k and k 0 are typically small and G is typically sparse.
3.2
Valid inequalities
Unfortunately, our IP formulation of the 2L-PP shares the same drawbacks as the first formulation of the k-PP mentioned in Subsection 2.2: it has a very weak LP relaxation (giving a trivial lower bound of zero), and it suffers from a high degree of symmetry. To strengthen the LP relaxation, we addP valid linear inequalities from three families. P For a clique C⊂V , let y(C) and z(C) denote {u,v}⊂C yuv and {u,v}⊂C zuv , respectively. The first two families of inequalities are straightforward adaptations of the generalised clique inequalities (7) for the k-PP: Proposition 3.1 The following inequalities are satisfied by all feasible solutions of the 2L-PP: • “y-clique” inequalities, which take the form: t+1 t y(C) > r+ (k−r), 2 2 5
(15)
where C ⊆V is a clique with |C|>k, t=b|C|/kc and r=|C| mod k; • “z-clique” inequalities, which take the form: T +1 T z(C)> R+ (kk 0 −R), 2 2 j k |C| where C ⊆V is a clique with |C|>kk 0 , T = kk and R=|C| mod kk 0 . 0
(16)
Proof. This follows from the result of Chopra & Rao [CR93] mentioned in Subsection 2.3, together with the fact that, in a feasible IP solution, the y and z vectors are the incidence vectors of a k-partition and a kk 0 -partition, respectively. The third family of inequalities, which is completely new, is described in the following theorem. Theorem 3.1 For all cliques C ⊆V with |C|>k 0 , the following “(y, z)-clique” inequalities are valid: 0 0 r 0 0 k k z(C) > y(C)−t − , (17) 2 2 where t0 =b|C|/k 0 c and r0 =|C| mod k 0 . Proof. See the Appendix.
The following two lemmas and theorem give necessary conditions for the inequalities presented so far to be non-dominated (i.e., not implied by other inequalities). Lemma 3.1 A necessary condition for the y-clique inequality (15) to be non-dominated is that r6= 0. Proof. This was already shown by Chopra & Rao [CR93].
Lemma 3.2 A necessary condition for the (y, z)-clique inequality (17) to be non-dominated is that r0 6= 0. Proof. Suppose that r0 =0. The (y, z)-clique inequality for C can be written as: k 0 z(C) > y(C)−|C|(k 0 −1)/2.
(18)
Now let v be an arbitrary node in C. The (y, z)-clique inequality for the set C \{v} can be written as: k 0 z(C \{v}) > y(C \{v}) − (|C|−2)(k 0 −1)/2. Summing this up over all v∈C yields k 0 (|C|−2) z(C) > (|C|−2) y(C) − |C|(|C|−2)(k 0 −1)/2. Dividing this by |C|−2 yields the inequality (18). 6
Theorem 3.2 A necessary condition for the z-clique inequality (16) to be non-dominated is that 10 Enumerate all cliques in G0 of size greaterP than k; Construct the (trivial) LP relaxation min e∈E 0 ye s.t. y non-negative; do Solve LP relaxation; Search for violated y-clique inequalities (15); If any are found, add the t most violated ones to the LP; while Violated inequalities found ; Delete all y-clique inequalities with slack greater than ; Change objective function to (8) and add one non-negative variable ze for all e∈E 0 ; do Solve LP relaxation; Search for violated z-clique inequalities (16) and yz-clique inequalities (17); If any are found, add the t most violated ones to the LP; while Violated inequalities found ; Delete all inequalities with slack greater than ; Add x variables and constraints (9)–(14), and apply symmetry-breaking; Solve resulting 0-1 LP with branch-and-bound; The key feature of this approach is that the LP is kept as small as possible throughout the course of the algorithm. Indeed, (a) the z and x variables are added to the problem only when they are needed, (b) only a limited number of constraints are added in each cutting-plane iteration, and (c) slack constraints are deleted after each of the two cuttingplane algorithms has terminated. The net result is that both cutting-plane algorithms run 10
very efficiently, and so does the branch-and-bound algorithm at the end. We now make some remarks about the separation problems for the three kinds of clique inequalities. Since all three separation problems seem likely to be N P-hard, we initially planned to use greedy separation heuristics, in which the set C is enlarged one node at a time. We were surprised to find, however, that it was feasible to solve the separation problems exactly, by brute-force enumeration, for typical 2L-PP instances encountered in our application. The reason is that the original graph G tends to be fairly sparse in practice, and each subgraph G0 generated by our preprocessor tends to be fairly small. Accordingly, after the preprocessing stage, we use the Bron-Kerbosch algorithm [BK73] to enumerate all maximal cliques in each subgraph G0 . It is then fairly easy to solve the separation problems by enumeration, provided that one takes care not to examine the same clique twice in a given separation call. We omit details, for brevity. n We remark that, although an arbitrary graph with n nodes can have as many as 3 3 maximal cliques [MM65], a graph in which all nodes have degree at most d can have at d most (n−d)3 3 of them [ELS10].
5
Computational Experiments
We now present the results of some computational experiments. In Subsection 5.1, we describe how we constructed the graphs used in our experiments. In Subsection 5.2, we test the preprocessing algorithm for different values of k. In Subsection 5.3, we present results from the cutting-plane algorithms. Finally, in Subsection 5.4, we study the performance of the algorithm as a whole. Throughout these experiments, the value of k varies between 2 and 5, while for simplicity, we fix k 0 =2, since the value of k 0 does not affect the performance of the graph preprocessing algorithm. All experiments have been run on a high performance computer with an Intel 2.6 GHz processor and using 16 cores. Graph preprocessing and clique enumeration was done using igraph [CN06] and the linear and integer programs were solved using Gurobi v.6.5 [GO16].
5.1
Graph construction
The strength of a signal at a receiver decays in free space at a rate inversely proportional to the square of the distance from the transmitter, but in real systems often at a faster rate due to the presence of objects blocking or scattering the waves. Therefore, beyond a certain distance, two transceivers can no longer hear each other, and therefore there cannot be a direct conflict between their IDs. In our application, however, a conflict also occurs if a pair of devices have a neighbour in common. (Essentially, this is because each device needs to be able to tell its neighbours apart.) Accordingly, we initially constructed our graphs as follows. We first sample a specified number of points uniformly on the unit square. Edges are created between pairs of points if they are within a specified radius of each other. (This yields a so-called disk graph; see, e.g., [LZN+ 10].) The graph is then augmented with edges between pairs of nodes which
11
(a) Edges are created between nodes within a given radius of each other
(b) Graph is augmented with edges between nodes which have a neighbour in common
Figure 3: Construction of neighbourhood graph have a neighbour in common. (In other words, we take the square of the disk graph.) This construction is illustrated in Figure 3. It turned out, however, that neighbourhood graphs constructed in this way yielded extremely easy 2L-PP instances. The reason is that nodes near to the boundary of the square tend to have small degree, which causes them to be removed during the preprocessing stage. This in turn causes their neighbours to have small degree, and so on. In order to create more challenging instances, and to avoid this “boundary effect”, we decided to use a torus topology to calculate distances between points in the unit square before constructing the graphs.
5.2
Preprocessing
In order to understand the potential benefits of the preprocessing stage, we have calculated the effect of preprocessing on our random neighbourhood graphs for different values of k and disk radius, while fixing n=100. In particular, for radius 0.01, . . . , 0.2 and k=3, 4, 5, we calculate the mean proportion of edges eliminated and the mean proportion of vertices in the largest remaining component. The results are shown in Figure 4. The means were estimated by simulating 1000 random graphs for each pair of parameters. The results show that, for all values of k, the proportion of edges eliminated decays to zero rather quickly as the disk radius is increased. The proportion of nodes in the largest component also tends to one as the radius is increased, but at a slower rate than the convergence for edge reduction. In order to gain further insight, we also explored how the average degree in our random neighbourhood graphs depends on the number of nodes and the disk radius. The results are shown in Figure 5. A comparison of this figure and the preceeding one indicates that, as one might expect, preprocessing works best when the average degree is not much larger than k.
12
0.8
0.8
0 0.2
Disk radius
5
0.2
0.1
0.1
0.0
Disk radius
0.1
0.0
0
0.0
5
0.2
0
0.2
0
0.4
0.1
0.4
0.6
5
0.6
k=3 k=4 k=5
0.0
Maximum Vertices
1.0
5
Edge Reduction
1.0
Figure 4: Preprocessing of random neighbourhood graphs
5.3
Cutting planes
Next, we present some results obtained with the cutting-plane algorithms. For n=100, and for disk radii ranging from 0.08 to 0.14, we constructed 50 random neighbourhood graphs. The same sets of points were used to construct the graphs for each disk radius. We also considered three different values of k, namely 2, 3 and 4. The weights w, w0 were both set to 1 for simplicity. For each of the resulting 1050 2L-PP instances, we ran the preprocessing algorithm, followed by the cut-and-branch algorithm. As mentioned in Subsection 3.2, the yz-clique inequalities (17) turned out to be more effective at improving the lower bound than the z-clique inequalities (16). In order to make this clear to the reader, we have divided the second cutting-plane phase into two sub-phases, whereby yz-clique inequalities are added in the first subphase and z-clique inequalities are added in the second subphase. In Table 1, we present the average gap between the lower bound and optimum, expressed as a proportion of the optimum, after each of the three kinds of cuts have been added. We see that, for each value of k, the gap increases as we enlarge the disk radius. Nevertheless, the gap always remains below 5% for the radii considered. Note that the z-clique inequalities help only when k=2. This may be because z-clique inequalities are defined only for cliques containing more than kk 0 nodes, and not many such cliques are present when k>2. In Table 2 we present the average number of cuts added during each cutting-plane phase. We see that the number of cuts increases with the disk radius. This is to be expected, since, when the radius is large, there are more large cliques present. On the other hand, the number of cuts decreases as the value of k increases. The explanation for this is that y-clique inequalities are defined only for cliques containing more than k nodes, and the number of such cliques decreases as k increases.
13
10
Average degree
8
n = 50 n = 100 n = 150 n = 200
6 4 2
0.1 6
0.1 4
Disk radius
0.1 2
0.1 0
0.0 8
0.0 6
0.0 4
0.0 2
0.0 0
0
Figure 5: Mean average degree of random neighbourhood graphs
14
k=2 Radius 0.08 0.09 0.10 0.11 0.12 0.13 0.14
k=3
k=4
y-cut gap
yz-cut gap
z-cut gap
y-cut gap
yz-cut gap
z-cut gap
y-cut gap
yz-cut gap
z-cut gap
0.04 0.05 0.07 0.09 0.11 0.14 0.16
0.01 0.01 0.02 0.02 0.02 0.03 0.04
0.01 0.01 0.01 0.01 0.01 0.03 0.03
0.01 0.01 0.02 0.04 0.05 0.07 0.08
0.01 0.01 0.01 0.03 0.03 0.04 0.04
0.01 0.01 0.01 0.03 0.03 0.04 0.04
0.01 0.01 0.00 0.05 0.02 0.03 0.04
0.01 0.01 0.00 0.05 0.02 0.03 0.04
0.01 0.01 0.00 0.05 0.02 0.03 0.04
Table 1: Average optimality gap at the end of each cutting-plane phase k=2 Radius
15
0.08 0.09 0.10 0.11 0.12 0.13 0.14
k=3
k=4
# y-cuts
# yz-cuts
# z-cuts
# y-cuts
# yz-cuts
# z-cuts
# y-cuts
# yz-cuts
# z-cuts
45.6 72.5 110.0 155.0 198.8 269.9 376.4
1.2 3.1 8.7 17.7 30.9 52.9 87.7
0.4 1.1 3.0 7.4 16.1 24.7 36.1
9.3 18.4 33.0 58.1 85.2 116.0 173.5
0.0 0.0 0.1 0.7 2.4 3.9 8.6
0.0 0.0 0.0 0.2 0.8 1.2 3.0
1.2 3.0 8.0 16.1 27.7 39.5 62.9
0.0 0.0 0.0 0.0 0.0 0.0 0.1
0.0 0.0 0.0 0.0 0.0 0.0 0.0
Table 2: Average number of cuts added to linear relaxation during each cutting-plane phase
16
k=2 Radius 0.08 0.09 0.10 0.11 0.12 0.13 0.14
k=3
k=4
CP time (s)
BB time (s)
CP time (s)
BB time (s)
CP time (s)
BB time (s)
0.01 0.02 0.02 0.02 0.03 0.05 0.09
0.03 0.06 0.13 0.26 1.40 6.70 156.68
0.00 0.00 0.01 0.01 0.01 0.02 0.03
0.01 0.04 0.06 0.21 0.34 4540.86 746.36
0.00 0.00 0.00 0.00 0.00 0.00 0.01
0.00 0.01 0.01 0.05 0.09 0.87 62.28
Table 3: Average cutting plane (CP) and branch-and-bound (BB) times
5.4
Overall algorithm
Finally, we report results obtained with the overall exact algorithm. Table 3 presents the running times of the cutting plane and branch-and-bound phases of the algorithm. As expected, the running time increases as the disk radius increases and the graph becomes more dense. On the other hand, perhaps surprisingly, it decreases as k increases. This is partly because the preprocessing stage removes more nodes and edges when k is larger but also because fewer edge conflicts occur when we use more colours. We also see that, for all values of k and disk radii, the running time of the cutting-plane stage is negligible compared with the running time of the branch-and-bound stage. This is so, despite the fact that we are using enumeration to solve the separation problems exactly.
6
Conclusions
In this paper we have defined and tackled the 2-level graph partitioning problem which, as far as we are aware, has not previously been addressed in the optimization or data-mining literature. Although this model was motivated by a problem in telecommunications it may have other applications, such as in hierarchical clustering. The instances encountered in our application were characterised by small values of k and k 0 , and large, sparse graphs. For instances of this kind, we proposed a solution approach based on aggressive preprocessing of the original graph, followed by a novel multilayered cut-and-branch scheme, which is designed to keep the LP as small as possible at each stage. Along the way, we also derived new valid inequalities and symmetry-breaking constraints. One possible topic for future research is the derivation of additional families of valid inequalities, along with accompanying separation algorithms (either exact or heuristic). Another interesting topic is the “dynamic” version of our problem, in which devices are switched on or off from time to time.
Appendix Proof of Theorem 3.1: For a clique C⊂V let C :C →{0, . . . , kk 0 −1} be a kk 0 -coloring of C. For c=0, . . . , k −1, let Sc denote v ∈C : C(v)∈{c, c+k, . . . , c+(k 0 −1)k} and for c=0, . . . , kk 0 −1 let Wc denote {v∈C : C(v)=c}. Note that, for c=0, . . . , k−1, 0 −1 k[
Wc+tk =Sc .
t=0
Fix c∈{0, . . . , k−1}. By definition we have |Sc | y(Sc )= , 2
17
(19)
and z(Sc )=
0 −1 kX
t=0
Suppose
|Sc |=pc k 0 +rc
where 06rc
rc 2 2 1 0 2 = k pc +2pc rc −k 0 pc 2 1 = 0 k 02 p2c +2k 0 pc rc −k 02 pc 2k 1 = 0 (k 0 pc +r)(k 0 pc +r−1)+k 0 pc +rc −rc2 +k 02 pc 2k 1 1 |Sc | + 0 |Sc |−(k 02 pc +rc2 ) = 0 k 2 2k 1 1 = 0 y(Sc )+ 0 |Sc |− k 0 (|Sc |−rc )+rc2 k 2k 1 1 = 0 y(Sc )− 0 (k 0 −1)|Sc |−rc (k 0 −rc ) . k 2k
Now, z(C)=
k−1 X
z(Sc )
c=0 k−1 X 1
1 y(Sc )− 0 (k 0 −1)|Sc |−rc (k 0 −rc ) > 0 k 2k c=0 ! k−1 X 1 1 0 0 > 0 y(C)− 0 (k −1)|C|− rc (k −rc ) . k 2k
c=0
Pk−1
Pk−1 The last expression is minimized when c=0 rc (k 0−rc ) is minimized. Noting that c=0 rc mod 0 0 k >|C| mod k =R, we see that this expression is minimized when r0 =R and rc =0 for c=1, . . . , k−1. Hence, z(C)>
1 1 y(C)− 0 (k 0 −1)|C|−R(k 0 −R) , 0 k 2k
which is equivalent to the (y, z)-clique inequality (17).
18
Proof of Theorem 3.2: Let R=|C| mod kk 0 . For the case R=0, the z-clique inequality is implied by other z-clique inequalities (see [CR93]). For the cases R=1 and R=kk 0 −1, we show that the associated z-clique inequality is implied by y-clique and (y, z)-clique inequalities. First, suppose that R=1, i.e., that |C|=T kk 0 +1 for some positive integer T . In this case, the z-clique inequality takes the form: T +1 T z(C) > + (kk 0 −1) = k 0 (k/2)(T 2 −T )+T. (20) 2 2 The y-clique inequality on C takes the form: 0 0 k T +1 kT y(C) > + (k−1) = k 0 (k/2)(k 0 T 2 −T )+k 0 T, 2 2 and the (y, z)-clique inequality on C takes the form: 0 k 0 k z(C)−y(C)>−T k =k 0 (k/2)(T −k 0 T ). 2
(21)
(22)
Adding inequalities (21) and (22), and dividing the resulting inequality by k 0 yields the z-clique inequality (20). Second, suppose that R=kk 0 −1, i.e., that |C|=kk 0 T +(kk 0 −1) for some positive integer T . In this case, the z-clique inequality takes the form: T +1 T 0 z(C) > (kk −1)+ = k 0 (k/2)(T +1)T −T. (23) 2 2 The y-clique inequality on C takes the form: 0 0 0 0 T k +k T k +k −1 y(C)> (k−1)+ 2 2 0 0 0 = k (k/2)(T +1)(T k +k −1)−(T k 0 +k 0 −1).
(24)
and the (y, z)-clique inequality on C can be written as follows: 0 0 k k −1 0 k z(C)−y(C)> −(T k+k−1) − 2 2 0 0 = k (k/2)(T +1)(1−k )+(k 0 −1).
(25)
Adding inequalities (24) and (25), and dividing the resulting inequality by k 0 yields the z-clique inequality (23). Proof of Theorem 3.3: It is sufficient to show that for any colouring C:V →{0, . . . , kk 0−1} there exists a objective-preserving permutation σ :{0, . . . , kk 0 −1}→{0, . . . , kk 0 −1} such that φ(σ◦C(v))>v for v=1, . . . , n. (26) 19
By objective-preserving we mean that: c1 mod k=c2 mod k⇐⇒σ(c1 ) mod k=σ(c2 ) mod k
for all 0