A Heuristic Algorithm for a Prize-Collecting Local Access Network Design Problem Ivana Ljubi´c1 , Peter Putz2 , and Juan-Jos´e Salazar-Gonz´alez3 1
2
Institute of Computer Graphics and Algorithms, Vienna University of Technology, Austria
[email protected] Department of Statistics and Operations Research, University of Vienna, Austria
[email protected] 3 DEIOC, Universidad de La Laguna, Tenerife, Spain
[email protected]
Abstract. This paper presents the main findings when approaching an optimization problem proposed to us by a telecommunication company in Austria. It concerns deploying a broadband telecommunications system that lays optical fiber cable from a central office to a number of end-customers, i.e., fiber to the home technology. End-customers represent buildings with apartments and/or offices. It is a capacitated network design problem that requires an installation of optical fiber cables with sufficient capacity to carry the traffic from the central office to the endcustomers at minimum cost. This type of problem arises in the design of a Local Access Network (LAN) and in the literature is also named Single-Source Network Loading. In the situation motivating our work the network does not necessarily need to connect all customers (or at least not with the best available technology). Instead, some nodes are potential customers. The aim is to select the customers to be connected to the central server and to choose the cable capacities to establish these connections. The telecom company takes the strategic decision of fixing a percentage of customers that should be served, and aims for minimizing the total cost of the network proving this minimum service. For that reason the underlying problem is called the Prize-Collecting LAN problem (PC-LAN). We propose a sophisticated heuristic to solve real-world instances with up to 86 000 nodes and around 1 500 potential customers.
1
Introduction
This paper models the fiber-to-the-building/fiber-to-the-home strategy applied by telecommunication companies when designing the new generation of local access networks. Customer nodes are associated to physical locations representing buildings, business locations or single households. There are three features associated to each potential customer node. One is called prize and it represents the number of subscribers (e.g., apartments and/or offices) in the building. Another is called demand and gives the number of optical fibers required by the potential customer. The third feature is called cost and represents the setup cost J. Pahl, T. Reiners, and S. Voß (Eds.): INOC 2011, LNCS 6701, pp. 139–144, 2011. c Springer-Verlag Berlin Heidelberg 2011
140
I. Ljubi´c, P. Putz, and J.-J. Salazar-Gonz´ alez
of installing a device if the customer is connected and receives its service. The available hardware (i.e., splitter devices) determines the demand and the cost of each customer node. Usually, several splitter devices with various splitting ratios (e.g., 1:4, 1:16, 1:32) are available. Their costs obey economies of scales. For example, to connect 16 subscribers, a device must be installed that costs ¤2000 and 1 optical fiber should come in that building. To connect a building with 17 subscribers, a device that costs ¤3000 and 2 fibers are needed and this larger device is sufficient to support up to 32 subscribers. We are not allowed to connect only a fraction of subscribers at the customer node. Instead, decisions have to be made whether all subscribers or none of them are going to be served. This allows for preprocessing of input data and exact calculation of customers’ demands and the corresponding set-up costs. The customers selected for being served must be connected by cables to the server (the center). The company provides different types of cables. Each type of cable is characterized by two features. One is its capacity and represents the number of optical fibers. The other is its cost. Clearly, for connecting two sites one may need several cables. Each combination of cables leads to a module with a given capacity and cost. The capacity of a module is simply the sum of the fibers included in the cables. The cost of a module is the sum of the cable costs plus the installation on the roads taking into account the length. The goal is to decide the modules to be installed so that the whole demand can be routed through the network at minimum cost. The flow between the center and a customer is allowed to split apart, thus we are speaking of a bifurcated formulation. An optimal solution of the problem is not necessarily a tree in the graph. Obviously, if there is only one module per edge providing sufficient capacity to route the total flow through it, then the optimal solution will be a tree. There are works in the literature focusing on other aspects of fiber-to-thehome (see e.g. [5] where more than one server in two layers are considered). The literature also contains several approaches for solving problems arising in LAN design. See e.g. recent works in [3,4] or [2] for a more general multiple-source multiple-sink setting. However, the previously published articles deal with problems where all customers must be served. In this work we develop a sophisticated heuristic for the Prize-Collecting variant of the problem.
2
Problem Definition
We are given an undirected and connected graph G = (V, E) with a node r ∈ V representing the center (central server, access to the backbone network,. . .) and a set of potential customers D ⊆ V \ {r}. To each potential customer k ∈ D, a positive demand dk , a positive prize pk and a positive setup cost ck are assigned. We denote by p0 the minimum customer prizes the company wants to collect. It is possible to install combinations of different cable types with positive costs and capacities on every edge. Each combination is called a module. We assume that modules Ne = {n1 , n2 , . . . , n|Ne | } are given for each edge, with capacities
Prize-Collecting Local Access Network Design
141
ue,n ∈ R>0 and costs ce,n ∈ R>0 for each 1 ≤ n ≤ |Ne |. Module indices are sorted such that ue,n < ue,n+1 . The optimization problem of our interest is the selection of the customers to be served, the single-source multiple-sink routing, and the edge capacity design. To this end we allow an installation of at most one module on every edge. We now show a Single Commodity Flow (SCF) formulation of the PC-LAN problem. This and other models have been derived from the ones given in [3] for the problem where all customers must be in the network. We make use of a binary variable yk to model whether a potential customer k must be served or not. The SCF formulation uses a bidirected problem representation and models the flow on every arc as the total amount of flow routed from the center towards the customers. The arc set is denoted by A. To model a non-decreasing step cost function on every edge, binary variables need to be used. Binary variables xa,n decide whether the module n shall be installed on the arc a, whereas flow variables fa ≥ 0 describe the amount of flow on arc a ∈ A. Then the model is:
min
ca,n xa,n +
a∈A n∈Na
ck yk
k∈D
subject to
fa −
a∈δ + (i)
fa =
a∈δ − (i)
⎧ ⎪ i yi , ⎨ −d ⎪ ⎩
k∈D dk yk ,
0,
i∈D i=r otherwise
∀i ∈ V
p k yk ≥ p 0
k∈D
xa,n ≤ 1
n∈Na
0 ≤ fa ≤
∀a ∈ A ua,n xa,n
∀a ∈ A
n∈Na
xa,n ∈ {0, 1} yk ∈ {0, 1}
3
∀a ∈ A, ∀n ∈ Na ∀k ∈ D.
Heuristic
We now describe the main elements of the heuristic approach that we are developing to solve large-sized instances of the PC-LAN problem. In a first phase we select a set of customers. In a second phase we construct the network iteratively by using shortest path calculations on the graph with adapting edge weights. In a third phase, we locally improve the solution. The three phases are repeated within an reactive search framework. Selection of Customers: Given pre-installed capacities ze on the edges, we sort the potential customers according to the ratio between the prize of the customer
142
I. Ljubi´c, P. Putz, and J.-J. Salazar-Gonz´ alez
and the setup cost plus the cost of the shortest path from the center to the customer site. The calculation of the shortest paths is describedbelow. Customers are then chosen so that they satisfy the coverage constraint k∈D pk yk ≥ p0 . Network Construction: The input to the network construction heuristic is the |V | undirected graph G, a vector b ∈ R≥0 with bk = dk yk for a potential customer k ∈ D and bi = 0 otherwise. The heuristic subsequently modifies b and creates a |E| flow vector f ∈ R≥0 and a design vector z ∈ N|E| , where ze denotes the module to be installed on the edge e and 0 if no module is installed. We randomly pick a node v with positive bv > 0 and define the edge weights for the shortest path problem as we = ce,ne (fe +bv ) − ce,ze . Here ne represents a function that gives the most appropriate module for some required capacity, i.e. the cheapest module with sufficient capacity, or simply the largest module if there is no module with sufficient capacity. More formally, we have ne (U ) = arg min{n∈Ne |ue,n ≥U} ce,n if ∃n ∈ Ne | ue,n ≥ U , and ne (U ) = |Ne | otherwise. Hence we is the cost for expanding the installation on e from the currently selected module ze , to the module ne (fe + bv ). An edge e is saturated if we already use the largest module ze = |Ne | and all available capacity is being used ue,ze = fe . Once an edge is saturated it is not considered in subsequent computations. Now that we are given a node v and edge weights w we can compute the shortest path P = (r, i1 ), (i1 , i2 ), . . . , (im , v) from r to v in G. We transport the demand along this path fe = fe + bv for all e ∈ P , and make the necessary installation ze = ne (fe ). We mark this customer as done bv = 0 and start the next iteration. If the edge e = (i, j) on P is about to be saturated in the current iteration, we transport the maximum possible amount and leave the appropriate demands on each ends of the arc. More formally, if ue,ne (fe +bv ) < fe + bv then we take the maximum u = ue,ne (fe +bv ) − fe , transport it along the edge fe = fe + u and change the demand vector to bi = bi + u and bj = bj + bv − u. Now the edge is saturated and we continue with the next node. After the construction has produced a feasible solution we take z and y to define input parameters for a minimum cost flow problem. To this end, for each edge e with ze > 0 the capacity is set to ue,ze and the cost is set to ce,ze /ue,ze . The minimum cost flow problem is solved and produces a new flow vector f . Using f we define a new design z with ze ≤ ze for all e. Local Improvement: Given a feasible solution associated to the vector (z, y, f ), we attempt the following local improvement. Pick the edge e maximizing ce,ze or ce,ze /fe , alternating between these two criteria. The flow f is split into a set of paths. Take all those paths that use the edge e and remove all the flow along these paths from f to produce a smaller flow f . The values of f define pre-installed modules ze on the edges. The customers whose flows have been just canceled out are removed. Now we re-enter the selection phase and choose the remaining set of customers to ensure the coverage constraint. This is done repeatedly to eventually get a better solution. The procedure stops after 10 edges have been considered without improving the objective value.
Prize-Collecting Local Access Network Design
143
Reactive Search (RS): To enable a clustering of demands we do not install the modules along the whole path right to the center but instead stop at some earlier node j. Two criteria are used to select j: (1) j is the first node with a positive demand bj > 0 encountered along the path, or (2) j is at most m edges away from v. Observe that the demands are clustered if criteria (1) is applied and m is set to a small number. The idea of this clustering is to merge customers that are close to each other with respect to the stepwise edge cost function. To decide whether we activate or not criteria (1) and the best value m for criteria (2) we employ a learning adaptation mechanism known as Reactive Search Optimization [1]. The Network Construction procedure is applied repeatedly. Initially five prespecified settings are used. Then we go from a diversification of the settings towards an intensification, i.e. from randomly perturbed settings towards settings that have produced the best objective values so far. Primal Heuristic: In order to use the previous framework within a branch-andcut, for a given fractional solution (¯ x, y¯) we: a) sort the customers according to ¯a,n values before the y¯k values and b) pre-install capacities ze according to the x entering the network construction phase.
4
Results
We have implemented the heuristic on a computer Intel Xeon 2.6 Ghz with 3 Gb RAM. In addition we extended the branch-and-cut framework from [3] using CPLEX 12.1. We initiated our evaluation on the small instances in [4]. Most of these instances can be solved to optimality which allows to measure the quality of the heuristic approach. To produce instances for the PC-LAN problem from the 60 instances used in [4] we have defined ck = dk /2 , pk = dk , p0 = 0.7 k∈D pk . Table 1 displays results of our experiments. Each line shows the average values over 5 instances. The instances are grouped according to the number |V | of nodes (i.e., 20, 30 or 40), the position of the center (central or random) and the demand level (high or low). |N | denotes the average number of modules available over all edges. The columns UB0 refer to the initial heuristic approach where the RS is executed until 50 consecutive iterations without improvement. The columns UB1 refers to the primal heuristic applying the RS on the fractional solutions generated while solving the root node. The RS is repeated while there is an improvement in the solution. The columns BEST refer to the best known solution obtained by running the branch-and-cut framework with our primal heuristic within 1000 seconds. Over the 60 instances this best known was optimal in 42 cases. The gap in UB0 and UB1 is computed over the solution obtained in BEST, while the gap in BEST is between the best upper and lower bounds. Based on this experiment the construction heuristic UB0 already produces good results on these small instances. To conclude, Table 2 shows the performance of the approach on the three real world instances. The branch-and-cut framework did not solve the root node within two hours. It remains an open question whether the presented gaps are due to the lower bounds. Still the feasible solutions are of reasonable quality for practical purpose.
144
I. Ljubi´c, P. Putz, and J.-J. Salazar-Gonz´ alez Table 1. Results for instances from [4]
|V |
|E|
|D|
|N |
20.0 20.0 20.0 20.0
40.2 40.2 39.8 39.8
9.2 9.0 9.2 10.0
27.6 12.6 23.2 13.0
c c r r
h l h l
1.2 0.0 0.5 3.5
0.1 0.0 0.0 0.0
0.8 0.0 0.1 0.1
4.3 3.9 4.3 3.9
0.0 0.0 0.0 0.0
18.5 17.7 64.3 22.0
30.0 30.0 30.0 30.0
58.4 58.4 59.2 59.2
15.8 16.0 12.2 14.4
47.4 24.2 33.4 22.2
c c r r
h l h l
0.3 0.2 0.1 0.1
0.2 0.1 0.1 0.1
0.3 0.2 0.1 0.1
10.6 8.9 6.1 7.3
0.2 0.0 0.0 0.0
489.8 467.8 182.5 46.2
40.0 40.0 40.0 40.0
80.0 80.0 80.6 80.6
19.2 19.2 18.2 20.6
49.4 27.4 46.2 31.4
c c r r
h l h l
0.6 1.1 1.1 0.9
0.2 0.1 0.2 0.1
0.4 1.0 1.0 0.8
17.7 13.1 13.1 14.9
0.4 0.5 0.7 0.4
968.8 665.5 905.8 876.3
UB0 gap0 time0
UB1 gap1 time1
BEST gap time
Table 2. Results for real-world instances |V |
|E|
|D|
|N |
UB0
time0
UB1
gap1
86 745 48 247 77 329
116 750 65 304 107 696
1 157 720 1 498
9.0 9.0 9.9
2 881 000 1 499 750 3 280 373
1 517 290 2 361
2 814 139 1 499 750 3 280 373
50 26 54
Acknowledgement This work was partially supported by the bilateral program “Acciones Integradas” between Austria (E15/2010) and Spain (AT2009-0021).
References 1. Battiti, R., Brunato, M., Mascia, F.: Reactive Search and Intelligent Optimization. Operations Research/Computer Science Interfaces Series, vol. 45. Springer, Heidelberg (November 2008) 2. Frangioni, A., Gendron, B.: 0-1 reformulations of the multicommodity capacitated network design problem. Discrete Applied Mathematics 157(6), 1229–1241 (2009) 3. Ljubi´c, I., Putz, P., Salazar, J.J.: Exact approaches to the single-source network loading problem. Networks (2011) (to appear) 4. Salman, F.S., Ravi, R., Hooker, J.N.: Solving the Capacitated Local Access Network Design Problem. INFORMS Journal on Computing 20(2), 243–254 (2008) 5. Gualandi, S., Malucelli, F., Sozzi, D.: On the design of the next generation access networks. In: Lodi, A., Milano, M., Toth, P. (eds.) CPAIOR 2010. LNCS, vol. 6140, pp. 162–175. Springer, Heidelberg (2010)