1. Introduction
The smart city concept is intended to cope with or reduce problems like mobility, and energy supply which arise from urbanisation and population growth [
1]. Information and Communication Technology (ICT) is an important enabler of this concept. A part of this ICTinfrastructure will be a dense access network. In general, access networks connect users and their supplier with each other by means of cables, wires, and other technological equipment. The planning of access networks is studied by several authors. Smart City planning is related the most to Hybrid Fibre Optic and Wireless Networks (FibreWireless, FiWi) planning. In [
2], the Hybrid WirelessOptical Broadband Access Network (WOBAN) is considered, of which the planning, and setup are studied.
In this paper, which is an extended version of [
3], we look at the smart city access network planning from the side of offering multiple services to the inhabitants of the city. The smart city access network should be efficient in covering the demand of all the services together. For this, in [
4], the MultiService Location Set Covering Problem was introduced, in which multiple services are distributed over a set of locations, for which we use lampposts. This distribution is done such that all demand is covered for all services at minimal costs. In this paper, this model is extended with capacity constraints resulting in the MultiService Capacitated Facility Location Problem (MSCFLP). The aim of the MSCFLP is to find a feasible and efficient distribution of services across an urban area such that the total costs, consisting of fixed opening and fixed service costs, are minimised without violating capacity restrictions, while satisfying all demand requirements.
Specific literature on smart city planning is relatively scarce. Most recent literature on smart cities considers the general concept, the different definitions of this concept (e.g., [
5]), the combination of the Internet of Things (e.g., [
6]), or the big data challenges in smart cities (e.g., [
7]). A complete system, including multiple types of service deployments, is proposed in [
8]. It develops a system, which makes use of big data, for urban planning, and smart city evolution. However, their developed fourtier architecture does not show how the various services should be distributed. A planning model for FiWi networks is proposed in [
9]. It takes into account scalability and uncertainty in the various time stages. However, it does not consider the joint deployment of various services, with their own characteristics.
The remainder of this paper is organised as follows: in
Section 2, a literature review on related problems. The problem formulation of the MSCFLP is given in
Section 3. In
Section 4, two solution approaches are presented. The experimental design is reported in
Section 5, and the results of the computational experiments are discussed in
Section 6. Finally, conclusions and suggestions for future work are provided in
Section 7.
2. Literature Review
In this section, literature related to the MultiService Capacitated Facility Location Problem (MSCFLP) is reviewed. This problem can be seen as an extension of the extensively studied and wellknown Facility Location Problem (FLP). When facilities have some upper bound on the amount of demand it can fulfil, the problem is referred to as Capacitated FLP (CFLP), which is NPHard [
10]. However, there are similarities, the MSCFLP is neither a special case nor a generalisation of the CFLP, caused by the differences in the cost structures and the multiple services. In the MSCFLP, no individual costs are concerned with serving a customer from a location; only a fixed opening cost has to be incurred when at least one customer is served from a location. Nevertheless, the MSCFLP shares the most similarities with (extensions of) the CFLP compared to all other already existing problems. We therefore discuss key findings on the CFLP.
Numerous exact and heuristic methods for the CFLP have been proposed in literature, varying from branch and bound [
11], branch and price [
12], to Benders’ decomposition [
13]. The ADD heuristic designed by [
14], and the DROP heuristic designed by [
15] are generalised by [
16] to solve CFLPs. An approximation algorithm is developed by [
17] for both the UFLP and the CFLP. However, the most applied solution method is Lagrange Relaxation, see [
18,
19] for a review of the various solution techniques.
A special case of the CFLP is the Single Source Capacitated Facility Location Problem (SSCFLP) in which every customer is served from exactly one facility. In general, all decision variables in this problem are integers, which complicates the problem compared to the CFLP in which the supply variables are continuous. Several authors have devoted attention to the problem, including [
20,
21,
22,
23,
24]. Lagrangian heuristics are a successful and commonly used approach to generate solutions to the SSCFLP, as stated by [
25].
Another variant of the CFLP is the MultiCommodity Capacitated Facility Location Problem (MCCFLP). The MCCFLP extends the CFLP by including multiple commodities (e.g., services, products). The aim of the MCCFLP is to find for every commodity a set of locations, and their set of customers such that total costs, which consist of fixed opening costs and travelling costs, are minimised. In contrast to the MSCFLP, a customer (zone) can have demand for various commodities, and a customer can be served from any location. Moreover, no travelling costs and other costs per demand point are considered in the MSCFLP.
Among the first papers that consider multiple commodities in the context of location problems are [
26,
27]. The work in [
28] extends this research by including capacity limitations for both plants and distribution centres. After these studies, several studies have been conducted on variations and generalisations of the problem, including the work by [
29,
30,
31,
32]. Furthermore, Ref. [
33] combined the CFLP with a multicommodity MinCost Flow Problem, and, more recently, [
34] considered the MultiProduct FLP in a twostage supply chain setting.
3. Problem Formulation
In this paper, we consider an urban area in which multiple services need to be offered. For this, multiple services boxes are placed across the area. A service box can provide only a single service, and has to be installed at a location. This location might need connections to electricity and communication networks. When a service box is opened at some location, the location is said to be a “service access point” of the service. Depending on the context in which it will be used, the term “service” is used either to refer to the service itself or to refer to one of the service access points. For each service, it has to be decided at which locations to install service boxes in order to meet the service expectations of its users. A location on which at least one service is provided is denoted by the term “access location”. Such a location is said to be opened to be equipped with services.
Every service has its own (unique) set of points, which have potential demand for the service. The geographical location of a potential user for some service is referred to as a “demand point” of the particular service. Services do not have an unlimited reach; in fact, each service has some limited range and specific form, in which it can serve demand points. This range is called the service coverage area. Next to the limited range, a service (box) can only serve a maximum number of demand points. Hence, services are restricted in both range and the number of demand points it can serve.
When a demand point is served by a specific service box at some access location, it is said that a “connection” is made between the access location and the demand point. A connection can be made between the access location and the demand point when the service is present at the access location, and the demand point is located in the service coverage area.
Opening a location comes at some fixed positive cost, and installing a service on such an access location comes at some fixed positive cost as well. No costs are associated with connections. The objective function consists of the combined fixed opening costs of the locations and the services.
For this problem, we can define a mathematical formulation. In
Table 1, an overview of the notation is presented. The problem consists of a set of demand points, locations, and services. A demand point
$i\in {\mathcal{G}}^{u}$ is characterised by its location and its demand
${d}_{i}^{u}$ for service
$u\in \mathcal{F}$. Similarly, a location
$j\in \mathcal{L}$ is characterised by its location, and its connected services. A service
$u\in \mathcal{F}$ is characterised by its service coverage area and its capacity
${\eta}_{j}^{u}$, which is defined as the maximum number of connections it can release at the same time.
The integer linear program (ILP) for the MSCFLP is formulated as
subject to
Objective (
1) minimises the total costs, which is defined as the sum of the opening costs of the services boxes and the opening costs of the access locations. Constraint (
2) ensures that services can only be installed at access locations. Capacity restrictions are taken into account by constraint (
3). It limits the number of connections an access location can make for a specific service. When a service is not installed at an access location, the capacity is set equal to zero, which ensures that for the service at this location no connections can be made. Constraint (
4) ensures that demand is satisfied, and constraint (
5) implies that a connection can only be made between demand point
$i\in {\mathcal{G}}^{u}$ and access location
$j\in \mathcal{L}$ for service
$u\in \mathcal{F}$, when the demand point is located in the range of the service (
${a}_{ij}^{u}=1$). Lastly, constraints (
6)–(
8) specify the solution space. This problem formulation consists of
A less intuitive formulation of the same problem, but much efficient in solving is the following formulation. The difference lies in the modulation of the connection variables
${s}_{ij}^{u}$. In the given formulation, the variable
${s}_{ij}^{u}$ is defined for all combinations of
$i\in {\mathcal{G}}^{u}$ and
$j\in \mathcal{L}$ subject to constraint (
5). When a demand point is not within range of a service for some location, this constraint implies that the solution space of the corresponding variable
${s}_{ij}^{u}$ consists of the single element 0. Hence, it is reasonable to define
${s}_{ij}^{u}$ only for those combinations of demand points and locations for which the demand point is within range of the location, implying that the solution space of the corresponding connection variable consists of both elements 0, and 1.
In mathematical terms, this implies the following: for some demand point
$i\in {\mathcal{G}}^{u}$ having demand for service
$u\in \mathcal{F}$, let the set of locations
$j\in \mathcal{L}$, for which
i is within the range, be denoted by
${\mathcal{L}}_{i}^{u}$. That is, let the set
${\mathcal{L}}_{i}^{u}$ be defined as
for some demand point
$i\in {\mathcal{G}}^{u}$ having demand for service
$u\in \mathcal{F}$. Then, define
${s}_{ij}^{u}$ only for those combinations for which
${a}_{ij}^{u}=1$, leading to the change in Equation (
4):
By this, constraint (
5) becomes redundant and can be deleted from the problem formulation.
This problem formulation has
Compared to the formulation of Equations (
1)–(
8), this problem formulation reduces the number of variables by
$\left\mathcal{G}\right\left\mathcal{L}\right{\displaystyle \sum _{u\in \mathcal{F}}}{\displaystyle \sum _{i\in {\mathcal{G}}^{u}}}{\mathcal{L}}_{i}^{u}$ variables, and by
$\left\mathcal{L}\right\left\mathcal{G}\right$ constraints.
4. Solution Approach
The MSCFLP considers the location assignments of multiple services. The problem can be solved ‘as a whole’ by an exact method, but large running times are expected, and thus two alternative solution methods, heuristics, for the MSCFLP are suggested. The main origin of the heuristics is breaking up the joined optimisation problem into multiple sub optimisation problems. One heuristic will update the solution between the sub problems; the other will do the sub problems in parallel. The performance of the heuristics will be evaluated relative to an exact method. The first heuristic optimises the location assignments of the services for each service individually. The solutions of these single service optimisation are combined to yield a solution to the MSCFLP. The second heuristic extends this approach by updating some of the cost parameters between two consecutive steps. This latter heuristic uses a specific optimisation order to generate a solution to the MSCFLP.
4.1. Sequential Solving Heuristic
In the MSCFLP, the location assignments of various services are simultaneously optimised. A simple heuristic approach is to optimise the location assignments of the various services independently and combine the solutions of these single service optimisation to yield a solution to the MSCFLP. That is, during each step of the heuristic, only one of the services is considered and the location assignment of this service is optimised regardless of any other location assignment. Since the various steps are independent, the order in which the steps are performed does not affect the solution (quality).
When the MSCFLP is solved for only one single service, the problem is similar, but not equivalent to a CFLP. Recall that, contrary to the CFLP, no individual costs such as transportation costs are defined for demand points in the MSCFLP. Instead, a fixed opening cost is associated with equipping a location with a service, which is independent of the number of demand points that will be served from this location. In an MSCFLP with a single service, an access location will always be a service access point of the considered service in an efficient solution. Stated differently, the decision variables ${y}_{j}$ and ${x}_{j}^{u}$ are equal in an efficient solution and thereby the MSCFLP could be modelled by excluding either one of these variables. The cost of equipping a location j with some service u is then equal to ${f}_{j}+{c}_{j}^{u}$.
This heuristic approach is expected to result in shorter computation times. However, the method is likely to yield nonoptimal solutions, since the location assignments of the various services are determined one at a time. The general structure of the Sequential Solving Heuristic (SSH) is provided in Algorithm 1.
Algorithm 1 Sequential Solving Heuristic (SSH) 
 1:
for$u\in \mathcal{F}$do  2:
Optimise the location assignment of service $u\in \mathcal{F}$  3:
end for  4:
Compose the MSCFLP solution  5:
Set ${y}_{j}=min(0,{\displaystyle \sum _{u\in \mathcal{F}}}{x}_{j}^{u})$ for every location $j\in \mathcal{F}$  6:
Objective value of the MSCFLP solution is $\sum _{j\in \mathcal{L}}}{\displaystyle \sum _{u\in \mathcal{F}}}{c}_{j}^{u}{x}_{j}^{u}+{\displaystyle \sum _{j\in \mathcal{L}}}{f}_{j}{y}_{j$

The solutions of the various steps are combined in order to obtain the overall multiservice location assignment and to obtain the set of access locations (line 5 of Algorithm 1). The overall objective of this combined solution is not simply equal to the sum of the intermediate objective values. This is due to the fact that a location can be equipped with services during multiple steps, but, in reality, it only needs to be opened when it is equipped with the first service.
4.2. Ordered Sequential Solving Heuristic with Updating
The Ordered Sequential Solving Heuristic with Updating (OSSHU) extends the Sequential Solving Heuristic (SSH) by updating some of the cost parameters in between the various optimisation steps. Contrary to the SSH, the intermediate steps of the OSSHU are not independent, since the current step is based on the solution of the previous step(s). During the first step of the heuristic, the location assignment of the first service is optimised. At this stage, the cost of equipping some location j with service u is equal to ${f}_{j}+{c}_{j}^{u}$. When this first step is completed, a set of access locations (and thereby a set of service access points for the first service) is obtained. This information is used in the next step in which the second service is considered.
For the second step, the opening cost of the current set of access locations is set to zero (i.e., ${f}_{j}=0$ for access location j). Thus, equipping some location with the second service, which is already a service access point for the first service, comes at a cost of only ${c}_{j}^{u}$. Contrary to these access locations, equipping one of the other locations with a service comes at the original cost of ${f}_{j}+{c}_{j}^{u}$. Similar cost updates are performed before the last step is executed.
Because of the intermediate cost updates, the steps are no longer independent, which implies that the order in which the various services are considered affects the overall solution (quality). Furthermore, due to the intermediate cost updates, the steps point to an overall solution which prefers locations that are a service access point for multiple services. Thereby, the OSSHU is likely to result in better solutions than the SSH. The general structure of the OSSHU is provided in Algorithm 2.
Algorithm 2 Ordered Sequential Solving Heuristic with Updating (OSSHU) 
 1:
Select some order $\mathcal{O}$ of services $u\in \mathcal{F}$  2:
for the kth element of $\mathcal{O}$ do  3:
Optimise the location assignment of service $k\in \mathcal{F}$  4:
Set ${f}_{j}=0$ for every location $j\in \mathcal{F}$ such that ${x}_{j}^{k}=1$  5:
end for  6:
Compose the MSCFLP solution  7:
Set ${y}_{j}=min(0,{\displaystyle \sum _{u\in \mathcal{F}}}{x}_{j}^{u})$ for every location $j\in \mathcal{F}$  8:
Objective value of the MSCFLP solution is $\sum _{j\in \mathcal{L}}}{\displaystyle \sum _{u\in \mathcal{F}}}{c}_{j}^{u}{x}_{j}^{u}+{\displaystyle \sum _{j\in \mathcal{L}}}{f}_{j}{y}_{j$

5. Experimental Design
In this section, we present the experimental design of the various conducted experiments. In
Section 5.1, we describe the software and hardware that are used to implement and solve the problems. An overview on the various input parameters is given in
Section 5.2. We present the set of locations, the set of studied services, and the demand point selection. In
Section 5.3, the various test instances are discussed.
5.1. Software and Hardware
The model has been implemented and the experiments are conducted by MATLAB version R2016b. It is a programming language published by MathWorks (Natick, MA, USA), which allows for a wide range of computations, and other data processing. The problems are solved by use of the external solver CPLEX, using its standard options, using a Branch and Cut algorithm. IBM ILOG CPLEX Optimisation Studio (COS) is a solver developed by IBM (Armonk, NY, USA). It is an optimisation software package for solving linear programs, mixed integer programs, and quadratic programs. The free student 12.7.1 version of the package has been used to generate the results. The experiments are performed on a DELL E7240 laptop with an Intel(R) Core(TM) i54310U CPU 2.00 GHz 2.60 GHz processor. The laptop is operational on a 64bit operating system.
5.2. Input Parameters
In this section, all parameter values and the various characteristics of the test instances will be discussed. We describe the parameter settings for the locations, services, and the demand points.
5.2.1. Locations
As described in
Section 1, the lighting system is used as a set of candidate access locations which can be equipped with services. Data on the locations of lampposts is publicly available for many cities of the Netherlands. It is accessible via Dataplatform, which is an initiative of Civity (Zeist, The Netherlands). The test instances describe various subareas of the city of Amsterdam. The fixed opening costs of a location are taken to be equal to
${f}_{j}=5000$ for every location
$j\in \mathcal{L}$. A mapping of all locations of some small subarea of the city of Amsterdam can be found in
Figure 1.
5.2.2. Services
In total, three services will be considered for the test instances. The various services and their parameter values are based on the works of [
35,
36]. As previously stated, a service is characterised by its range and its capacity. The capacity is defined as the maximum number of connections it could have at the same time. It is assumed that every service has a circular coverage area. Given the range, the coverage matrix with elements
${a}_{ij}^{u}$ can be filled. For every service, information is provided in
Table 2 on the range, capacity, and opening costs of the service. The first service is a WiFi service. It has a range of 100 m, can serve up to a maximum of 30 demand points, and its opening cost is equal to 300. The second service is a Smart Vehicle Communication (SVC) service, which aims at providing data to drivers. It has a range of 200 m, a capacity of 15 connections, and an opening cost of 300. The last service is an Alarm service, which has an unlimited capacity. This service has a range of 300 m, and opening cost equal to 150. The Alarm service aims at providing a loud signal to warn humans about dangers. As the service provision is independent from the number of humans within the range of the access location, the capacity of the service is unlimited.
5.2.3. Demand Points
Every demand point requires service for only one service, and in turn every service has its own disjoint set of demand points. Although sets of demand points differ across the various test instances, every set is generated by the same procedure. The demand points are generated within the boundary that specifies the test area. An example of all demand points classified per service in some small subarea of the city of Amsterdam is given in
Figure 2.
For the WiFi service, the home addresses located inside the boundary are taken as demand points. All houses are assigned a demand of one. As the second service is an SVC technique, which aims at providing data to drivers, the demand points are generated on the roads inside the boundary. In contrast to the WiFi service, not every road point has a demand of one. In fact, a demand point is assigned a demand 1, 2, or 3, depending on its characteristics. Demand points referring to so called “Aroads” are assigned a demand of 3, simulating the fact that these important highways are in general congested. These roads are labelled as motorways, and freeways in the original documentation (OpenStreetMap). Less important roads are national and regional roads. These roads are labelled primary and secondary roads, and a demand of 2 is assigned to demand points on such roads. All other roads are of least importance, and in turn are assigned a demand equal to one.
The last service is the Alarm service. As it has an infinite capacity, serving its demand points can be approached as a covering problem instead of some capacitated supply problem. In line with this approach, the demand points of the alarm are intersections of a grid. It is indicated in [
37] that this approach works best with regard to computational efficiency. For more information on the generation of the grid, we refer to Section 6.3 of [
35]. Similar to the WiFi service, a demand of one is assigned to every demand point. However, the optimal solution is the same for other demand values, as the Alarm service has an unlimited capacity. Hence, for efficiency reasons, a demand of one is assigned.
Note that the demand points that are not located in range of at least one location are excluded from the set of demand points. That is, when there is no location in the neighbourhood of a demand point, it is deleted from the set of demand points.
5.3. Test Instances
The MSCFLP will be solved on a number of test instances, as shown in
Table 3. These test instances are small subareas of the city of Amsterdam. In total, nine test instances are considered, of which instances 1 to 7 are the small instances.
7. Conclusions
In this paper, we optimised the distribution of multiple services in urban areas. We took the MultiService Capacitated Facility Location Problem (MSCFLP). It aims at optimising the distribution of multiple services simultaneously in some urban area, such that the total costs are minimised, while satisfying all demand requirements. For this problem, an integer linear program (ILP) was formulated. Two heuristic approaches were proposed to solve the problem for each service separately and then combine the solutions. One heuristic, however, updated the cost parameters between the successive steps. The last approach yields lower calculation times and still acceptable solutions compared with the solution obtained from solving the ILP to optimality. These results show that breaking up the joint optimisation problem into multiple subproblems combined with intermediate cost updates can lower the running time, while decreasing the total costs for larger instances. This could be a good starting point for a heuristic approach, as we see that the scalability for larger real world problems is still low.
Several opportunities exist for future work in this research area. First, some heuristic approaches can be developed to improve the calculation time for larger problem sizes. Second, one could extend the base model by allowing for multiple services boxes of the same service on one access location. For this extension, next to determining which locations should be equipped with services, it has to be decided how many service boxes should be opened per service on these locations. Third, a partial covering extension could be made, in which not all demand points have to be covered.