1 Introduction

The deployment of Universal Mobile Telecommunications System (UMTS) network involves a huge investment mainly related to the cost of infrastructure. It is therefore necessary to optimize these networks to reduce the cost of its investments, and ensure a good quality of service to users. In UMTS networks, the assignment problem takes into account three levels of equipments. The first level consists of Node Bs (one Node B per cell), whereas the second level consists of Radio Network Controllers (RNC), and the third level includes both Mobile Switching Centers (MSCs) and Serving GPRS Support Nodes (SGSNs) (see for instance [1]). As illustrated in Fig. 1, each Node B is connected with an RNC, and each RNC is permanently connected with an MSC and an SGSN. In this context, the cell assignment problem consists of assigning first, Node Bs to RNCs in an optimal way, then RNCs to MSCs and SGSNs in order to provide mobile users with simultaneous voice and data services.

On the other hand, two types of handoff are taken into account in UMTS networks.

  • Simple handoff. It occurs when a user moves from one Node B to another Node \(B'\), as both Nodes B and \(B'\) are connected with RNCs that are served by the same MSC and the same SGSN.

  • Complex handoff. It occurs when a user moves from one Node to another, and two MSCs and two SGSNs are involved in the process. So this type of handoff needs transferring data from one MSC to another MSC and from one SGSN to another SGSN.

Complex handoff is more costly than a simple handoff.

Fig. 1.
figure 1

Example of UMTS assignment problem

1.1 Related Work

UMTS networks planning problems have been the interest of many researchers. Indeed, Kumar et al. (2002) [2] presented a multi-objective genetic algorithm approach to design telecommunication networks while simultaneously minimizing network performance and design costs under a reliability constraint. Juttner et al. (2005) [3] used a combination of simulated annealing and a specific b-matching method to determine the cost-optimal number and location of the Radio Network Controller (RNC) nodes and their connections to the Radio Base Stations (RBS) according to a number of planning constraints. Hashemi et al. (2008) [4] examined the same problem but this time by using the hybrid ant colony algorithm. Amaldi et al. (2003) [5] studied the UMTS base station (BS) location problem based on propagation models with power control. To solve the problem, authors proposed two randomized greedy procedures and a tabu search algorithm. St-Hilaire et al. (2006) [6] proposed a global approach for planning UMTS networks in the uplink direction using local search heuristic. Gabli et al. (2013) [7] proposed a genetic algorithm approach and a dynamic trade-off parameter to solve the UMTS base station (BS) location planning problem. To deal with the imprecise and uncertain information of prices (costs), Gabli et al. (2014 and 2016) addressed the same problem using fuzzy logic [8] and a possibility theory approach [9], respectively. However, all those approaches have only solved the problem of assigning Node Bs to RNCs. For solving the global problem, Mamadou et al. [1] among other, considered in the same formulation not only the assignment of Node Bs to radio network controllers (RNCs), but also the assignment of RNCs to Mobile Switching Centers (MSCs) and Serving GPRS Support Nodes (SGSNs). Moreover in [1], authors propose a model formulation and a solution which take the mobility aspects into account by integrating the handoff costs into the cost function.

In this paper we focus on the last problem which is divided into two assignment sub-problems: the assignment of a set of Nodes Bs to a set of RNCs, and the assignment of those RNC concurrently to a set of MSCs and a set of SGSNs. We describe, in Sect. 2, the problem and we present its mathematical modelling. In Sect. 2.2, we propose an improvement of the existing mathematical modelling. In Sect. 3, we present a dynamic approach using genetic algorithm. To compare our proposed model to the existing one, we give in Sect. 4 some applications of our approach, then we present the obtained numerical results. Finally, in Sect. 5 we give some concluding remarks.

2 Problem Statement and Model Presentation

Consider a territory to be covered by an UMTS service. Let \(I = \{1,..., n\}\) be a set of Nodes Bs, \(J= \{1, ..., r\}\) a set of RNCs, \(K = \{1,..., m\}\) a set of MSCs and \(L = \{1,..., s\}\) a set of SGSNs. In this paper, we consider the same assumptions as presented in [1].

  • The locations of Nodes Bs, RNCs, MSCs and SGSNs are known;

  • Each Node B is connected with one RNC and each RNC is simultaneously connected with one MSC and one SGSN;

  • The costs, types and capacities of links used to connect a pair of equipments are known;

  • The connection costs between a pair of equipments are known. Such costs include both link and installation costs;

  • The total capacities of the links connected with an equipment cannot exceed the capacity of that equipment, in terms of circuits, bits per second, and maximum number of interfaces that can be installed on that equipment.

Table 1. Notations

In this section we will need the notations presented in Table 1. We see that

$$ f_{23}^{vj} = \sum _{i=1}^{n}f_{12}^{vi}\text {,}\quad \forall j \in J\ \text {such as}\,\,B_i\,\, \text {is assigned to}\,\, RNC_j$$

and

$$ f_{24}^{dj} = \sum _{i=1}^{n}f_{12}^{di}\text {,}\quad \forall j\in J \text { such as}\,\, B_i\ \text {is assigned to}\,\, RNC_j$$

2.1 Model Presentation

Let us define the three following classes of decision variables:

$$\begin{aligned} x_{12}^{ij} = \left\{ \begin{array}{ll} 1 \quad &{}\text {if}\,\, B_i \,\, \text {is assigned to a}\,\, RNC_j, \\ 0 &{}\text {otherwise}. \end{array} \right. \qquad \text{ for } i \in I \text { and } j \in J. \end{aligned}$$
(1)
$$\begin{aligned} x_{23}^{jk} = \left\{ \begin{array}{ll} 1 \quad &{}\text {if }\,\, RNC_j\,\, \text {is assigned to a}\,\, MSC_k, \\ 0 &{}\text {otherwise}. \end{array} \right. \qquad \text{ for } j \in J \text { and } k \in K. \end{aligned}$$
(2)
$$\begin{aligned} x_{24}^{jl} = \left\{ \begin{array}{ll} 1 \quad &{}\text {if}\,\, RNC_j\,\, \text {is assigned to a}\,\, SGSN_l, \\ 0 &{}\text {otherwise}. \end{array} \right. \qquad \text{ for } j \in J \text { and } l \in L. \end{aligned}$$
(3)

Let \(z_{12}^{ii'j}\) and \(y_{12}^{ii'}\) be defined as:

$$ z_{12}^{ii'j} = x_{12}^{ij} \times x_{12}^{i'j} \text { and } \text { } y_{12}^{ii'} = \sum _{j\in J}z_{12}^{ii'j}. $$

It is clear that \(z_{12}^{ii'j}=1\) if Node \(B_i\) and Node \(B_i'\) are both assigned to the \(RNC_j\); and \(y_{12}^{ii'}=1\) if Node \(B_i\) and Node \(B_i'\) are both assigned to one and only one RNC. In the same way, we define \(z_{23}^{jj'k}\), \(y_{23}^{jj'}\), \(z_{24}^{jj'l}\) and \(y_{24}^{jj'}\):

$$ z_{23}^{jj'k} = x_{23}^{jk} \times x_{23}^{j'k} \text {,}\ y_{23}^{jj'} = \sum _{j\in J}z_{23}^{jj'k}\text {,}\ z_{24}^{jj'l} = x_{24}^{jl} \times x_{24}^{j'l} \text { and } y_{24}^{jj'} = \sum _{j\in J}z_{24}^{jj'l}.$$

Since we must consider two assignment sub-problems, the total cost function will be divided into two parts: the cost of assigning Nodes Bs to RNCs, which is denoted \(f_1\), and the cost of assigning RNCs to MSCs and SGSNs, which is denoted \(f_2\). In this case, \(f_1\) and \(f_2\) are expressed in [1] as follows:

$$\begin{aligned} f_1 = \sum _{i\in I}\sum _{j\in J}c_{12}^{ij} x_{12}^{ij} \end{aligned}$$
(4)

and

$$\begin{aligned} f_2 = \sum _{j\in J}\sum _{k\in K}c_{23}^{jk} x_{23}^{jk} + \sum _{j\in J}\sum _{l\in L}c_{24}^{jl} x_{24}^{jl}\nonumber \\ +\sum _{i\in I}\sum _{i'\in I}\sum _{j\in J}\sum _{j'\in J}h_3^{ii'}\times (1-y_{12}^{ii'})\times (1-y_{23}^{jj'})\nonumber \\ +\sum _{i\in I}\sum _{i'\in I}\sum _{j\in J}\sum _{j'\in J}h_4^{ii'}\times (1-y_{12}^{ii'})\times (1-y_{24}^{jj'}) \end{aligned}$$
(5)

subject to:

$$\begin{aligned}&\sum _{j\in J}x_{12}^{ij} = 1\text {,}\quad i\in I, \end{aligned}$$
(6)

which means that each \(B_i\) must be assigned to only one \(RNC_j\).

$$\begin{aligned}&\sum _{k\in K}x_{23}^{jk} = 1\text {,}\quad j\in J, \end{aligned}$$
(7)
$$\begin{aligned}&\sum _{l\in L}x_{24}^{jl} = 1\text {,}\quad l\in L, \end{aligned}$$
(8)

which means that each \(RNC_j\) must be assigned to only one \(MSC_k\) and only one \(SGSN_l\), respectively.

$$\begin{aligned}&\sum _{i\in I}f_{12}^{vi}.x_{12}^{ij} \le w_{2}^{vj} \quad j\in J, \end{aligned}$$
(9)
$$\begin{aligned}&\sum _{i\in I}f_{12}^{di}.x_{12}^{ij} \le w_{2}^{dj} \quad j\in J, \end{aligned}$$
(10)

which means that the traffic generated by all Nodes Bs connected with \(RNC_j\) cannot exceed the RNC capacities in terms of voice and data traffic.

$$\begin{aligned}&\sum _{j\in J}f_{23}^{vj}.x_{23}^{jk} \le w_{3}^{vk} \quad k\in K, \end{aligned}$$
(11)
$$\begin{aligned}&\sum _{j\in J}f_{24}^{dj}.x_{24}^{jl} \le w_{4}^{dl} \quad l\in L, \end{aligned}$$
(12)

which means that voice traffic from the RNCs to \(MSC_k\) and data traffic from the RNCs to \(SGSN_l\) cannot exceed the MSC and the SGSN capacities, respectively.

According to [1], among others, the global problem consists in minimizing the objective function \(f_1+f_2\) subject to the constraints (6), (7), (8), (9), (10),  (11) and (12).

2.2 Improvement of Mathematical Modeling

As we saw in the previous section, to minimize \(f_1\) and minimize \(f_2\), the authors in [1] choose to oversimplify the problem by minimizing \(f_1 + f_2\).

In our view, this simplification is not always reasonable. Indeed, minimizing \(f_1\) and minimizing \(f_2\) generate a multi-objective problem. A reasonable solution to a multi-objective problem is to determine an entire Pareto optimal solution set, or to transform this multi-objective problem into an appropriate mono-objective one. In this section, we will show the drawback of the existing model, then we present our improved mathematical modeling.

Assume that \(f_1\) is much greater than \(f_2\). When applying genetic algorithm (GA) to minimize the objective function \(f_1 + f_2\), there is a great risk that the GA selection procedure chooses only solutions which improve \(f_1\) by neglecting \(f_2\), since the function \(f_1\) dominates \(f_2\). Now, we present our mathematical modeling of the global assignment problem.

Consider the two sub-problems (4) and (5) subject to the constraints (6), (7), (8), (9), (10), (11) and (12). Since we wish to minimize \(f_1\) and minimize \(f_2\) simultaneously, then the global assignment problem can be expressed as a multi-objective problem. In our approach, we transform this multi-objective problem into a mono-objective one as follows:

$$\begin{aligned} \text {Minimize } w_1f_1 + w_2f_2 , \end{aligned}$$
(13)

subject to the constraints (6), (7), (8), (9), (10),  (11) and (12), where the weights \(w_1\) and \(w_2\) are positive values satisfying \(w_1+w_2 = 1\).

In the literature, the weights are usually taken as constants. In [10], authors show that, when using genetic algorithm (GA) to solve problem (13), it is not always appropriate to take \(w_1\) and \(w_2\) as constants. Instead, they introduce dynamic weights. Therefore, our problem (13) becomes:

$$\begin{aligned} \left\{ \begin{array}{l l l} \text{ Minimize } \displaystyle w_1(t)f_1 + w_2(t)f_2 \\ |w_1(t)f_1-w_2(t)f_2|\prec \varepsilon ,\\ \end{array} \right. \end{aligned}$$
(14)

subject to the constraints (6), (7), (8), (9), (10),  (11) and (12), where \(\varepsilon \) is a positif number in the vicinity of 0, t is a time-step (in this paper it is an iteration step of the genetic algorithm), and \(w_i(t)\), \(i=1,2\), are dynamic weights satisfying \(w_1(t)+w_2(t)=1\).

Since the global assignment problem is NP-hard (see for instance [1, 11]), then it is more appropriate to use metaheuristics method in order to find good solutions in reasonable computing time. In this paper, we use genetic algorithm (GA) method. In the next section, we describe how to use GA method and we present a dynamic approach to choose the weights \(w_1\) and \(w_2\).

3 Dynamic Genetic Algorithm Approach

Genetic algorithm (GA) is a search and optimization technique that mimics natural evolution. GA has already a relatively old history since the first work of John Holland on the adaptive systems goes back to 1962 [12]. The work of David Goldberg [13] largely contributed to popularize the GA. GA is inspired by the evolutionist theory explaining the origin of species. In GA terminology, a solution x is called an individual or a chromosome. Chromosomes are made of discrete units called genes. The main components of a GA are: selection, crossover and mutation.

3.1 Proposed Solution Method Using Genetic Algorithms

Consider the problem presented in Sect. 2.2 and described by Eq. (14).

Chromosome Representation

To code the chromosome we use integer coding as follows. If we have n nodes Bs, r radio network controllers (RNCs), m Mobile Switching Centers (MSCs) and s Serving GPRS Support Nodes (SGSNs), then the chromosome will have (\(n+2\times r\)) genes, where the first n genes present the assignment of Bs to RNCs, the second r genes present the assignment of RNCs to MSCs and the remanning r genes present the assignment of RNCs to SGSNs. For example, if we have \(n=6\), \(r=3\), \(m=2\) and \(s=2\), then the chromosome 213121122112 means that the \(B_1\) is assigned to \(RNC_2\), \(\cdots \), \(B_6\) to \(RNC_1\), \(RNC_1\) to \(MSC_1\), \(\cdots \), \(RNC_3\) to \(MSC_2\) and \(RNC_1\) to \(SGSN_1\),\(\cdots \), \(RNC_3\) to \(SGSN_2\).

Initial Population

Suppose we have n nodes Bs, r RNCs, m MSCs and s SGSNs. To define each chromosome of the population we generate (\(n+2\times r\)) random genes; the first n genes are integers in the set \(\{1,\dots ,r\}\), the second r genes are integers in the set \(\{1,\dots ,m\}\) and the remaining r genes are integers in the set \(\{1,\dots ,s\}\).

Fig. 2.
figure 2

Illustration of crossover operator

Crossover and Mutation

For crossover operator, a single crossover point on both parents’ chromosomes is selected. All data beyond that point in either chromosome is swapped between the two parent chromosomes. The resulting organisms are the new chromosomes (children). Figure 2 illustrates this operator.

For mutation, we choose a random position. If the gene to mutate is a Bs, we replace it by an integer chosen randomly from the set \(\{1,2,\dots ,r\}\). If the mutation position is between (\(n+1\)) and (\(n+r\)), we replace the selected gene by an integer chosen randomly from the set \(\{1,2,\dots ,m\}\). Finally, if the mutation position is between (\(n+r+1\)) and (\(n+2\times r\)), we replace the selected gene by an integer chosen randomly from the set \(\{1,2,\dots ,s\}\). Figure 3 illustrates this operator.

Fig. 3.
figure 3

Illustration of mutation operator

3.2 Genetic Algorithm and Dynamic Weights

In this section we present a GA approach using dynamic weights, as proposed by Gabli et al. in [10]. Let \(g(x,t)=\displaystyle w_1(t)f_1(x) + w_2(t)f_2(x)\), be the fitness function of the GA. In each iteration t of the GA we take:

$$w_1{(t)} = \frac{|f_2(x_{t-1})|}{|f_1(x_{t-1})|+|f_2(x_{t-1})|}\quad \text {and } w_2{(t)} = \frac{|f_1(x_{t-1})|}{ |f_1(x_{t-1})|+|f_2(x_{t-1})|},$$

where \(x_{t-1}\) is the best solution of the iteration \((t-1)\) of the GA; if \(f_1(x_{t-1})=f_2(x_{t-1})=0\), then we take \(w_1{(t)}:=~w_1{(t-1)}\) and \(w_2{(t)}:=~w_2{(t-1)}\). It is easy to see that \(0\le w_i(t)<1\), \(i=1,2\), and \(w_1(t)+w_2(t)=1\). In this case, the fitness function becomes

$$\begin{aligned} g(x,t) = \frac{|f_2 (x_{t-1})|}{|f_1 (x_{t-1})| + |f_2 (x_{t-1})|} f_1(x) +\frac{|f_1 (x_{t-1})|}{|f_1 (x_{t-1})| + |f_2 (x_{t-1})|} f_2(x). \end{aligned}$$

Then the algorithm is outlined as follows (see [10]):

 

Step 0. :

At the initialization step of the GA, we assign arbitrary positive real numbers to \(w_i(0)\), \(i = 1,2\), satisfying \(w_1(0)+w_2(0)=1\);

Step 1. :

Run an iteration t of the GA, with the fitness function g;

Step 2. :

Let \(x_{t}\) be the best solution among solutions of the current population;

Step 3. :

Calculate \(f_i (x_{t})\), \(i = 1,2\);

Step 4. :

If \( |f_1(x_{t})|+|f_2(x_{t})| \ne 0\) then take

$$ w_1{(t+1)} := \frac{|f_2(x_{t})|}{ |f_1(x_{t})|+|f_2(x_{t})|}\text {,}\quad w_2{(t+1)} := \frac{|f_1(x_{t})|}{ |f_1(x_{t})|+|f_2(x_{t})|}; $$
Step 5. :

\(t := t+1\);

Step 6. :

Repeat steps 1 through 5 until a stopping criterion is satisfied.

  This algorithm has two immediate advantages:

  • It automates the choice of the weights.

  • It ensures an equitable treatment of each objective function, so we have an equitable chance to minimize both functions \(f_1\), and \(f_2\). For more detail, see [10].

4 Application

4.1 Data Description

To evaluate the performance of the proposed algorithm, we consider three instances of the problem. For each instance, four discrete parameters are specified: the number of Nodes Bs, the number of RNCs, the number of MSCs and the number of SGSNs. Using a pseudorandom number generator, each parameter is assigned a position in the service area. The simulation instances are presented in Table 2.

Table 2. Number of Bs, RNCs, MSCs and SGSNs for each instance of problem.

For each instance of problem, we consider the following simulation data:

  • Node B to RNC connection cost;

  • RNC to MSC connection cost;

  • RNC to SGSN connection cost;

  • Handoff costs (involving MSCs) between each pair of Nodes Bs;

  • Handoff costs (involving SGSNs) between each pair of Nodes Bs;

  • Voice traffic from each Node B;

  • Data traffic from each Node B;

  • Capacity of each equipment.

Throughout this application, input costs are taken randomly.

Table 3. First instance of assignment problem: comparison between \(f_1+f_2\) and \(w_1f_1+w_2f_2\) with dynamic weights.
Table 4. Second instance of assignment problem: comparison between \(f_1+f_2\) and \(w_1f_1+w_2f_2\) with dynamic weights.

4.2 Computational Results

The algorithms were coded in JAVA programming language and implemented on a machine of CPU Intel Core2Duo-2GHz and memory RAM 2Go. In the GA approaches we have used three selection methods; roulette, scaling and sharing. After several experiments, we decided to take the parameters of GA as follows: crossover probability \(p_c=0.5\), mutation probability \(p_m=0.01\), population size \(ps=10\), \(ps=15\) and \(ps=20\) for first, second and third instance, respectively, and maximum number of generations is respectively 50, 300 and 1000. In the sharing selection method, the threshold of dissimilarity between two parents is taken as \(\sigma _s=ps/2\), and \(\alpha =1\). Each experiment were conducted on ten times. Tables 34 and 5 show average and best cost with the simple method (\(f_1+f_2\)) and with our dynamic method for the three instances of problem, respectively.

Table 5. Third instance of assignment problem: comparison between \(f_1+f_2\) and \(w_1f_1+w_2f_2\) with dynamic weights.

When we compare the average costs and the best costs with our method and with the simple method, we find that our method gives the best solutions in the three instances of problem. In the details, the best solution in the first instance is given by the sharing selection method with a cost equal to 48.5 (see the third line in Table 3), the best solution in the second instance is given by the roulette selection method with a cost equal to 660.59 (see the first line in Table 4) and the best solution in the third instance is given by the scaling selection method with a cost equal to 55997.48 (see the second line in Table 5). Figure 4 presents the best assignment solution to the first instance of problem, using roulette method which is 231231111222.

Fig. 4.
figure 4

Presentation of a solution to the first instance of problem.

5 Conclusion

In this paper we have considered the problem of the universal mobile telecommunication system (UMTS) network assignment. In this context, the total cost function will be divided into two parts: the cost of assigning a set of Nodes Bs to a set of radio network controllers (RNCs), which is denoted \(f_1\), and the cost of assigning those RNC concurrently to a set of Mobile Switching Centers (MSCs) and a set of Serving GPRS Support Nodes (SGSNs), which is denoted \(f_2\). The objective is to find an assignment that minimizes the cost of such implementation, i.e. that minimizes \(f_1\) and minimizes \(f_2\).

In the literature, authors choose to oversimplify the problem by minimizing \(f_1 + f_2\). In our view, this simplification is not always reasonable. Indeed, minimize \(f_1\) and minimize \(f_2\) generate a multi-objective problem. A reasonable solution to a multi-objective problem is to determine an entire Pareto optimal solution set, or to transform this multi-objective problem into an appropriate mono-objective one. In this paper, we presented the drawback of the existing model, then we described our improved mathematical modeling.

In order to solve the problem we have proposed a solution method based on genetic algorithms with a dynamic approach. To compare our proposed model to the existing one, we have applied our method to three instances of problem. The obtained results show the efficiency of our model and our approach.