1 Introduction

The domain of wireless networking is experiencing enormous growth. Many application protocols and techniques regarding this field have been continuously addressed by different industries in an attempt to provide better services. Bandwidth allocation and maintaining quality of service (QoS) up to the satisfactory level is a challenging task in managing a cellular network. The standard of Internet networking is the Internet Protocol (IP) that uses Mobile IP and Cellular IP for mobility purpose, to handle data and voice services over the Internet. The Mobile IP considers solving the limitation of handling a huge number of mobile stations moving rapidly among radio cells. It is appropriate for connecting different cellular network to provide the global mobility (Wang et al. 2015). Whereas, Cellular IP offers the local mobility and handoff backing. It is intended to be used at the local level, such as a building or metropolitan area. It can interwork with Mobile IP to provide wide area mobility. A major issue in the Cellular IP network is to deal with micro-mobility and providing good QoS to real-time users (Amzallag and Raz 2010) by using different QoS improving techniques like evolutionary algorithms (EA).

The limited bandwidth spectra and rapid growth of mobile communication make bandwidth allocation a critical process. The QoS works with different performance elements and controls or manages the network traffic by setting a priority considering different types of data to utilize bandwidth fairly. In case of wireless cellular network, this controlling and managing becomes more challenging to maintain QoS due to channel fading, Bit Error Rate and mobility (Aalo et al. 2014). These factors create delay and loss of packets due to retransmission and make the availability of bandwidth unpredictable.

The projected study is an effort to provide improved QoS in Cellular IP environment by using differential evolution (DE) algorithm. The base station (BS) performs DE-based processing to reserve free bandwidth and provides it to the cell where an immediate requirement of bandwidth for completion of the real-time operation is required. If no free bandwidth is found, the cell may ask for the bandwidth which is standby for non real-time users. This process should be done in such a way that some bandwidth must be standby for the upcoming users in a cell. The problem under study is NP-hard and DE is very effective for solving such problems (Mohamed 2017).

2 Background studies

Bandwidth allocation with QoS management is a challenging task in wireless networks. In wireless networks, bandwidth should be allocated in such a way that all the individuals should be treated fairly. To allocate bandwidth fairly and to maintain QoS, many techniques have been proposed (Chai et al. 2013; Dimitriou et al. 2013; Lim et al. 2014; Wang and Mukherjee 2014; Zhang et al. 2014; Dixit et al. 2015; Martignon et al. 2015; Sarigiannidis et al. 2015; Guo et al. 2016), however, none of them provide the optimum solution. This study focuses on EAs for bandwidth allocation through a bandwidth reservation scheme (Chang and Chen 2003). EAs are one of the most popular methods that were used previously by the researchers to solve NP-hard problems. Three most popular EAs are genetic algorithm (GA), particle swarm optimization (PSO) and differential evolution (DE). In Anbar and Vidyarthi (2009, 2011) a PSO based model is used for bandwidth reservation to reduce the connection/call dropping probability (CDP) which works well with less number of users, however with the increase in the number of packets (data traffic), the CDP increases. A GA-based bandwidth reservation approach is used in (Anbar and Vidyarthi 2009; Shams et al. 2017) which provides better results in terms of CDP as compared to PSO based model.

DE is a class of EAs and it became very popular in recent years for solving optimization problems (Ali et al. 2012; Wang and Cai 2012; Yildiz 2013a, b; Huang et al. 2017; Kukkonen and Coello 2017; Sabar et al. 2017; Teijeiro et al. 2017; Zheng and Zhang 2017). DE is very useful for solving different types of optimization problems such as power allocation (Yang et al. 2008) and channel allocation (Sharma and Anpalagan 2014) etc. In these cases, DE performed better as compared to GA. In a comparison in (Dong et al. 2012; Deb et al. 2014), DE outperforms GA in terms of accuracy and potential to find more robust results. Experimental results in (Rekanos 2008) show that DE performs better as compared to PSO in terms of speed and accuracy. The basics of evolutionary algorithms and details of each algorithm are discussed next.

2.1 Evolutionary algorithms

EAs for solving optimization problems is a big research space nowadays (Coello et al. 2007). EAs are motivated by biological evolution i.e. initialization, mutation, and crossover. All the EAs are based on three main steps. The first step is the process of initialization, in which an initial population is generated randomly depending upon the type of solution required. In this population, each one represents the solution. Each individual solution is evaluated for fitness value which is the second step. The third step is the generation of a new population from the existing population.

The initial population is created randomly and checked for the fitness evolution. After that, the stopping criterion is checked. This stopping criterion is decided in advance. Stopping criterion is of two types: one is static, and the other is dynamic. In static criterion, the iterations are fixed in advance and whenever iterations are completed, a new generation is created. In dynamic stopping criterion, the iteration will continue until the top k percent generations are not created among the given percentage of the best generations found. The combination of static and dynamic stopping criterion is also used in some cases. Sometimes, a new population is created that may be infeasible, for that it is significant to pick that solution which results in a feasible solution. The solution must be represented by determining two parameters initially i.e. the size of the population and the number of iterations. Choice of these parameters may vary the quality of the new population.

All the evolutionary algorithms follow these steps. In addition, some more steps are there that differentiate them from each other. Evolutionary algorithms in wireless networks are used for power allocation (Sedighizadeh et al. 2014), client and server management, managing online and offline files (Gabryel et al. 2015), content distribution, bandwidth allocation and channel allocation (Singh and Srivastava 2014) etc.

The generalized pseudo-code of the evolutionary algorithms are as follows:

figure a

The evolutionary algorithms that are used in this research are discussed below.

2.1.1 Genetic algorithm (GA)

GA is the most stable and common among the evolutionary algorithms. It was introduced earlier in 1975 by Holland. GA is considered as a global search technique to discover solutions for different optimization problems. GA belongs to a class of EA that is inspired by evolutionary biology such as inheritance, mutation, selection, and crossover. The steps of GA are discussed below.

  1. a.

    Initialization

In GA, evolution generally begins from randomly produced individuals and evolves towards new generations. The size of the population is problem dependent and it could be few hundred to thousand.

  1. b.

    Selection

After initialization, the fitness of individuals is assessed by using fitness function. Multiple individuals are selected for breeding to produce new generation based on their fitness.

  1. c.

    Reproduction

This step produces a new generation by using crossover and mutation operator. For each new solution, two “parents” are selected for breeding to form a “child” solution which shares many characteristics of the “parents”. New children are formed, recombined and mutated to produce a new population which is used in the next iteration of the algorithm. The process continues until a population of suitable size is produced.

  1. d.

    Crossover

Single point crossover is most commonly used crossover in which a locus is chosen to swap the remaining alleles. From each parent, a section of chromosome is selected to produce new children. A crossover point is selected randomly at which the chromosome is broken, which is called single point crossover.

  1. e.

    Mutation

After crossover, mutation is performed to ensure that individuals are not the same. A gene of a chromosome is randomly selected for mutation and replaced by a new value. Mutation is simple and necessary to improve diversity in the population.

  1. f.

    Termination

The process to produce new generation continues until a termination criterion is reached. The terminal criteria can be a solution that achieves minimum requirement, or a maximum number of generations is reached.

Because of its population-based approach, GA has been applied in numerous search and optimization problems of computer networks, such as channel allocation and power allocation (Behzadi and Niasati 2015), bandwidth allocation and energy management (Chen et al. 2014).

2.1.2 Particle swarm optimization (PSO)

PSO algorithm was described in 1995 by James Kennedy. It basically uses an artificial intelligence technique to find an approximate solution for the problems that are complex and impossible to solve. It is a simple algorithm and has few parameters used to find a solution for many optimization problems (Jiang et al. 2014). The convergence of PSO is very fast which is the main strength of the PSO (Wang et al. 2014).

PSO is started with a group of randomly selected particles and searches the best solution for a new generation. After initialization, particles move to the fitness evaluation. The fitness of particles depends on two best values. The first one, called as Pbest, is the best position for each particle in the swarm and it is updated based on fitness value of the particles. The second one is called gbest, which is the best value obtained for the whole or global swarm. The steps of PSO are given below.

  1. a.

    Initialization

Like GA, in PSO initialization is performed first where a swarm of particles is created and initialized with a random position and velocity.

  1. b.

    Fitness evolution

Fitness is evaluated each time and compared with previous best fitness value of the particle and also with the previous best fitness value of the whole swarm. The positions of personal best as well as global best are updated accordingly based on fitness.

  1. c.

    Velocity and position updating

There are two important operations in PSO including velocity update and position update. The process of updating velocity and position to create a new swarm is continued if stopping criteria is not reached. The personal best position, global best position, and old velocity are used to update the velocity.

In PSO, sorting of fitness values of solutions is not required in any process (Javidy et al. 2015) which is an important computational advantage over GA, when the size of the population is large. Also, PSO uses fewer parameters than GA, which might disturb the result in optimization. PSO has been applied in numerous search and optimization problems of networks, such as power management (Moradi and Abedini 2012), bandwidth allocation and energy management (Pourmousavi et al. 2010) etc.

2.1.3 Differential evolution algorithm

DE is another population-based optimization evolutionary algorithm for global optimization over continuous search space.

Storn and Price in 1997 found that DE is most competent and robust evolutionary algorithm (Storn and Price 1997). In 2004, Lampinen and Storn (Lampinen and Storn 2004) proved that DE is most accurate as compared to other optimization approaches. DE has shown effectiveness on a large range of classical optimization problems. Simulation result in (Panduro et al. 2009) shows that DE performs better than that of GA and PSO. Pinar Civicioglu and Erkan Besdok in (Civicioglu and Besdok 2013) found that DE shows more precise and robust results than that of PSO. In (Iwan et al. 2012) DE outperforms PSO in terms of repeatability and quality of the obtained solution.

DE is an efficient evolutionary algorithm for endless optimization problems. DE is like others evolutionary algorithms where we use individual population to find the optimal solution. The common difference between other algorithms and DE is that, in DE the mutation is a mathematical arrangement of individuals, while in others EAs, the results of mutation can be achieved through small changes in the genes of an individual. When the evolution process starts, the DE concentrates on exploration; as it proceeds, it starts to favor the exploitation. So, DE automatically adjusts the mutation growths to the best value established during the steps of the evolutionary process, despite depending on predefined probability density function. To achieve variation source for the third vector, DE uses the different randomly selected vectors of first and second vectors. In the end, many trial solutions are produced by assigning different weighted vector for the targeted vector. This process is known as the mutation operator because the target vector is transformed (muted) here. This process or recombination is repeated to produce offsprings that will be only accepted if they have better fitness than their parents. DE has been applied to solve a variety of problems such as image classification and clustering because of its simple and easily implemented structure and is accurate, convenient, reliable and robust in all type of situations. Steps of DE are discussed below.

  1. a.

    Initialization

This process is used to produce a population of new solutions called vectors which is then evaluated for fitness value.

  1. b.

    Mutation

A mutant vector is created by joining three randomly selected vectors from the population excluding the target vector. In the next step, the trial vector is created by using a crossover between the mutant vector and the target vector.

  1. c.

    Selection

The selection process chooses only one vector, between target and trial. The selected vector among the two, is considered in the next round while the loosing vector is rejected.

2.1.4 Comparison among DE, GA, and PSO

Table 1 shows a comparison of DE, GA and PSO. The strengths and weaknesses of each are highlighted.

Table 1 Advantage and weakness of each EA

3 Protocol operation

The proposed method for dynamic bandwidth allocation and reducing CDP in Cellular IP network has two components: bandwidth allocation within a cell and mutant/inherit calculation over cells. These are described next. Figure 1 shows the system model.

Fig. 1
figure 1

Proposed system model

3.1 Bandwidth allocation

A few assumptions have been made in this research. An initial population of 30 cells is considered and uniform distribution is used due to ease of implementation.

Each cell is considered as chromosome/vector and two types of users (real-time and non real-time) are distributed randomly in each cell. When a cell requests for bandwidth to complete a real-time traffic operation, BS makes a DE-based processing to reserve the free bandwidth in the cells or neighboring cells by identifying the donor’s cells. If it fails to find free available bandwidth, it will search the bandwidth which is standby for non real-time users by identifying donor’s cells and pass them to Mobile Switching Center (MSC). If it is not possible, then the connection is terminated. This can be expressed by the algorithm Assign Bandwidth() which has assigned the bandwidth to the real-time users by identifying donor cells. The sequence diagram of the proposed system is given in Fig. 2, that shows the sequence of the processes performed by the proposed system.

Fig. 2
figure 2

Sequence diagram of proposed system

figure b

At the start, fair bandwidth is randomly distributed among the cells and each cell has three parts of the allocated bandwidth: for real-time traffic, for non real-time traffic and free bandwidth.

3.2 Mutant/inherit calculation using DE

Figure 3 shows the genes/indices in the chromosome/vector and each index is discussed below. Figure 4 shows the real values or the illustration of data in these vectors/chromosomes.

Fig. 3
figure 3

Vector or chromosome structure (indices or genes)

Fig. 4
figure 4

Real illustration of data in the vector/chromosome

D = 7 No. of genes in a chromosome.

Indices (1) No. of real-time users.

Indices (2) No. of real-time packets.

Indices (3) Bandwidth assigned to real-time users.

Indices (4) No. of non real-time users.

Indices (5) No. of non real-time packets.

Indices (6) Bandwidth assigned to non real-time users.

Indices (7) Free bandwidth.

After creation of the initial population, when a cell requests for bandwidth to complete a real-time traffic operation, means the initial assign bandwidth is less than the required bandwidth i.e. \(~~Br<~B~required\), where \(Br\) is the initially assign bandwidth for real-time users and \(Brequired\) is the bandwidth actually required to complete a task/call. The BS performs a DE-based processing to search the free available bandwidth within the cells or neighboring cell and assign this optimized bandwidth to the cell where required, in order to fulfill the QoS requirements.

The fitness function plays an important role for high quality performance in any network. It contains important parameters that affect the QoS. The fitness function evaluates the fitness of each chromosome/vector. The proposed fitness function considers that fair bandwidth is initially allocated to each cell. That shows we are further trying to improve the initially assigned bandwidth through crossover and mutation. Proposed method offers robust fitness function to calculate the CDP.

Br = Bandwidth for real-time users

Bnr = Bandwidth for non real-time users

Bf = Free available bandwidth

Nr = Number of real-time users

Nnr = Number of non real-time users

Bt = Total bandwidth

CCP = Call/connection completion probability

CDP = Call/connection dropping probability

$$CCP=\frac{{\frac{{Br}}{{Nr}}+\frac{{Bnr}}{{Nnr}}+Bf}}{{Bt}}$$
(1)
$$CDP=Fitness~function=1 - CCP$$
(2)

If the value of Eq. (2) is less than 0.5 then those chromosomes will be selected as better chromosome and used in the formation of Mutant Vector (MV). The population consists of NP candidates. System randomly selects a candidate Xi from the current generation (ranges from 0 to NP-1) called parent vector or target vector (Figs. 5, 6).

Fig. 5
figure 5

Target vector

Fig. 6
figure 6

Mutant vector

Mutation generates MV by using three randomly selected parents’ as:

$$X{c^\prime }=Xc+F(Xb - Xa)$$
(3)

In Eq. (3) F is scaling factor or mutation constant and it has a significant effect on exploration. Its value lies between [0.5 and 1.0]. Small values of scaling factor lead to premature convergence, and high values slow down the exploration. However, it has no optimal value from the literature.

After mutation, the crossover is performed on randomly selected target vector \(Xi\) and MV. Crossover is controlled by Crossover Rate (CR), that ranges between 0 and 1. It shows how much data is to be taken from both the parents. In crossover, a random number between 0 and 1 is generated. If it is greater than CR, then inherit a gene from target else from mutant MV.

Let’s set CR = 0.9. Since we have 7 genes, we need to generate 7 random numbers between 0 and 1. Let’s assume those numbers are 0.21, 0.97, 0.8, 0.23, 0.91, 0.60, 0.95 respectively. The values which are lesser than CR value will be filled from MV and the values greater than the CR will be filled by gene taken from target vector. The newly generated vector form Xi and Xc′ is known as the trial vector Xt as shown in Fig. 7.

Fig. 7
figure 7

Trial vector

After the formation of trail/child vector, the selection is performed by using a fitness function to keep the fittest vector between the target vector and trail/child vector. The selected vector is immediately available for the formation of new trail vector.

Pseudo-code of the proposed algorithm is shown below.

figure c

4 Results and discussions

The proposed DE-based method has been implemented to evaluate the performance over Cellular IP network. Many parameters affect the QoS including No. of users, packet size, available bandwidth, and session time. The simulation is performed in MATLAB 2014. A structured implementation of standard DE is available in MATLAB. MATLAB is extensively used in communication system design, including system-level analysis and design, communications channels modeling and simulation using standard-compliant waveforms such as LTE, and rapid prototyping using FPGAs. In addition, it is widely used in mobile communications to design and simulate multidomain models including digital, analog/mixed-signal.

The proposed method is compared with existing GA and PSO based models. The parameters shown in Table 2 are used for simulation.

Table 2 Parameters used

Experiments are performed in Cellular IP network where many parameters affect the QoS, including number of real-time users, available bandwidth, and size of packets. Generated packets are of maximum size of 100 bytes. Also, the available bandwidth is considered as a limited resource. The proposed method is trying to minimize the CDP for real-time users using DE and compares the results with previously used models of GA and PSO.

From the obtained results, it is observed that with the increase in bandwidth for real-time users CDP decreases for all methods as shown in Fig. 8. However, DE-based method performs better as compared to GA and PSO.

Fig. 8
figure 8

CDP% in terms of available bandwidth (Mbps)

In Table 3 shown below, it can be observed that with the increase in available bandwidth CDP decreases for all models, however, the DE-based model clearly performs better as compared to the other two models.

Table 3 Performance comparison of DE with GA and PSO in terms of CDP with respect to the available bandwidth (Mbps)

The demand for required bandwidth increases with the increase in the number of real-time users which ultimately affect the CDP and it becomes higher with the increase in real-time users. Each new user demands bandwidth in a cell and the available bandwidth decreases, which ultimately leads to increase in CDP. It is clear from the comparison between three models, in Fig. 9, the CDP is going higher with the increase in real-time users. All these models are trying to control the CDP, however, the DE-based mechanism has better values in terms of CDP as shown in Fig. 9 and Table 4.

Fig. 9
figure 9

CDP% in terms of number of users

Table 4 Performance comparison of DE with GA and PSO in term of CDP with respect to the number of real-time users

As shown in the Table 4, with the increase in the number of real-time users the requirement for bandwidth also increases. Because real-time users consume more bandwidth which ultimately effects the CDP. That’s why CDP increases every time with the increase in real-time users. Comparison of the proposed method with previously used models of PSO and GA shows that CDP increases for all the models, however, DE-based method done well comparatively to others.

Real-time users consume more bandwidth when they produce a large number of packets. This increase in real-time packets ultimately results in CDP with some fixed amount of bandwidth. All the three models handle this problem well, however, the proposed method performs better as shown in Fig. 10.

Fig. 10
figure 10

CDP% in terms of number of real-time packets

In Table 5 given below, we can see that CDP increase with the increase in the number of real-time users because they generated more real-time packets which ultimately resulted in increasing the CDP.

Table 5 Performance comparison of DE with GA and PSO in term of CDP with respect to the number of real-time packets

With the increase in session time of a mobile node in a cell for a call, more bandwidth is consumed because real-time users occupy the bandwidth for longer duration of time and release it after completing the long session. If the number of real-time users is large, then with the increase in session time ultimately results in a huge increase in the CDP. All the three models handle this problem well, however, DE performs better as shown in Figs. 11, 12, 13 and 14.

Fig. 11
figure 11

CDP% in terms of session time in minutes (with respect to number of 2 real-time users)

Fig. 12
figure 12

CDP% in terms of session time in minutes (with respect to number of 4 real-time users)

Fig. 13
figure 13

CDP% in terms of number of session time in minutes (with respect to number of 6 real-time users)

Fig. 14
figure 14

CDP% in terms of session time in minutes (with respect to number of 8 real-time users)

In Tables 6, 7, 8 and 9 given below, we can see that CDP increase with the increase in session time.

Table 6 Performance comparison of DE with GA and PSO in term of CDP with respect to the session time (2 real-time users)
Table 7 Performance comparison of DE with GA and PSO in term of CDP with respect to the session time (4 real-time users)
Table 8 Performance comparison of DE with GA and PSO in term of CDP with respect to the session time (6 real-time users)
Table 9 Performance comparison of DE with GA and PSO in term of CDP with respect to the session time (8 real-time users)

5 Conclusion

In this research, previously used evolutionary algorithm based methods for bandwidth reservation in a cellular network are discussed. The focus of these methodologies is to improve the QoS in terms of call completion probability by reducing the CDP. To achieve this goal, this work proposed a DE-based method which is applied for dynamic bandwidth allocation by using bandwidth reservation scheme. The proposed method helps in improving the performance in terms of QoS by decreasing the CDP thus increasing the CCP in a Cellular IP network. Proposed research offers new fitness standards to reserve free bandwidth from initially assigned fair bandwidth and allocates it to the cell where it is required to reduce the packet loss, delay and jitter. The optimization is performed in consideration of some important parameters including, number of users, number of packets, session time and available bandwidth. Simulation results show that the proposed method provides better results as compared to the previously used evolutionary algorithms. The work can be extended to further improve the performance of bandwidth allocation by using the other meta-heuristic algorithms.