The location-dispatching problem: Polyhedral results and content delivery network design

18
Discrete Applied Mathematics 164 (2014) 68–85 Contents lists available at ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam The location-dispatching problem: Polyhedral results and content delivery network design Philippe Chrétienne a , Pierre Fouilhoux a,, Eric Gourdin b , Jean-Mathieu Segura a,b a Laboratoire LIP6, Université Pierre et Marie Curie, 4 place Jussieu 75005 Paris, France b Orange Labs, France Telecom R&D, 38-40 bd du Général Leclerc, 92794 Issy-les-Moulineaux Cedex 9, France article info Article history: Received 15 October 2010 Received in revised form 30 March 2012 Accepted 17 May 2012 Available online 7 June 2012 Keywords: Location Integer program Polytope Branch-and-cut algorithm CDN design abstract Let G = (V , A) be a directed graph and F be a set of items. The Location-Dispatching Problem consists of determining subsets L i F located at nodes i V , minimizing the sum of two costs: a piecewise linear installation cost associated with L i and an access cost for each node of V to reach a copy of each item of F . We formulate this problem as a linear program with binary variables x and integer variables z . We propose a facial study of the associated polytope and we introduce the so-called integrity hop cost inequalities that force z to be an integer as soon as x is binary. Using this, we devise a branch-and- cut algorithm and report some experimental results. This algorithm has been used to solve Content Delivery Network instances in order to optimize a Video On Demand (VoD) system. © 2012 Elsevier B.V. All rights reserved. 1. Introduction The precise study of combinatorial location problems allows to answer many questions arising when one wishes to determine how many equipments to deploy, where to install these equipments and how many items must be dispatched in each of these equipments, in order to satisfy the client requests. Such a location model is, in particular, well designed to analyze situations where the optimal configuration is a compromise between high installation costs (when equipments are located everywhere) and high access costs (when very few equipments are installed and a client is far away from requested items). In this article, we will study a particular location problem to gain some useful insight in the decision process required to deploy a set of storage equipments in a telecommunication network. Let G = (V , A) be a directed graph of n nodes and F be a set of m items. Nodes of graph G represent both the clients and the potential places where copies of each items have to be dispatched. In this paper, an equipment will be able to store at most µ items, with 1 µ m. Such an equipment will be denoted by a µ-batch, that is to say a subset of at most µ items. We will associate with every node i of V a subset of (distinct) items L i F . In order to store subset L i at node i, L i must be partitioned into a minimum number z i of µ-batches. Consequently, z i is required to be an integral multiple of µ. By setting C i R + the installation cost of a µ-batch at node i, the total installation cost of a subset L i is then the piecewise linear function C (L i ) = C i z i , with z i = |L i | µ . Moreover, the total number of µ-batches, iV z i , must be at most p where p is a given integer such that pµ m. Corresponding author. Tel.: +33 1 44 27 87 96; fax: +33 1 44 27 70 00. E-mail addresses: [email protected] (P. Chrétienne), [email protected] (P. Fouilhoux), [email protected] (E. Gourdin), [email protected] (J.-M. Segura). 0166-218X/$ – see front matter © 2012 Elsevier B.V. All rights reserved. doi:10.1016/j.dam.2012.05.001

Transcript of The location-dispatching problem: Polyhedral results and content delivery network design

Page 1: The location-dispatching problem: Polyhedral results and content delivery network design

Discrete Applied Mathematics 164 (2014) 68–85

Contents lists available at ScienceDirect

Discrete Applied Mathematics

journal homepage: www.elsevier.com/locate/dam

The location-dispatching problem: Polyhedral results and contentdelivery network designPhilippe Chrétienne a, Pierre Fouilhoux a,∗, Eric Gourdin b, Jean-Mathieu Segura a,b

a Laboratoire LIP6, Université Pierre et Marie Curie, 4 place Jussieu 75005 Paris, Franceb Orange Labs, France Telecom R&D, 38-40 bd du Général Leclerc, 92794 Issy-les-Moulineaux Cedex 9, France

a r t i c l e i n f o

Article history:Received 15 October 2010Received in revised form 30 March 2012Accepted 17 May 2012Available online 7 June 2012

Keywords:LocationInteger programPolytopeBranch-and-cut algorithmCDN design

a b s t r a c t

Let G = (V , A) be a directed graph and F be a set of items. The Location-DispatchingProblem consists of determining subsets Li ⊆ F located at nodes i ∈ V , minimizing thesum of two costs: a piecewise linear installation cost associated with Li and an accesscost for each node of V to reach a copy of each item of F . We formulate this problem asa linear program with binary variables x and integer variables z. We propose a facial studyof the associated polytope and we introduce the so-called integrity hop cost inequalitiesthat force z to be an integer as soon as x is binary. Using this, we devise a branch-and-cut algorithm and report some experimental results. This algorithm has been used to solveContentDeliveryNetwork instances in order to optimize aVideoOnDemand (VoD) system.

© 2012 Elsevier B.V. All rights reserved.

1. Introduction

The precise study of combinatorial location problems allows to answer many questions arising when one wishes todetermine how many equipments to deploy, where to install these equipments and how many items must be dispatchedin each of these equipments, in order to satisfy the client requests. Such a location model is, in particular, well designed toanalyze situations where the optimal configuration is a compromise between high installation costs (when equipments arelocated everywhere) and high access costs (when very few equipments are installed and a client is far away from requesteditems). In this article, wewill study a particular location problem to gain some useful insight in the decision process requiredto deploy a set of storage equipments in a telecommunication network.

Let G = (V , A) be a directed graph of n nodes and F be a set of m items. Nodes of graph G represent both the clients andthe potential places where copies of each items have to be dispatched.

In this paper, an equipment will be able to store at most µ items, with 1 ≤ µ ≤ m. Such an equipment will be denoted bya µ-batch, that is to say a subset of at most µ items. We will associate with every node i of V a subset of (distinct) itemsLi ⊆ F . In order to store subset Li at node i, Li must be partitioned into a minimum number zi of µ-batches. Consequently, ziis required to be an integral multiple ofµ. By setting Ci ∈ R+ the installation cost of aµ-batch at node i, the total installationcost of a subset Li is then the piecewise linear function C(Li) = Cizi, with zi =

|Li|µ

.

Moreover, the total number of µ-batches,

i∈V zi, must be at most p where p is a given integer such that pµ ≥ m.

∗ Corresponding author. Tel.: +33 1 44 27 87 96; fax: +33 1 44 27 70 00.E-mail addresses: [email protected] (P. Chrétienne), [email protected] (P. Fouilhoux), [email protected] (E. Gourdin),

[email protected] (J.-M. Segura).

0166-218X/$ – see front matter© 2012 Elsevier B.V. All rights reserved.doi:10.1016/j.dam.2012.05.001

Page 2: The location-dispatching problem: Polyhedral results and content delivery network design

P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85 69

We denote by cijf ∈ R+, i ∈ V , j ∈ V , f ∈ F , the access cost for a node j to reach an item f dispatched in the subset Li of anode i. Let di,j ≥ 0, (i, j) ∈ A, be the distance between nodes i and j in the layout graph G. For a given item f ∈ F , the accesscost cijf is proportional to the minimum length from j to i in G and then ciif = 0.The Location-Dispatching Problem (LDP) consists of determining subsets of items Li ⊆ F , i ∈ V , and assigning a node i ∈ V toeach pair (j, f ), j ∈ V , f ∈ F , such that f ∈ Li and

i∈V zi ≤ p, so that the sum of installation and access costs isminimum, i.e.

i∈V

Cizi +j∈V

f∈F

min{cijf | i ∈ V and f ∈ Li}

is minimum.We will call a node i ∈ V median if Li = ∅. In fact, solving an LDP instance will correspond to give to each client j a way toreach a copy of each item among the µ-batches located on median nodes. Notice that a solution must satisfy ∪i∈V Li = Fbut the subsets Li need not to be a partition of F .

Many direct applications of the Location-Dispatching Problem can be found in industry when location, productionallocation and client assignment decisions have to be taken simultaneously. This is the case, for instance, when a companyneeds both to locate new equipments (median nodes) and dispatch the products (items) that should be produced or storedinside each of them,with respect to the cost of the product access for their clients. In this case, in the layout graphG = (V , A),the nodes of V correspond both to the clients and the potential facility locations, and the arcs of A represent the possibleroads between them. Note that if a node cannot support a facility, the cost Ci can be set to a very high value.

In this article, we will focus on an application of the Location-Dispatching Problem to Content Delivery Network (CDN)design [4]. A Content Delivery Network is a system where a particular content (files, videos, etc...) is distributed overseveral interconnected computers and servers instead of being stored in a single central server (in a classical client–serverarchitecture). The objective of such a decentralized structure is to reduce the load on backbone links, possibly avoidingcongestion in bottleneck links around the central server, and, as a result, improve the QoE (Quality of Experience) for theclients. The challenge of CDNs is to distribute efficiently the content as closely as possible to the clients so that their futurerequestswill be fulfilled by these closely located servers. In this case, the layout graphG = (V , A) corresponds to the physicaltelecommunication network where the nodes of V are both clients and potential server locations, and of the arcs of A arethe telecommunications links between them. In particular, a CDN can be used to build a Video on Demand (VoD) systemwhere the videos are replicated and stored on several servers. In fact, an LDP solution corresponds to the decision to locateservers containing copies of the movies of F so that each client has a close access to a copy of each movies. A server on anode can be equipped with several hard-disks, each one of capacity µ. The resulting cost is the sum of the installation costof the servers (µ-batches) and the access cost for each client to reach each movie.

The LDP can be seen as a particular facility location problem. In the well-known Uncapacitated Facility Location Problem(UFLP) (also called Simple Plant Location Problem), some facility locations are to be chosen among a set of candidates andeach customer must be allocated to a facility, in such a way that the total (installation plus allocation) cost is minimized.When m = 1, LDP is exactly UFLP and is then NP-hard [8]. The survey [11] gives integer formulations for several facilitylocation problems when several types of products have to be managed. In this survey, LDP is not introduced but can be seenas a particular case of the so-calledMulti-Product Uncapacitated Facility Location Problem. To the best of our knowledge, LDPwas not treated before in the literature.When the number of facilities is fixed to p, UFLP is then called the p-median problem (PMP) which is also NP-hard [10]. Infact, when m = 1, Ci = 0 and ciif = 0, for i = 1, . . . , n and f = 1, . . . ,m, LDP is exactly the p-median problem. A completepolyhedral and experimental study on the p-median polytope can be found in [5,3].

In the first sectionwewill present themodel and introduce notation, then, in Section 2,wewill devise a linear formulationwith binary variables x and integer variables z. Our polyhedral results are given in Section 3 togetherwith new facet defininginequalities, called integrity hop cost inequalities, that force z to be integer as soon as x is binary. In Section 4, wewill focus ona branch-and-cut algorithm and give some experimental results. In Section 5, we will show how the Location-Dispatchingproblem may be used for solving a CDN design problem.

2. Mathematical model

Let (G, F , p, µ, c, C) be an LDP instance where G = (V , A) is a graph with n nodes, F is a set of m items, µ and p areintegers such that 1 ≤ µ ≤ m and pµ ≥ m, Ci ∈ R+ is the cost of locating a µ-batch of items at node i and cijf ∈ R+ is theaccess cost for a node j to reach an item f dispatched at node i.

We first give a graphical representation of the LDP instance (G, F , p, µ, c, C). Let Kmn the complete directed multi-graph

with n nodes and, for every pair (i, j) ∈ V × V , m parallel arcs. Each arc is labeled with a distinct item f of F . In Kmn , an

arc (i, j, f ), i ∈ V , j ∈ V , f ∈ F , will correspond to a median node i which gives to node j an access to item f . A graphicalrepresentation of an LDP solution can then be represented by a subgraph H(V ,D) of Km

n where, for each node i and eachitem f , there is an unique arc (i, j, f ) that indicates the minimum cost access given by a median node i to node j for the itemf . A loop arc (i, i, f ) in subgraph H then corresponds to the fact that node i has a direct access to item f in its own Li subset.Fig. 1 gives an example of such multi-graph which corresponds to an LDP solution on 5 nodes and 3 items with µ = 2. Inthis solution, there are 3 median nodes indicated by squares and 2 non-median nodes indicated by circles. The solid (resp.

Page 3: The location-dispatching problem: Polyhedral results and content delivery network design

70 P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85

Fig. 1. A multigraph corresponding to an LDP solution on 5 nodes and 3 items.

dashed, dotted) arrows correspond to the arcs (i, j, f1) (resp. (i, j, f2), (i, j, f3)). In fact, subsets Li can be deduced from the arcs.In this example, each of the median nodes 1, 3, 5 contains one µ-batch of 2 items: L1 = {1, 2}, L2 = ∅, L3 = {2, 3}, L4 = ∅and L5 = {1, 2}. Observe that each node receives exactly one access to each item from median nodes.

We now proceed with a 0–1 MIP formulation of the problem.We define xijf to be 1 if node i ∈ V is a median node which gives to node j ∈ V an access to item f ∈ F and 0 otherwise.Moreover, we define zi, i ∈ V , as the number of µ-batches of items assigned to node i. We can notice that variables xijfcorrespond to the arcs (i, j, f ) of the multi-graph Km

n .The Location-Dispatching Problem can be formulated as follows:

mini∈V

Cizi +i∈V

j∈V

f∈F

cijf xijf

s.t.l∈V

xlif = 1 ∀i ∈ V ,∀f ∈ F (1)

xijf ≤ xiif ∀i ∈ V ,∀j ∈ V ,∀f ∈ F (2)f∈F

xiif ≤ µzi ∀i ∈ V (3)

i∈V

zi ≤ p (4)

0 ≤ xijf ≤ 1, zi ≥ 0 ∀i ∈ V ,∀j ∈ V ,∀f ∈ F (5)

xijf ∈ {0, 1}, zi ∈ N ∀i ∈ V ,∀j ∈ V ,∀f ∈ F . (6)

Constraints (1) ensure that each client is connected to exactly one server for each item. Constraints (2) ensure that anaccess to an item f may be given by a node i to a node j only if f ∈ Li. Constraints (3) ensure that the number of itemsheld at a node i is at most |Li| = µzi. Constraints (6) imply that the number of subsets of µ items at node i is an integer,consequently, the maximum number of items held at a node is a multiple of µ. Constraint (4) ensures that the number ofµ-batches of items in a solution is at most p. Finally, the objective function is the sum of the installation costs of the sets Liand of the access costs.

Given a solution (x, z) of the formulation, one can construct an LDP solution where each pair (j, f ), j ∈ V , f ∈ F , isassigned to a node i of V whenever xijf = 1. This in particular implies that Li = {f ∈ F | xiif = 1}. Clearly, if in this solution|Li| < µzi ≤ m for some node i ∈ V , we then obtain a solution with lower cost by replacing the arc (j, i, f ) by arc (i, i, f )for some pair (j, f ) with f ∈ Li, since 0 = ciif < cjif . This means that we replace xiif = 0 by xiif = 1 and xjif = 1 byxjif = 0. Consequently, in any optimal solution (x, z) of LDP, |Li| = µzi whenever µzi ≤ m, and |Li| < µzi only if µzi > m.Unfortunately, one cannot deduce from this remark that |Li| = µzi for every optimal solution (and consequently inequalities(3) cannot be replaced by equalities). In fact, µzi can be strictly greater thanmwhenm is not a multiple of µ so that, in thiscase |Li| is strictly smaller than µzi.In the particular casewhenm is amultiple ofµ, inequalities (3) can be replaced by equalities. In this particular case, variableszi cannot be directly eliminated from the model because they are necessary to express the fact that these variables (or theirequivalent expressions) are integer values. However, we can notice that

ni=1 xiif can only be equal to one value of the

sequence s = (0, µ, 2µ, 3µ, . . . ,m). Consequently, in this particular case, variables zi can then be rid of by introducing theso-called forbidden cardinaliy inequalities [12,6,9,13] which force

ni=1 xiif to be equal to one of the values of s.

When Ci = 0 for every i ∈ V and m = 1 (and then µ = 1), variable zi can be directly eliminated: in fact, in this case, LDP isexactly the p-median problem and the resulting mathematical formulation is exactly the formulation proposed in [5].In the sequel,m will not be a multiple of µ and we will need to consider both variables x and z.

Page 4: The location-dispatching problem: Polyhedral results and content delivery network design

P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85 71

3. Polyhedral analysis

In this section, we present a polyhedral analysis of the convex hull of the solutions of the LDP. We first project out somevariables so that the associated polytope is of full dimension. Clearly, for f ∈ F , variables xiif , ∀i ∈ V , can be deleted bysubstituting xiif = 1 −

l=i xlif . Since ciif = 0, i ∈ V , f ∈ F , constraint (1) can be removed and we get the equivalent

formulation:

mini∈V

Cizi +i∈V

j∈V\{i}

f∈F

cijf xijf

s.t. xijf +

l∈V\{i}

xlif ≤ 1 ∀i ∈ V ,∀j ∈ V \ {i},∀f ∈ F (7)

j∈V\{i}

f∈F

xjif + µzi ≥ m ∀i ∈ V (8)

i∈V

zi ≤ p (9)

xijf ≥ 0 ∀i ∈ V ,∀j ∈ V \ {i},∀f ∈ F (10)xijf ∈ {0, 1}, zi ∈ N ∀i ∈ V ,∀j ∈ V \ {i},∀f ∈ F .

Inequalities (7) will be called clique inequalities (since the line graph corresponding to their support graph are cliques).Inequalities (8) are called cost inequalities since they are necessary to link the assignment variables xijf with cost variableszi. The inequality (9) will be referred as the p-facility inequality and inequalities (10) are called trivial inequalities.Notice that inequalities xijf ≤ 1, i ∈ V , j ∈ V \ {i}, f ∈ F , are dominated by clique inequalities and can then be removed fromthe formulation. Moreover, given i ∈ V , since

f∈F

j∈V\{i} xjif ≤ m, inequality zi ≥ 0 is implied by the cost inequality

j∈V\{i}

f∈F xjif + µzi ≥ m.Let X = {(x, z) ∈ {0, 1}n(n−1)m × Nn

: (x, z)satisfies (7)–(10)}. The convex hull of X will be denoted by P and called theLocation-Dispatching Polytope.

In order to give a short description of an LDP solution, we first introduce a useful notation. An LDP solution S is given bysubsets LSi , i ∈ MS , where MS is the median set of S and a set K S of triplets (i, j, f ) ∈ V × V × F which corresponds to theaccess to item f given by node i to node j. The solution S then corresponds to the incidence vector defined by

xSijf = 1 if (i, j, f ) ∈ K S and xSijf = 0 otherwise,

zSi =|LSi |µ

if i ∈ MS and zSi = 0 otherwise.

In the sequel, we will use the following notation to describe solution S:

S =xijf = 1,∀(i, j, f ) ∈ K S

; zi =|LSi |µ

,∀i ∈ MS

; Li = LSi ,∀i ∈ MS

that is to say that we will omit 0-values and empty sets.

3.1. Dimension of P

We first investigate the dimension of P and study the inequalities of the integer formulation. We assume that |V | ≥ 3,m ≥ 2 and (p− 1)µ ≥ m. In the other cases, the inequalities are still valid but might not define facets.

We first need to introduce some notation. We denote by Ir the r × r identity matrix and by Er (resp. Or ) the r × r matrixof all ones (resp. zeros). We will denote by A′i a matrix of n columns and n−1 rows constructed from In−1 by inserting a newith column containing only p− 1 and by Ai the matrix which is a column ofm matrices A′i , i.e.

A′i =

1 · · · 0 p− 1 0 · · · 0

0. . . 0 p− 1 0 · · · 0

0 · · · 1 p− 1 0 · · · 00 · · · 0 p− 1 1 · · · 0

0 · · · 0 p− 1 0. . . 0

0 · · · 0 p− 1 0 · · · 1

Ai =

A′iA′i...

A′iA′i

.

Theorem 3.1. P is full dimensional, i.e. dim(P ) = n(n− 1)m+ n.

Page 5: The location-dispatching problem: Polyhedral results and content delivery network design

72 P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85

Proof. To show that dim(P ) = n(n − 1)m + n, we will exhibit n(n − 1)m + n + 1 affinely independent solution vectorsof P .Let i0 ∈ V . We start by constructing (n− 1)m solutions. Let j0 be a node distinct from i0 and f0 ∈ F , let us consider

S j0,f0i0= (xi0,j,f = 1,∀(j, f ) = (j0, f0); zi0 = p− 1, zj0 = 1; Li0 = F , Lj0 = {f0}).

We can easily remark that S j0,f0i0is an LDP solution. This solution is illustrated on Fig. 2 which represents an instance with

three items, using the same notation as those of Fig. 1. In fact, this solution can be described as follows: since (p− 1)µ ≥ m,node i0 can contain all items and is then able to give an access to each item f = f0 to every node j = j0 of V . Moreover, sinceLj0 = {f0}, then node j0 receives from i0 an access to item f = f0.

In order to describe the incidence vectors associated with solutions, we will sort their rows according to the followingvariable order: variables xijf ’s are given before variables zi’s; xijf is given before xi′j′f ′ if (i < i′) or (i = i′, f < f ′) or(i = i′, f = f ′, j < j′).

Let T j0,f0i0

be the incidence vector of S j0,f0i0. We consider matrices M ′i0,i, i ∈ V , whose rows correspond to vectors T j,f

i0,

j ∈ V \ {i0}, f ∈ F , and whose columns correspond to variables xijf , j ∈ V \ {i}, f ∈ F . Clearly, if i0 = i, M ′i0,i = O(n−1)m.

Moreover, it can be easily seen that M ′i0,i0 = (E − I)(n−1)m. Finally, for variables zi, i ∈ V , the coefficients of vectors T j,fi0

,j ∈ V \ {i0} and f ∈ F form the matrix Ai0 .Thus, the matrixMi0 = (M ′i0,1M

i0,2· · ·M ′i0nAi0) is the matrix of order (n− 1)m× (n(n− 1)m+ n) of the incidence vector of

T j,fi0

, j ∈ V \ {i0} and f ∈ F , i.e.

Mi0 =O(n−1)m · · ·O(n−1)m (E − I)(n−1)m O(n−1)m · · ·O(n−1)m | Ai0

where (E − I)(n−1)m is matrix Mi0,i0 .For i0 = 1, . . . , n, we have then described n(n− 1)m solutions. We will now add n more solutions Si, i ∈ V , so that

Si = (xijf = 1,∀j = i,∀f ∈ F; zi = p; Li = F).

The incidence vectors of solutions Si, i ∈ V , corresponds to the following matrix

T =

1 · · · 1 0 · · · 0 · · · 0 · · · 0 |

0 · · · 0 1 · · · 1 · · · 0 · · · 0 |

......

. . . 0 · · · 0 |

0 · · · 0 0 · · · 0 · · · 1 · · · 1 |

p 0 · · · 00 p · · · 0...

.... . .

...0 0 · · · p

.

Finally, we give a last solution

S0 = (x1jf = 1,∀j = 1,∀f ∈ F; z1 = p− 1; L1 = F)

whose incidence vector is

T0 =1 · · · 1 0 · · · 0 · · · 0 · · · 0 | p− 1 0 · · · 0

.

We then obtain a matrixM which is a column of matricesM1,M2, . . . ,Mn, T , T0, i.e.

M =

(E − I)(n−1)m · · · O(n−1)m |

.... . .

... |

O(n−1)m · · · (E − I)(n−1)m |

1 · · · 1 · · · 0 · · · 0 |

.... . .

... |

0 · · · 0 · · · 1 · · · 1 |

1 · · · 1 · · · 0 · · · 0 |

A1...An

p · · · 0...

. . ....

0 · · · pp− 1 · · · 0

.

Let us associate scalars with each vectors described above: λj,fi with vectors T j,f

i , i ∈ V , j ∈ V \ i, f ∈ F and σi with vectorsTi, i = 0, . . . , n. We then consider the linear system

ijf

λj,fi T j,f

i +

ni=0

σiTi = 0 (11)

andijf

λj,fi +

ni=0

σi = 0. (12)

Page 6: The location-dispatching problem: Polyhedral results and content delivery network design

P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85 73

Fig. 2. Solution S j0,f0i0

for an LDP instance with three items.

In order to prove that these incidence vectors are affinely independent, we want to prove that every scalar is equal to zero.Let i0 ∈ V \{1}. Let us then first consider (j0, f0) and (j1, f1) be two pairs of V \{i0}×F . According to the Eq. (11) for variablesxi0,j0,f0 and xi0,j1,f1 , we obtain the two following equalities

(j,f )=(j0,f0)

λj,fi0+ σi0 = 0 and

(j,f )=(j1,f1)

λj,fi0+ σi0 = 0.

We then can deduce that

(j,f )=(j0,f0)λj,fi0=

(j,f )=(j1,f1)

λj,fi0

and hence λj0,f0i0= λ

j1,f1i0

. By letting λi0 = λj0,f0i0

, we then get

λj,fi0= λi0 for every j ∈ V \ {i0} and f ∈ F .Similarly, considering the coefficient of variables x1jf , j ∈ V \ {1}, f ∈ F , we can show that there exists λ1 such that

λj,f1 = λ1 for every j ∈ V \ {1} and f ∈ F .

Moreover, we then obtain the equalities

σi = − ((n− 1)m− 1) λi, ∀i ∈ V \ {1}and σ0 + σ1 = − ((n− 1)m− 1) λ1.

(13)

Let us now consider the equation obtained from (11) for variable zi0 , i0 ∈ V \ {1}, i.e.

(n− 1)m(p− 1)λi0 + (n− 1)mi=i0

λi + pσi0 = 0.

Using (13), we then get (p− (n− 1)m)λi0 + (n− 1)m

i=i0λi = 0.

Consequently, given i0, i1 ∈ V \ {1}, we get

(p− (n− 1)m)λi0 + (n− 1)mi=i0

λi = (p− (n− 1)m)λi1 + (n− 1)mi=i1

λi.

By letting λ = λi0 , we can then deduce that λi = λ, for every i ∈ V \ {1}.

Finally, from equality (12), we get n(n−1)mλ+n

i=2 σi+σ1+σ0 = 0. Consequently, from equalities (13), we deduce thatλ = σi = 0, i = 2, . . . , n and σ0 + σ1 = 0.Finally, by considering the equation of the linear systemcoming fromcoefficients of variable z1, we obtain (p−1)σ0+pσ1 = 0and then σ1 = σ0 = 0.Then the incidence vectors of the n(n− 1)m+ n+ 1 solutions are affinely independent and then P is full dimensional. �

3.2. Clique, cost and trivial inequalities

In order to determinewhether if the inequalities (7)–(10) can be lifted or not, wewill try to show if they are facet definingfor P . We first consider the p-facility inequality.

Corollary 3.2. If (p− 1)µ ≥ m, then the p-facility inequality (9) is facet defining for P .

Proof. In proof of Theorem 3.1, we have exhibited solutions S j,fi , ∈ V , j ∈ V \ {i}, f ∈ F and solutions Si, i ∈ v which satisfiesinequality (9) to equality. Since we have shown that the associated vectors of these n(n − 1)m + n solutions are affinelyindependent, inequality (9) defines a facet of P . �

Page 7: The location-dispatching problem: Polyhedral results and content delivery network design

74 P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85

We can now state that clique inequalities are facet-defining.

Theorem 3.3. The clique inequalities (7) are facet defining for P .

Proof. Let i0 ∈ V , j0 ∈ V \ {i0} and f0 ∈ F . Let us denote by ax + bz ≤ α the clique inequality xi0j0f0 +

l∈V\{i0}xli0f0 ≤ 1.

We suppose that solutions (x, z) of {(x, z) ∈ P | ax+ bz = α} also satisfy a′x+ b′z = α′. We first use Claim 1 to show thisinequality to be facet defining for P .

Claim 1. Let ax+ bz ≥ α (resp. ax+ bz ≤ α) be a valid inequality for P . Suppose that there exists an inequality a′x+ b′z ≥ α′

(resp. a′x + b′z ≤ α′) that defines a facet of P such that {x ∈ P | ax + bz = α} ⊂ {x ∈ P | a′x + b′z = α′}. Since,by Theorem 3.1, P is of full dimension, if there is λ > 0 such that (a′, b′) = λ(a, b), then ax + bz ≥ α (resp. ax + bz ≤ α) isfacet defining for P . �

Let i1 ∈ V \ {i0}. We first consider the two solutions

S1 = (xi0jf = 1,∀(j, f ) ∈ (V \ {i0})× F; zi0 = p− 1; Li0 = F)

and S ′1 = (S1; zi1 = 1; Li1 = ∅).

Since xS1i0j0f0 = xS′1i0j0f0= 1, S1 and S ′1 verify ax + bz ≤ α to equality. We can remark that both (x, z)S1 and (x, z)S

′1 verify

ax + bz ≥ α to equality, i.e. axS1 + bzS1 = α and axS′1 + bzS

′1 = α. Then we will use Claim 2 with respect to solutions S1

and S ′1.

Claim 2. Let us consider two solutions S and S ′ such axS + bzs = α and axS′

+ bzS′

= α. Then, by definition, both vectors alsoverify a′x+ b′y ≥ α′ with equality, and, consequently, a′(xS − xS

)+ b′(zS − zS′

) = 0. �

Similarly, by considering solution S ′′1 = (S1; zi0 = p), we obtain that b′i0 = 0.

Let i2 ∈ V \ {i0}, j2 ∈ V \ {i0, i1} and f2 ∈ F . Considering the two solutions

S2 = (xi2jf = 1,∀(j, f ) ∈ ((V \ {i2})× F) \ {(j2, f2)}; zi2 = p− 1, zj2 = 1; Li2 = F , Lj2 = {f2})and S ′2 = (S2; xi2j2f2 = 1),

using Claim 2, we get that a′ijf = 0, ∀i ∈ V \ {i0}, j ∈ V \ {i0, i}, f ∈ F .Let j3 ∈ V and f3 ∈ F \ {f0}. Considering the two solutions

S3 = (xi0jf = 1,∀(j, f ) ∈ ((V \ {i0})× F) \ {(j3, f3)}; zi0 = p− 1, zj3 = 1; Li0 = F , Lj3 = {f3})and S ′3 = (S3; xi0j3f3 = 1),

using Claim 2, we get that a′i0jf = 0, ∀j ∈ V \ {i0}, f ∈ F \ {f0}.

Let j4 ∈ V \ {i0, j0}. Considering the two solutions

S4 = (xi0jf = 1,∀(j, f ) ∈ V \ {i0} × F \ {f0}, xj4jf0 = 1,∀j ∈ V \ {j4}; zi0 = p− 1, zj4 = 1; Li0 = F , Lj4 = {f0})and S ′4 = (S4; xi0j0f0 = 1, xj4j0f0 = 0; xj4 i0f0 = 0),

using Claim 2, we get that a′i0j0f0 = a′j4j0f0 + a′j4 i0f0 . And then a′i0j0f0 = a′ji0f0 , ∀j ∈ V \ {i0, j0}.

Let j5 ∈ V \ {i0, j0}. Considering the two solutions

S5 = (xj5jf = 1,∀(j, f ) ∈ ((V \ {i0})× F) \ {j0, f0}; zj5 = p− 1, zj0 = 1; Lj5 = F ,= Lj0 = {f0})and S ′5 = (S5; xj5i0f0 = 0, xj0 i0f0 = 1),

using Claim 2, we deduce that a′j0i0f0 = a′ji0f0 , ∀j ∈ V \ {i0, j0}.

Letting λ = a′i0j0f0 , we have shown that (a′, b′) = λ(a, b). Moreover, by considering solutions S ′1 and S ′′1 with i1 = i0 suchthat

S ′′1 = (S ′′1 ; zi1 = 1, Li1 = {f0}, xi1j0f0 = 1, xi0j0f0 = 0),

we can deduce that a′i0j0f0 ≥ 0. Since a′x + b′z ≤ α is facet-defining, λ > 0. Then, using Claim 1, inequality ax + by ≤ α isfacet defining for P . �

In order to prove that cost inequalities are facet defining for P , we first give a technical lemma.

Lemma 3.4. If ax+ bz ≥ α is a facet of P different from the p-facility inequality (9), then bi ≥ 0∀i ∈ V .

Page 8: The location-dispatching problem: Polyhedral results and content delivery network design

P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85 75

Proof. Since inequality ax + bz ≥ α is different from constraint

i∈V zi ≤ p, there must exist a solution S such thataxS + bzS = α and

i∈v zi < p, i.e.

i∈v zi ≤ p− 1. Given i ∈ V , we consider the following solution

S ′ = (S; zi = zSi + 1).

Since S ′ is still a solution of P , we thus have that axS′

+ bzS′

≥ α. As axS′

+ bzS′

= axS + bzS + bi, we finally have thatbi ≥ 0. �

Theorem 3.5. The cost inequalities (8) are facet defining for P .

Proof. Let i0 ∈ V . Let us denote by ax + bz ≥ α the cost inequality

j∈V\{i0}

f∈F xji0f + µzi0 ≥ m. We suppose thatsolutions (x, z) of {(x, z) ∈ P | ax+ bz = α} also satisfy a′x+ b′z = α′. Using Claim 1, we want to prove that a′x+ b′z ≥ α′

is a multiple of ax+ bz ≥ α.

Here, we will use the notation ρ =

.

Let F1 ⊂ F such that |F1| = m− (ρ − 1)µ and let i1 ∈ V \ {i0}. Since 1 ≤ m− (ρ − 1)µ ≤ µ, F1 can be contained into onlyone µ-batch. We will consider the solution

S1 = (xi0jf = 1,∀(j, f ) ∈ (V \ {i0})× (F \ F1), xi1jf = 1,∀(j, f ) ∈ (V \ {i1})× F1; zi0 = ρ − 1; zi1 = 1; Li0 = F \ F1, Li1 = F1).

Let i′1 ∈ V \ {i0, i1} and let us consider the solution

S ′1 = (S1; zi′1 = 1; Li′1 = ∅).

By hypothesis, (p − 1)µ ≥ m and thus ρ + 1 ≤ p and, consequently, S1 and S ′1 are both solutions of P . Moreover, sincej∈V\{i0}

f∈F x

S1ji0f= |F1|, S1 and S ′1 verify ax+ bz = α. Using Claim 2, we deduce that b′i = 0, ∀i ∈ V \ {i0}.

Let i2 ∈ V \ {i0, i1} and f2 ∈ F \ F1. Let us consider the solution

S2 = (S1; xi0 i2f2 = 0; zi2 = 1; Li2 = {f2}).

Using Claim 2 w.r.t. S1 and S2, we get that a′i0jf = 0, ∀j ∈ V \ {i0}, f ∈ F .

Let i3 ∈ V \ {i0, i1} and f3 ∈ F1. Let us consider the solution

S3 = (S1; xi1 i3f3 = 0; zi3 = 1; Li3 = {f3}).

Using Claim 2 w.r.t. S1 and S3, we get that a′ijf = 0, ∀i ∈ V \ {i0}, j ∈ V \ {i0, i}, f ∈ F .

Let i4 ∈ V \ {i0, i1} and f4 ∈ F1. Let us consider the solution

S4 = (S1; xi1i0f4 = 0, xi4i0f4 = 1, xi1 i4f0 = 0; zi4 = 1; Li4 = {f4}).

By letting λ = a′i1 i0f4 , using Claim 2 w.r.t. S1 and S4, we get that a′ji0f = λ, ∀j ∈ V \ {i0}, f ∈ F .

Let i5 ∈ V \ {i0, i1} and K ⊂ F \ F1 such that |K | = µ. Let us consider the solution

S5 = (S1; xi0jf = 0,∀j ∈ (V \ {i0})× K , xi5jf = 1,∀j ∈ (V \ {i5})× K ;zi0 = ρ − 2; zi5 = 1; Li0 = F \ (F1 ∪ K); Li5 = K).

Since

j∈V\{i0}

f∈F xS5ji0f= |F1| +µ, then S5 is still a solution that verify ax+ bz = α. Using Claim 2 w.r.t. S1 and S5, we get

that j∈V\{i0}

f∈K

a′i0jf + (ρ − 1)b′i0 =

j∈V\{i5}

f∈K

a′i5jf + (ρ − 2)b′i0 + b′i5 .

Since

j∈V\{i5}

f∈K a′i5jf =

f∈K a′i5 i0f = µλ, we thus deduce that b′i0 =

f∈K a′i5 i0f = µλ.

Since b′i = 0, ∀i ∈ V \ {i0}, ax + bz ≥ α is distinct from p-facility inequality (9). Then, from Lemma 3.4, b′i0 ≥ 0 and thusλ ≥ 0. Moreover, since ax+ bz ≥ α is facet defining then λ = 0. We then have shown that (a′, b′) = λ(a, b) and, finally, byClaim 1, inequality (8) is facet defining for P . �

With similar arguments, we can finally prove the following theorem.

Theorem 3.6. The trivial inequalities (10) are facet defining for P .

Page 9: The location-dispatching problem: Polyhedral results and content delivery network design

76 P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85

Fig. 3. Fractional extreme point of the relaxation.

3.3. Integrity hop cost inequalities

In this section, we introduce a new family of facet defining inequalities called the integrity hop cost (IHC) inequalities.We first give an example of a fractional solution and an IHC inequality that cuts off this solution.

Let us consider an instance of our problem with 4 nodes and 3 items. The value of µ is 2, and we want to locate2 µ-batches. Fig. 3 presents a fractional extreme point of the relaxation of the integer formulation (6)–(10). In this solution,x′ijf s variables are all binary and are indicated by the arcs of the figure. However zi’s are fractional: z1 = 3

2 , z2 =12 ,

z3 = z4 = 0. On the figure, a fractional value for a variable zi corresponds to a gray circle associated with node i ∈ V .

In order to simplify the inequalities of this section, we will add variables xiif = 1−

l=i xlif , i ∈ V , f ∈ F .

Let i ∈ V , k ∈ {0, . . . ,

} and Γ ⊂ F with |Γ | = kµ+ 1. The inequality

zi ≥f∈Γ

xiif − k(µ− 1) (14)

is called an Integrity Hop Cost (IHC) inequalities.Considering the example of Fig. 3, we can notice that there exist two IHC inequalities that cut the fractional extreme point

shown: z1 ≥ x111 + x112 + x113 − (µ− 1) and z2 ≥ x223. Moreover, from the following theorem based on Chvátal–Gomoryprocedure, these inequalities are valid for P .

Theorem 3.7. The IHC inequalities (14) are valid for P .

Proof. Let i ∈ V , k ∈ {0, . . . ,

} and Γ ⊂ F with |Γ | = kµ + 1. We first multiply by 1

µthe cost inequality (3) that we

get from the initial formulation, i.e.

f∈F xiif ≤ µzi. We then consider

−1µ

f∈F\Γ

xiif ≤ 0 andµ− 1

µ

f∈Γ

xiif ≤µ− 1

µ|Γ |

that are easily obtained from trivial inequalities. After summation, we getf∈Γ

xiif ≤ zi +µ− 1

µ|Γ | = zi + k(µ− 1)+ 1−

.

Since

f∈Γ xiif − zi is integer, we thus havef∈Γ

xiif − zi ≤k(µ− 1)+ 1−

= k(µ− 1).

and we finally get the required inequality. �

Theorem 3.8. Let us suppose that (p− 2)µ ≥ m. The IHC inequalities (14) are facet defining for P if and only if µ ≥ 2.

Proof. Let i0 ∈ V , k ∈ {0, . . . ,

} and Γ ⊂ F with |Γ | = kµ + 1. From the proof of Theorem 3.7, We can first remark

that, if µ = 1, (14) are directly obtained by summing valid inequalities. We now suppose that µ ≥ 2.We rewrite inequality (14) by replacing variables xiif , ∈ V , f ∈ F , by 1−

l=i xlif , we then obtain

zi0 +

j∈V\{i0}

f∈Γ

xji0f ≥ k+ 1

and we will denote by ax + bz ≥ α this inequality. We suppose that solutions (x, z) of {(x, z) ∈ P | ax + bz = α} alsosatisfy a′x+ b′z = α′. Using Claim 1, we want to prove that a′x+ b′z ≥ α′ is a multiple of ax+ bz ≥ α.

Page 10: The location-dispatching problem: Polyhedral results and content delivery network design

P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85 77

In the following, We will denote Γ c= F \ Γ .

Let i1 ∈ V \ {i0}. Since (p− 2)µ ≥ m, Γ c can be contained into p− 1− (k+ 1)µ-batches. Thus vector

S1 = (xi0jf = 1,∀(j, f ) ∈ (V \ {i0})× Γ , xi1jf = 1,∀(j, f ) ∈ (V \ {i1})× Γ c;

zi0 = k+ 1, zi1 = p− 1− (k+ 1); Li0 = Γ , Li1 = Γ c)

is a solution of P and moreover S1 satisfies ax+ bz = α.

Since (p − 1)µ ≥ m, S ′1 = (S1; zi1 = p − (k + 1)) is also a solution of P and, using Claim 2 w.r.t. S1 and S ′1, we get thatb′i = 0, ∀i ∈ V \ {i0}.

Let f1 ∈ Γ c . Since µ ≥ 2,

S ′′1 = (S1; xi1 i0f1 = 0; Li0 = Γ ∪ {f1})

is a solution of P . Using Claim 2 w.r.t. S1 and S ′′1 , we get that a′ii0f = 0, ∀i ∈ V \ {i0}, f ∈ Γ c .

Let j2 ∈ V \ {i0, i1} and f2 ∈ Γ . Using Claim 2, considering solution

S2 = (S1; xi0j2f2 = 0; zj2 = 1; Lj2 = {f2})

together with S1, we get that a′i0jf = 0, ∀j ∈ V \ {i0}, f ∈ Γ .

Let j3 ∈ V \ {i0, i1} and f3 ∈ Γ c . Considering the two solutions S1 and

S3 = (S1; xi1j3f3 = 0; zj3 = 1; Lj3 = {f3}),

using Claim 2, we get that a′ijf = 0, ∀i ∈ V \ {i0}, j ∈ V \ {i0, i}, f ∈ Γ c .

Let j4 ∈ V \ {i0, i1} and f4 ∈ Γ c . Considering the two solutions S1 and

S4 = (S1; xi1j4f4 = 0, xi1 i0f4 = 0, xi0j4f4 = 1; Li0 = Γ ∪ {f4}),

using Claim 2, we get that a′i0jf = 0, ∀j ∈ V \ {i0}, f ∈ Γ c .

Let f5 ∈ Γ . Let i5 ∈ V \ {i0} and j5 ∈ V \ {i0, i5}. Considering the two solutions

S5 = (xi0jf = 1,∀j ∈ (V \ {i0})× (Γ \ {f5}), xi5jf = 1,∀j ∈ ((V \ {i5})× (Γ c∪ {f5})) \ {(j5, f5)};

zi0 = k, zi5 = p− 1− k, zj5 = 1; Li0 = Γ \ {f5}, Li5 = Γ c∪ {f5}, Lj5 = {f5}),

and S ′5 = (S5; xi5 i0f5 = 0, xj5 i0f5 = 1)

which satisfy both ax+ by = α. Using Claim 2, we get that a′i5i0f5 = a′j5i0f5 . Given f ∈ Γ , by letting λf = a′i5 i0f , we obtaineda′ii0f = λf , ∀i ∈ V \ {i0}.

Let i6 ∈ V \ {i0} and f6, f ′6 ∈ Γ . Considering the two solutions

S6 = (xi0jf = 1,∀j ∈ (V \ {i0})× (Γ \ {f6}); xi6jf = 1,∀(V \ {i6})× (Γ c∪ {f6});

zi0 = k, zi6 = p− 1− k; Li0 = Γ \ {f6}, Li6 = Γ c∪ {f6}),

S ′6 = (xi0jf = 1,∀j ∈ (V \ {i0})× (Γ \ {f ′6}); xi6jf = 1,∀(V \ {i6})× (Γ c∪ {f ′6});

zi0 = k, zi6 = p− 1− k; Li0 = Γ \ {f ′6}, Li6 = Γ c∪ {f ′6}),

using Claim 2, we get thatj∈V\{i0}

a′i0jf ′6+

j∈V\{i6}

a′i6jf6 =

j∈V\{i0}

a′i0jf6 +

j∈V\{i0}

a′i0jf ′6

and thus a′i5 i0f6 = a′i5 i0f ′6. By letting λ = λf6 , we obtained that a′ii0f = λ, ∀i ∈ V \ {i0}, f ∈ F .

Let us consider the solution

S ′′6 = (S6; xi6 i0f6 = 0; zi0 = k+ 1; Li0 = Γ ),

using Claim 2, we get b′i0 = a′i6i0f6 . We then obtained that b′i0 = λ.

Consequently, we have obtained that (a′, b′) = λ(a, b) with λ = b′i0 . Since a′x + b′z ≥ α′ is a facet defining inequalitydifferent from p-facility inequality, then by Lemma 3.4, λ ≥ 0 and then λ > 0. From Claim 1, IHC inequality is facet definingfor P . �

Page 11: The location-dispatching problem: Polyhedral results and content delivery network design

78 P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85

3.4. Integrality of variables z

In this section, we will discuss about the integrality of variables z. In fact, these variables are introduced in the integerformulation in order to calculate the piecewise linear cost. It will be interesting that when x is an integer value, variablez are also integer. Unfortunately, as we can see on the fractional extreme point presented in the previous section, this isnot always the case. In fact, the following theorem will show that IHC inequalities cut off all this type of fractional extremepoints.

Theorem 3.9. Let F be a linear program containing inequalities (1)–(5) and additional inequalities ax ≥ α that are valid for P .Let (x∗, z∗) be an extreme point of F such that x∗ijf ∈ {0, 1}∀i ∈ V , j ∈ V \ {i},∀f ∈ F . If all IHC inequalities are satisfied, thenz∗i is integer ∀i ∈ V .

Proof. Let i0 ∈ V be a node so that z∗i0 is fractional. Since (x∗, z∗) is an extreme point of F , there must exist an inequalityax+ bz ≥ α of F so that bi0 = 0 and ax∗ + bz∗ = α.Let us consider that ax + bz ≥ α is the p-facility inequality. In this case, since

inV z∗i =, there must exist i1 ∈ V \ {i0}

so that z∗i1 is fractional and then there exists another inequality a′x + b′z ≥ α′ of F where bi1 = 0 and a′x∗ + b′z∗ = α′.Consequently, we can assume that ax+ bz ≥ α is different from the p-facility inequality.By hypothesis, ax+ bz ≥ α is either a trivial, a cost or an IHC inequality.If ax + bz ≥ α is the trivial inequality zi ≥ 0, then z∗i0 is obviously integer, a contradiction. Similarly, if ax + bz ≥ α isan IHC inequality, then z∗i0 is a sum of x∗ijf ’s variables which are all integers by hypothesis. Consequently, z∗i0 is integer, acontradiction.Let us now assume that ax+ bz ≥ α is the cost inequality

f∈F xi0 i0f ≤ µzi0 . Let ∆ = {f ∈ F | x∗i0 i0f = 1}. Since x∗i0 i0f are all

integers, we have

f∈F x∗

i0 i0f= |∆|. Moreover, as the cost inequality is tight for (x∗, z∗), we then have z∗i0 =

|∆|

µ.

Let us denote k =|∆|

µ

. Given a set Γ ⊂ ∆ such that |Γ | = kµ+ 1, we consider the IHC inequality associated with i0 and

Γ , i.e.

zi0 ≥f∈Γ

xi0i0f − k(µ− 1).

Since

f∈Γ xi0 i0f = |Γ |, we then obtain: |∆|µ≥ ⌊

|∆|

µ⌋+1, which is a contradiction with the fact that there exists no violated

IHC inequality. �

In practice, for a branch-and-cut based algorithm using only inequalities (1)–(5) and IHC inequalities, we can remarkthat, by Theorem 3.9, it is sufficient to branch only on x variables. From our experimental results, we can conjecture that theresult of Theorem 3.9 should be generalized to every linear program containing valid inequalities of P .

It will very interesting to devise a polynomial time separation procedure for IHC inequalities. We will give in the nextsection this separation algorithm in a more general framework.

3.5. Generalized integrity hop cost inequalities

Let k ∈ {0, . . . , ⌊mµ⌋} and Γ ⊂ F with |Γ | = kµ + 1. Let W ⊂ V such that ∅ = W = V . Let ω : Γ → W be a function

which associates a node ofW to every item f ∈ Γ .We call Generalized Integrity Hop Cost (GIHC) inequalities an inequality of the form:

i∈W

zi ≥f∈Γ

i∈W

xiω(f )f − k(µ− 1), (15)

Theorem 3.10. The GIHC inequalities (15) are valid for P .

Proof. Let k ∈ {0, . . . , ⌊mµ⌋} and Γ ⊂ F with |Γ | = kµ + 1. Let W ⊂ V such that ∅ = W = V . Let ω : Γ → W be a

function. We first sum the cost inequalities

f∈F xiif ≤ µzi,∀i ∈ W , we then obtain

µi∈W

zi ≥f∈F

i∈W

xiif .

We then add trivial inequalities 0 ≥ −xiif , for every i ∈ W and f ∈ F \ Γ .We also add trivial inequalities 0 ≥ −xiif , for every (i, f ) ∈ W × Γ such that i = ω(f ).

Page 12: The location-dispatching problem: Polyhedral results and content delivery network design

P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85 79

By multiplying the resulting inequality by 1µ, we obtain

i∈W

zi ≥1µ

f∈Γ

i∈W

xiw(f )f .

Finally, by summing the previous inequality with constraints µ−1µ≥

µ−1µ

xiif , for every (i, f ) ∈ W × Γ with i = ω(f ), weobtain

f∈Γ

µ− 1µ≥

f∈Γ

i∈W

xiω(f )f −i∈W

zi.

Since

f∈Γµ−1µ

= k(µ− 1), we then obtain the GIHC inequality. �

The GIHC inequalities are IHC inequalities when |W | = 1 and, consequently, can be seen as a generalization of IHCinequalities. We have produced non-trivial examples where GIHC inequalities are facet-defining for P when |W | ≥ 2.Unfortunately, there exist another classes of facet-defining inequalities ax+ bz ≥ α where bi = 0 for some i ∈ V .

We will now present a way to separate GIHC inequalities in polynomial time for a given W ∈ V . Consequently, thisprocedure is able to separate every violated IHC inequalities.

Theorem 3.11. Given W ⊂ V with ∅ = W = V , GIHC inequalities constructed from W can be separated in polynomial time.

Proof. Let us consider an extreme solution (x∗, z∗) satisfying (1)–(5). Let us note Z∗W =

i∈W z∗i .Let us first assume that Z∗W > ⌈m

µ⌉. We can remark that, for every k ∈ {0, . . . , ⌊m

µ⌋} and Γ ⊂ F with |Γ | = kµ+ 1,

f∈Γ

i∈W

xiω(f )f − k(µ− 1) ≤ k+ 1.

Then, since in this case Z∗W ≥ ⌊mµ⌋ + 1, there exists no GIHC inequality that cuts (x∗, z∗).

Let us now assume that Z∗W ≤ ⌊mµ⌋. We first state k∗ = ⌊Z∗W ⌋.

Notice that, for a given set Γ with |Γ | = k∗µ+ 1 and ω : W → Γ the GIHC inequality associated withW , k∗, Γ and ω canbe written as

Z∗W + k∗(µ− 1) ≥f∈Γ

i∈W

xiω(f )f .

Consequently, the most violated GIHC inequality associated withW and k∗ can be constructed with a set Γ ∗ and a functionω∗ that maximize

f∈Γ

i∈W xiω(f )f .

Computing set Γ ∗ and function ω∗ can be done by applying the following testing procedure with respect to k∗. (*)

For all f in F , we compute rf = maxj∈W {

i∈W x∗ijf }.Γ ∗ is nothing but the set of the first k∗µ + 1 greatest items f ∈ F with respect to rf . Moreover ω∗(f ) = argmaxi∈W x∗iiffor every f ∈ Γ ∗.If

f∈Γ ∗ rf is greater than Z∗W + k∗(µ − 1), then the GIHC inequality associated with W , k∗, Γ ∗ and ω∗ cuts the point

(x∗, z∗). Otherwise, we have shown that every GIHC inequalities associated withW and k∗ is not violated by (x∗, z∗).

We then repeat the testing procedure from (*) for k∗ ← (k∗ − 1), till k∗ = 0.If no inequality has been found during the testing procedure for every k∗ ∈ {0, . . . , ⌊Z∗W ⌋}, then there is no violated GIHCinequality associated withW .The overall complexity of this testing procedure is then at most |W |m2T (m) where T (m) is the complexity of a sortingalgorithm onm elements. �

This theorem gives an efficient procedure to separate GIHC inequalities when a setW is given.When |W | is a small value,the procedure can be used exhaustively in order to test every possible W . In particular, when |W | = 1, GIHC inequalitiesare the IHC inequalities and then it is possible to separate IHC inequalities in nm3 log(m).

4. Branch-and-cut algorithm

In this section, we present a branch-and-cut algorithm for the Location-Dispatching problem. We first give validinequalities from the p-median problem that we used in the algorithm.

Page 13: The location-dispatching problem: Polyhedral results and content delivery network design

80 P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85

4.1. Valid inequalities from p-median polytope

Given an item f ∈ F , the convex hull of the values taken by variables xijf in P is a p-median polytope where p is todetermined. Consequently, most of the valid inequalities for the p-median polytope will also be valid for P . In particular,the so-calledW − 2 inequalities introduced by Avella and Sassano in [3] will be used in the branch-and-cut framework.Let p′ be an integer p′ ≥ 1 and f ∈ F . We define Pmed(f , p′) as the convex hull of points (xijf , (i, j) ∈ V × V ) which satisfyinequalities (1), (2), (6) and the p′-facility inequality, i.e.

l∈V

xlif = 1 ∀i ∈ V ,

xijf ≤ xiif ∀(i, j) ∈ V × V ,

xijf ∈ {0, 1} ∀(i, j) ∈ V × V ,i∈V

xiif = p′.

In fact, from [5], we can see that Pmed(f , p′) is exactly the p′-median polytope.

Lemma 4.1. Let f ∈ F . Let

i∈V

j∈V aijf xijf ≥ α be valid inequality for the p′-median polytope Pmed(f , p′), ∀p′ ≥ 1. Then thisinequality is also valid for P .

Proof. Let (x, z) a solution of P . We then denote pf =

i∈V xiif . We remark that pf ≥ 1. We can clearly see that theprojection of (x, z) on variables (xijf , (i, j) ∈ V × V ) is a solution of Pmed(f , pf ). Since

i∈V

j∈V aijf xijf ≥ α is valid for

Pmed(f , pf ), then (x, z) verifies the inequality. Consequently the inequality is valid for P . �

In [5,3], authors introduced valid inequalities such as Wq, Cycle (Wq inequalities for q = 2), lifted W − 2 and Odd-Holeinequalities that can be adapted for our polytope. Indeed, preliminary experimental results have shown that most of themare not useful for solving our instances. In fact, the needed separation time is too important regarding the efficiency ofproduced cuts.However, LDP valid inequalities obtained from p-medianW −2 inequalities have shown to be efficient in our cutting-planealgorithm. They can be presented as follows.Lifted W − 2 inequalities

Let W be a subset of V such that 3 ≤ |W | ≤ n − p + 1. Let H ⊆ (W : W ) be a set of arcs with the property that|H ∩ δ+(i)| = 1. LetW0 = {w ∈ W : H ∩ δ−(w) = ∅}, and W1 = W \W0.

For the LDP problem, liftedW − 2 inequalities are inequalities of the form:(i,j)∈(W :W )\H

xijf +

(i,j)∈(V\W :W0)

xijf ≤ |W | − 2. (16)

For a fixed item f ∈ F , by Lemma 4.1 they are still valid for our problem.

4.2. Separation algorithms

The algorithm starts by solving a linear relaxation program containing clique, cost, p-facility and trivial inequalities(7)–(10). The separation of the other inequalities is then performed in the following order.First the GIHC inequalities (15) are separatedwith the exact separation algorithm given by Theorem 3.11 for subsetsW ⊂ Vsuch that |W | = {1, . . . , 3}. We can notice that, for a given extreme point (x∗, z∗), it is sufficient to consider only sets Wsuch that for every i ∈ W , z∗i > 0.TheW − 2 inequalities are separated using a heuristic algorithm given in [3].After these separation phase where our inequalities have been added, another inequalities are automatically added by theSCIP framework.

We have also devised a primal heuristic algorithm that permits to obtain an LDP solution from a linear relaxation of ourinteger formulation.Our primal heuristic can be described as follows. We first consider the solution (x∗, z∗) of the integer programmingrelaxation. For each i in 1, . . . , n, we round down or up zi to the closest integer, depending on the value of zi − ⌊zi⌋. Wethen compute Z =

ni=1 zi. If Z > p, we take all i such that zi was rounded up. We sort them in a decreasing order with

respect to their fractional value. We then iteratively decrease Z by zi with respect to this order, stopping when Z is less orequal than p. The second part of the algorithm consists of deciding the item locations. In order to obtain a valid solution, wefirst need to locate at least one of each item. For a given item f ∈ F , this can be done by looking for nodes i with at leastone remaining free item place, and with the greatest xiif . We then assign another items to every median nodes in order tofill every µ-batches. The choice of these new items is done with respect to the decreasing order of xiif values. The last stepconsists in assigning, for each item f and each node j (except the ones that already have the item) a node that contains thisitem: this can be done by choosing a node i containing f with the smallest cost cijf .

Page 14: The location-dispatching problem: Polyhedral results and content delivery network design

P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85 81

Table 1IHC efficiency.

Instances SCIP without IHC SCIP with IHCn m p µ #TN Gap TT #IHC #TN Gap TT

20 20 10 4 607 3.68 22 27 251 0.676 1820 20 4 10 1,471 8.3 25 64 689 1.168 2840 20 10 4 16,946 2.574 (0.412) 2939 37 13,224 1.504 (0.27) 277040 20 4 10 23,369 6.332 (0.278) 2257 110 8,900 1.89 (0.056) 1157

20 20 10 4 11,098 3.402 192 455 8,321 1.63 18520 20 4 10 1,224 7.708 39 278 1,018 1.91 7340 20 10 4 12,976 7.496 (5.194) – 1036 8,271 4.694 (2.786) –40 20 4 10 15,695 8.422 (1.174) 2595 129 11,065 3.784 (0.466) 2177

20 20 10 4 689 2.49 18 61 234 0.422 1320 20 4 10 966 8.238 18 104 300 0.682 2140 20 10 4 9,632 2.206 1112 577 2,564 1.426 66540 20 4 10 10,638 6.09 1318 509 562 1.592 389

4.3. Experimental results

The algorithm has been implemented in C++ using the SCIP framework 2.0.0 [1]. The LP solver is CPLEX 12.1 [7]. It wastested on an Intel Core2 Duo 3.33 GHz with 8 Gb RAM, running under Linux.

We have generated three kinds of instances, based on different support graphs (the instances will be described on thenext Section). For each type, we used several values of parameters p and µ. In the table, the columns gives the followingvalues:

#TN corresponds to the number of node of the branch-and-cut tree,gap is the integrity gap, i.e. the relative distance between the value of the continuous relaxation at the end of the first

branching node and the best solution,TT is the total time of computation to find the optimal solution,

#cut is the number of generated cuts of type cut where cut canbe IHC, GIHCorW2 (in the casewe activated their separation).

We allowed a maximum of 1 h of computation time. A character ‘‘-’’ in the TT column means that the instance was notsolved to optimality within this time. In this case, the gap between the best known solution and the best solution of therelaxation is shown in the gap column, between parenthesis. Each line corresponds to the mean of the values obtained byrunning the test on 5 instances.

4.4. Cutting plane efficiency

We first made some experiments to test the efficiency of IHC cuts. Results are shown in the Table 1. In this case, wehave separated over IHC inequalities only at root node, and we did not separate any other type of cuts, including automaticseparations by SCIP.Only few IHC have been added during the cutting plane phase. However we notice that IHC cuts improve a lot the quality ofthe relaxation bound, and the number of node of the branch-and-cut tree is consequently reduced. This is for instance thecase on the last case of the table. For these instances, the use of IHC inequalities have raised down the gap from 609 to 1592and the number of branching nodes from 10,638 to 562. Moreover, since the time used by our exact separation algorithm isvery small, the total CPU time is almost the same.

We now want to evaluate the efficiency of our branch-and-cut algorithm. To this aim, we have made tests on the sameset of instances describe above for Table 1 but we activate all the separation procedures. Separation was run only at rootnode. We also activated the primal heuristic we made, and results are shown in Table 2.We can see that most of our instances have been solved to optimality. In fact, Table 2 indicates three sections correspondingto different types of instances. The two first ones are constructed from complete graphs and the third one from sparsegraphs. The difference between the first and second types come from the distance used between nodes. In the first case,this distance is randomly generated and in the second case, this distance respects the triangular inequality. The second typeinstances seem to bemore difficult to solve than the others. This result is pretty strange compared to the usual experimentalresults obtained for p-median problem. This is perhaps due to the fact that a distance that respects the triangular inequalityinduces more symmetry between solutions than a random one. In fact, in this case of distance, two LDP solutions with thesame median nodes can have many possible item assignments.Let us remark that only few constraints are used in the global framework, moreover, the constraints automatically addedby SCIP are also in few number. Since a pure branch-and-bound algorithm for this formulation was proved to be really bad,this shows that these constraints are really efficient.We can also notice that the gap between our primal heuristic solution and the relaxation of the formulation is always lowerthan 4034. This shows the efficiency of both our primal heuristic and our separation algorithms.

Page 15: The location-dispatching problem: Polyhedral results and content delivery network design

82 P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85

Table 2Branch-and-cut algorithm experimental results.

Instances SCIPn m p µ #IHC #GIHC #W2 #TN Gap TT

20 20 10 4 34 112 11 107 0 920 20 4 10 72 294 11 218 0 2340 20 10 4 58 194 4 3,488 0 74140 20 4 10 178 453 10 546 0 395

20 20 10 4 27 119 4 4,069 0 10920 20 4 10 66 311 9 785 0 6040 20 10 4 34 142 1 8,673 4.034 –40 20 4 10 124 355 4 8,610 0.188 1826

20 20 10 4 29 102 11 211 0 1520 20 4 10 61 312 12 406 0 3040 20 10 4 38 173 2 11,588 0.172 255440 20 4 10 104 345 5 8,417 0 1202

Table 3Comparison between Scip and Cplex.

Instances SCIP CPLEXn m p µ #TN Gap TT #TN Gap TT

20 20 10 4 107 0 9 124 0 820 20 4 10 218 0 23 59 0 1940 20 10 4 3,488 0 741 2,159 0 57340 20 4 10 546 0 395 171 0 318

20 20 10 4 4,069 0 109 3,720 0 13920 20 4 10 785 0 60 1,110 0 13740 20 10 4 8,673 4.034 – 8,973 2.2856 –40 20 4 10 8,610 0.188 1826 5,325 1.441 2997

20 20 10 4 211 0 15 63 0 1420 20 4 10 406 0 30 135 0 2140 20 10 4 11,588 0.172 2554 11,848 0.1088 217840 20 4 10 8,417 0 1202 5,637 0.1894 1494

4.5. Comparison with Cplex

Our last Table 3 shows a comparison between our LDP branch-and-cut algorithm with SCIP framework and the use ofpure Cplex solver on the LDP compact formulation (1)–(5).We can globally see that our algorithm produces almost the same experimental results than Cplex solver. We remark thatusing only few inequalities, our algorithm is almost as fast as the commercial IP-Solver of Cplex. This indicates the efficiencyof our approach. In fact, we have experimentally seen that IHC and GIHC inequalities are not generated by Cplex duringits cutting-plane phase (although IHC can be produced by Chvátal–Gomory procedure). As a natural consequence of theseobservations, it will be interesting to add IHC inequalities during the cutting-plane phase of the IP-Solver of Cplex. We havetried to add IHC separation to IP-Solver of Cplex using Ilog Concert Technology tools. Unfortunately, this approach seemsnot to be as efficient as expected, because we obtain worse results than using CPLEX only as black-box IP-solver or usingour branch-and-cut algorithm implemented with SCIP. Since the two solutions seem to be experimentally equivalent, wedecided to use our SCIP algorithm to solve CDN realistic instances.

5. CDN design application

We now focus on an application of the Location-Dispatching Problem to locate and populate VoD servers in a CDN(Content Delivery Network).

5.1. Content Delivery Network

In such a CDN, a catalog of videos is made available by the service provider in one or two central servers. This catalog isperiodically updated and one of its main characteristics is the distribution of ‘‘popularities’’. The popularity of a video is thenumber of time (or the percentage of times) it has been requested (in a given time horizon). The distribution of popularitiesof video contents generally shows a clear distinction between a few videos that are very popular and a very large number ofvideos that are not popular at all. This second set defines the tail of the distribution and according to type of video service,this tail can be ‘‘light’’ or ‘‘heavy’’ (in this second case, even very unpopular videos can be requested with a significant levelof probability). There are many cases where the distribution tail is heavy (for instance, Internet video streaming) and, for

Page 16: The location-dispatching problem: Polyhedral results and content delivery network design

P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85 83

Fig. 4. A typical power-law distribution of movie popularities.

such cases, there exist classical distributions, for instance the so-called power-law and Zipf distributions which have beenextensively used. Fig. 4 gives an example of a power-law distribution for twenty movies. In the case of a relatively limitedcatalog of VoDs, the tail is usually light and sub-exponential distributions are better suited to fit the distribution.

In any case, a reasonably accurate popularity distribution can be inferred from previous observations and used to designthe CDN network. In ‘‘classical’’ CDNs, themain equipment used to alleviate the network load is called a cache. A cache is thecombination of a storage capacity and a replacement algorithm. All the traffic of a given service that goes through the cacheis stored, and when the capacity of the cache is exceeded, the replacement algorithm decides which data must be removed.The most popular replacement algorithms are LFU (Least Frequently Used), FIFO (First-In First-Out) and LRU (Least RecentlyUsed). The efficiency of a cache is measured by its hit ratio, which is the percentage of requests the cache can answer withthe stored data. The efficiency of a cache depends on the distribution of requests that the cache actually ‘‘sees’’ (related withthe popularity distribution and the position of the cache in the network) and on the replacement algorithm. Many papershave been devoted to analyze andmodel the efficiency of caching algorithms [2,14]. It is hence possible to use these results,for design purposes, to predict the potential efficiency of a cache, of a given storage capacity and located at a given networknode. For a set of caches deployed in the network, one can then evaluate the benefit obtained (in terms of saved bandwidth)and one can compare it with the budget needed to buy and operate the various caches. Solving an LDP then allows to findthe best among all possible caches configurations.

5.2. CDN instances

Given a support graphG that corresponds to a network,we need to compute the installation cost Ci and the access cost cijf .In our realistic instances, the total budget is fixed and permits to locate p caches over the network.Moreover, the installationcost C will be the same for every caches and every node. We then not need to consider this cost in the objective function.We compute vector c as follows.We first generate a random tree graph, and randomdistances on arcs, representing a typicaltelecommunication network. For each couple of node (i, j), we compute the shortest path from i to jwhose value is denotedby di,j as the distance between i and j. For each node i, we generate a random value representing the demand Di of the node,i.e. the sum of the requests made by this node over the set of items F . In a VoD system, the popularity of the movies followsa power-law distribution. Consequently if pfl is the popularity of video fl, we assume that pfl =

(l)−γml=1(l)

−γ where γ is thepower law parameter. We then compute cost cijf = Djdijpfl , ∀i ∈ V , j ∈ v, fl ∈ F .This access cost corresponds to the fact that a service provider has to manage the bandwidth used for the VoD service. Theyhave chosen to give a cost to represent this bandwidth consumption. Consequently, we need to optimize a VoD service overthe cost C of the dispatched caches and the cost c of the every day bandwidth consumption.

5.3. CDN experimental results

Table 4 shows our experimental results on telecommunication VoD instances. All the instances of this table areconstructed from support graphs that are rooted trees. In fact, most of the CDN have such a structure where the clientsare at the leaves of the tree.We can notice that, for this type of instances, our branch-and-cut algorithm is able to solve instances till m = 40 andn = 40. Of course, real VoD instances contain more movies in the catalog andmanymore clients. In fact, these instances areconstructed by aggregating clients that depend on the same concentrators. Moreover, we only focus on the more popularmovies.

Page 17: The location-dispatching problem: Polyhedral results and content delivery network design

84 P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85

Table 4LDP results for telecommunication instances.

n m p µ #TN Gap TT

20 20 10 4 146 0 2220 20 4 10 816 0 5520 20 5 8 244 0 1820 20 8 5 289 0 2620 40 10 8 2,973 0 15820 40 16 5 3,831 0 16920 40 20 4 1,327 0 8120 40 4 20 22,801 0 76220 40 5 16 1,538 0 11220 40 8 10 2,007 0 14840 20 10 4 1,565 0 53840 20 4 10 6,589 0.43 204640 20 5 8 4,496 0 131740 20 8 5 2,778 0 73840 40 10 8 1,762 2.49 273940 40 16 5 3,312 0.3 243840 40 20 4 4,381 0.44 280540 40 4 20 1,326 0.82 292640 40 5 16 2,669 1.16 324040 40 8 10 3,177 3.24 3276

On Table 4, we can see that we have solved almost all our instances to optimality, and when it is not the case, the gap isvery small. We can notice that whenµ is greater than 10, instances become harder to solve. We also notice that the instancedifficulty depends more on the number of nodes than from the other parameters.

Finally, we give an illustration of the way our branch-and-cut algorithm can be used to answer to VoD challenge. Theservice provider has to decide where to locate caches on the CDN with respect to the installation cost (that is to say thecache price) and the access cost (that is to say the bandwidth consumption). The installation cost depends on the size µof a cache. For our telecommunication instances, the evolution of µ is critical. In fact, when µ is large, then the caches arelocated closer to the root, while if µ is small, they are assigned close to clients. Using our algorithm, we can help the serviceprovider to place the caches efficiently.

6. Conclusion

This article is a study of the Location-Dispatching problem. We have proposed an integer formulation and a polyhedralstudy of this new problem. We have shown that the inequalities of the formulation are facet-defining. We have alsointroduced the IHC inequalities that cut off solutions (x, z) with x integer and z fractional. Using this theoretical results,we have devised a branch-and-cut algorithm for solving CDN instances.This article also present a modelization of a particular CDN design problem with application to VoD system. We propose away to optimize the server locationwith respect to both location and access costs.We thenuse our branch-and-cut algorithmto estimate the most efficient locations for the servers between several scenarios: some big servers at strategical locationsof the network, little servers inside each client internet access box or mixed approaches.Our future work will consist in improving our branch-and-cut algorithm in order to solve more important instances. Inparticular, it will be useful to add inequalities coming from the general assignment polytope.An interesting framework will be to study the polytope defined as the convex hull of {(x, z) ∈ {0, 1}n × N |

ni=1 xi ≤ µz}

for some µ ∈ N. This polytope, suggested by the referee, deserves further study and can help to better understanding thestructure of the LDP polytope. We remark that the IHC inequalities introduced in the LDP framework can be adapted forproblems where non-binary integer variables are used. It would be interesting to study the impact of the IHC inequalitiesfor other problems.

Acknowledgments

We thank the anonymous referees for their valuable comments that permitted to improve the presentation of the paper.

References

[1] Tobias Achterberg, SCIP: solving constraint integer programs, Mathematical Programming Computation 1 (1) (2009) 1–41.[2] M. Arlitt, R. Friedrich, T. Jin, Performance evaluation of web proxy cache replacement policies, Performance Evaluation 39 (2000) 149–164.[3] P. Avella, A. Antonio Sassano, I. Vasil’ev, Computational study of large-scale p-median problems, Mathematics and Statistics 109 (1) (2003) 89–114.[4] P. Avella, M. Boccia, R. Canonico, D. Emma, A. Sforza, G. Ventre, Web cache location and network design in VPNs, INOC First International Network

Optimization, 2003.[5] P. Avella, A. Sassano, On the p-median polytope, Mathematical Programming 89 (3) (2001) 395–411.

Page 18: The location-dispatching problem: Polyhedral results and content delivery network design

P. Chrétienne et al. / Discrete Applied Mathematics 164 (2014) 68–85 85

[6] P. Camion, J. Maurras, Polytopes à sommets dans l’ensemble {0, 1}n , Cahiers du Centre d’Ètudes de Recherche Opérationnelle 24 (1982) 107–120.[7] http://www-01.ibm.com/software/integration/optimization/cplex.[8] M.R. Garey, D.S. Johnson, Computers and Intractability, A Guide to the Theory of NP-Completeness, Freeman, New York, 1979.[9] M. Grötschel, Cardinality homogeneous set systems, cycles in matroids, and associated polytopes, The Sharpest Cut, The Impact of Manfred Padberg

and His Work, MPS-SIAM Series on Optimization, 4, pp. 199–216, 2004.[10] L. Hakimi, O. Kariv, An algorithmic approach to network location problems, ii: the p-medians, SIAM Journal of Applied Mathematics 37 (1979).[11] A. Klose, A. Drexl, Facility location models for distribution system design, European Journal of Operational Research 162 (2005) 4–29.[12] J. Maurras, An example of dual polytopes in the unit hypercube, Stud. integer Program., in: Proc.Workshop Bonn 1975, Annals of DiscreteMathematics

1, 1977.[13] R. Stephan, Cardinality constrained combinatorial optimization: complexity and polyhedra, Discrete Optimization 7 (3) (2010) 99–113.[14] S. Williams, M. Abrams, C.R. Standridge, G. Abdulla, E.A. Fox, Removal policies in network caches for World-Wide Web documents, 26 (4) (1996)

293–305.