Abstract

This paper proposes an aggressive cuckoo search algorithm for optimum power allocation in a CDMA-based cellular network. To make the cuckoo search algorithm aggressive, adaptive parameters are used to vary the step size and probability of discovery. Furthermore, the Lévy flight is replaced with the Beta distribution to further improve the performance of the algorithm. To prove that the proposed algorithm is superior, the algorithm is tested on 23 benchmark test functions and its results are compared with those of 10 other standard optimization algorithms and 4 other advanced optimization algorithms. The performance of the proposed algorithm is proved via the statistical analysis of the results using the Wilcoxon rank-sum test. The proposed algorithm is then utilized in determining the optimal uplink power for multiple users in a CDMA-based cellular network in three different scenarios through Rician fading channels. The resultant allocated power should ensure that each mobile station meets its predetermined signal-to-interference-and-noise ratio while utilizing the least amount of power.

1. Introduction

In the field of engineering, many design problems involve the determination of the best solution from multiple possibilities containing different parameters and conditions under complex constraints. There are a wide variety of constraints that an engineer would have to take into account, such as the range of material properties or even the load capacity of a machine [1]. This brings about the need for optimization in engineering. The goal of optimization is to determine either the minimum or maximum point of the function being solved [2]. Optimization is applied in other aspects of engineering other than design, such as in information systems to create deployment strategies for cloud computing services or in electrical engineering to forecast energy consumption [3].

Many types of optimization algorithms exist, such as bracketing algorithms, first-order algorithms, and direct algorithms. Of these algorithms, a recent trend has seen the use of evolutionary algorithms, such as genetic algorithms (GA) and genetic programming, and swarm-based algorithms increasing. Examples of swarm-based algorithms include ant colony optimization, particle swarm optimization (PSO), firefly algorithm (FA), grey wolf optimization algorithm (GWO), and the cuckoo search algorithm [4]. These algorithms are inspired by nature. The flexible, efficient, and highly adaptable nature of these algorithms is the reason behind their increased use in optimization. Likewise, these algorithms can easily be implemented in a large array of programming languages, thus enabling their use in a wide variety of cases [5].

Evolutionary algorithms are a collective of algorithms that adapt their population with each generation by modifying their potential solutions by randomly discarding poor solutions and only permitting the fit solutions to move on to the next generation. Although evolutionary algorithms can solve unstructured problems and do not require differentiability of their objective functions, they are typically avoided as they are not suitable for solving large-scale problems due to their intensive computational needs, thus leading to the preference for swarm-based algorithms [6].

In the development of these nature-inspired optimization algorithms, two factors are taken into account in their evaluation: exploration and exploitation. Exploration refers to the searching of the global search space, while exploitation refers to searching of the local search space. These two factors need to be balanced in the development of the optimization algorithm [7, 8]. Swarm-based algorithms consist of two phases, namely, the variation and selection phases. The variation phase searches the search space and the selection phase exploits the identified search space based on previous experiences. These two phases maintain a balance between exploration and exploitation thus leading swarm-based algorithms to be the preferred optimization algorithm [6].

Among swarm-based algorithms, the cuckoo search algorithm is determined to be efficient. This is due to the two search capabilities of the cuckoo search algorithm: the local and global search, being controlled by a switching probability. This enables the algorithm to more efficiently search the global space compared to other swarm-based algorithms such as PSO. Furthermore, the PSO algorithm has been deduced to converge quickly to the current best solution but not always to the global best solution [9, 10].

Due to the above-stated reasons, the cuckoo search algorithm is one of the most preferred optimization algorithms over other algorithms such as PSO and GA. Although the cuckoo search algorithm is viewed as a highly efficient optimization algorithm, it is not perfect. The algorithm can easily converge to the local optimum solution, and the algorithm generally has a slow rate of convergence [11, 12].

The purpose of this study is to mitigate the above problems mentioned by proposing an aggressive cuckoo search algorithm (ACSA). The aggressive nature of the algorithm comes about by using an adaptive step size and probability of discovery whose values would change with each iteration of the algorithm. Likewise, to further improve the performance of the ACSA, the Lévy distribution is replaced with a beta distribution. The ACSA will be used in determining the optimal uplink power for multiple users in a CDMA-based cellular network.

2. Literature Review

2.1. Improvements to the Standard Cuckoo Search Algorithm

Although the cuckoo search algorithm is a widely used optimization algorithm due to its simple implementation, it suffers from some downfalls. In [13], the authors expressed some of the problems that the standard cuckoo search algorithm suffers from, such as the reduced global exploration ability due to the algorithm’s random initialization of its population. Furthermore, the Lévy flight step size scaling factor is constant, thus this parameter needs to be tuned for a particular problem, and this increases the difficulty of using the algorithm.

Due to this issue, many researchers have developed improvements to the standard cuckoo search algorithm that mitigate the above problem. In [14], Meng et al. described that there are four main methods to improve the standard cuckoo search algorithm. The first method is to use an adaptive parameter in the algorithm to enable the parameters of the algorithm to dynamically change. The second method is by replacing the Lévy flight method with other better search strategies such as the random long-distance search strategy or the stochastic short-distance strategy. The third method is the hybridization of the cuckoo search algorithm with other optimization algorithms. The last method is improving the initial solutions.

2.2. Review of Cuckoo Search Algorithms with Adaptive Parameters

In [15], Zhang and Chen noticed that the step length of the Lévy flight was constant and thus proposed making the Lévy flight step size a value that reduced with increasing generation. He concluded that with the improvements, the new cuckoo search algorithm had a faster convergence speed and higher precision than the standard cuckoo search algorithm. A self-adaptive cuckoo search algorithm was proposed in [16]. In this proposal, the adaptive nature of the algorithm was employed through a linear population reduction. The linear population reduction reduced the total number of function evaluations required and thus enabled better exploration toward the end of the iterations. The self-adaptive cuckoo search algorithm achieved better results than the standard cuckoo search algorithm and the self-adaptive differential evolution algorithm.

In [17], the authors proposed an adaptive cuckoo search algorithm for searching for optimal network configuration and distributed generation allocation. The cuckoo search algorithm was made adaptive by using graph theory to reduce the number of infeasible individuals. In most scenarios, this adaptive algorithm outperforms a firework optimization algorithm and harmony search algorithm in determining the network configuration that minimized the active power loss and enhanced the voltage stability index of the power distribution system. Furthermore, an improved cuckoo search algorithm was proposed in [18]. This algorithm was made adaptive by using a convergence improvement strategy, and it was tested against the standard cuckoo search algorithm and it outperformed it in 32 out of 34 test cases. This enabled the author to optimally determine the roots of nonlinear equation systems.

2.3. Review of the Cuckoo Search Algorithms with Replaced Lévy Flight

In [19], the authors present a hybrid many-objective cuckoo search algorithm that uses both Lévy and exponential distribution. The authors compared their algorithm with other variations of the cuckoo search algorithm that used different combinations of the Lévy distribution, Cauchy distribution, and exponential distribution. In their analysis, they discovered that the Lévy and exponential distribution combination had the best performance of the other combinations and outperformed the Multi-objective Evolutionary Algorithm Based on Decomposition (MOEA/D) in the popular WFG suite. In [20], an enhanced fractional-order cuckoo search optimizer using heavy-tailed distributions is used to classify COVID-19 X-ray images. The authors utilized the fractional-order cuckoo search (FO-CS) algorithm with a wide variety of heavy-tailed distributions, i.e., the Lévy distribution, Mittag-Leffler distribution, Pareto distribution, Cauchy distribution, and Weibull distribution. The FO-CS variants were also tested against the following algorithms: Harris hawks optimization (HHO), Henry gas solubility optimization (HGSO), Genetic Algorithm (GA), Swarm Algorithm (SSA), Whale optimization algorithm (WOA), and the Grey Wolf Optimizer (GWO). The authors concluded that the use of heavy-tailed distribution can be used to prevent local trapping by the algorithm and escape from the non-prominent regions of the search space. The authors also concluded that the FO-CS variant with Weibull distribution generally outperformed the other FO-CS variants in their various tests such as in feature selection and in their mean fitness function mean values.

2.4. Review of the Hybridization of the Cuckoo Search Algorithm with Other Metaheuristic Algorithms

In [21], the authors describe that in population-based search algorithms, the parameter settings of the algorithm and the present population diversity can have a great impact on the performance of the algorithm. The higher the population diversity of the algorithm, the better the exploration by the search algorithm. This brings about the need for the hybridization of population-based search algorithms. In [22], a proposal was made for hybridizing the harmony search algorithm with the cuckoo search algorithm. The pitch adjustment operation in the harmony search algorithm was added to the cuckoo search algorithm as a mutation operator. It was concluded that the hybridized cuckoo search algorithm avoided premature convergence caused by getting trapped in local optimum regions and thus outperformed the standard cuckoo search algorithm.

In [23], a hybridization of the cuckoo search algorithm and particle swarm optimization was proposed. The hybrid algorithm has an enhanced diversity of optimal solutions and convergence solutions. This resulted in the algorithm outperforming the standard cuckoo search algorithm. On top of that, a hybrid grey wolf optimizer and cuckoo search algorithm were proposed in [24] to be used in the extraction of parameters of solar photovoltaic models. The hybridization of the two algorithms aimed to balance global exploration and local exploitation. The hybrid algorithm was applied to solve ten global optimization problems with different characteristics and to four solar photovoltaic models for parameter extraction, and it was concluded that the hybrid algorithm had better robustness for parameter extraction and it had faster convergence speed than other algorithms such as the standard grey wolf optimizer, the improved grey optimizer, and even the whale optimization algorithm.

3. Standard Cuckoo Search Algorithm

3.1. Inspiration for the Cuckoo Search Algorithm

The Standard Cuckoo Search algorithm (SCSA) was developed by Yang and Deb [1, 9]. The algorithm is based on the brood parasitism nature of some species of cuckoo bird. The cuckoo bird lays its eggs in the nests of other host birds and thus its offspring would depend on the host bird for food and survival [25]. There is a probability that the host bird might notice the cuckoo bird’s egg, and if the host bird does notice the egg, it may either remove the cuckoo bird’s egg or abandon the nest entirely and build a new nest in a different place. To reduce the probability of discovery, the cuckoo bird lays eggs that mimic the host egg’s color and pattern.

3.2. Random Walk and Lévy’s Flight

In nature, animals search for food in a random or quasi-random manner in which the next move is based on the current location or state and transition probability to the next location. The direction chosen by the animal depends on a probability that can be modeled mathematically. To mimic this random movement Lévy’s flight is employed, which derives its step length from the heavy-tailed Lévy distribution [26].

The values μ and are random numbers drawn from a normal distribution with a mean of 0 and a standard deviation of 1, and is the gamma function. The Lévy exponent β is usually held constant throughout the operation of the algorithm.

3.3. Standard Cuckoo Search Algorithm

In the cuckoo search algorithm, each cuckoo egg represents a new solution while the host bird’s eggs represent a new candidate solution [27]. To implement the cuckoo search algorithm, three idealized rules need to be taken into account [28]:(i)Each cuckoo bird lays one egg and places it in a randomly chosen nest.(ii)The best nests with the highest quality eggs will carry over to the next generation.(iii)The number of available host nests is fixed and the host bird can discover the cuckoo bird’s egg with a probability of discovery . In this situation, the host bird can either remove the alien cuckoo egg or abandon the nest entirely and build a new nest in a new location.

Based on these three rules, the pseudo-code of the standard cuckoo search algorithm can be summarized as shown in Algorithm 1.

As discussed earlier, optimization algorithms take into account two main phases: exploration and exploitation, and these two phases need are balanced in Algorithm 1 by the probability of discovery .

For nest i, its next generation is derived by the following equation:where is the current generation of nest i, while is the new nest generated by Lévy flight. The product means entry-wise multiplication. α is the step size and it must meet the condition .

(1)Begin
(2)Objective function f (x), where d is the number of dimensions
(3)Initialize a population of n host nests xi ()
(4)While (t < Stop Criterion):
(5)Get a cuckoo (say i) randomly by Lévy flight (equation (2))
(6)Evaluate its fitness
(7)Choose a nest among n (say j) randomly
(8)if (Fi > Fj)
(9)Replace j by new solution
(10)End if
(11)Abandon a fraction Pa of worse nests and build new ones at new locations via Lévy flight
(12)Keep the best solutions (or nests with quality solutions)
(13)Rank the solutions and keep the current best
(14)End while
(15)Post process results
(16)Stop

4. Proposed Aggressive Cuckoo Search Algorithm

In this section, a new aggressive cuckoo search algorithm is proposed based on three modifications made to the standard cuckoo search algorithm.

4.1. Adaptive Step Size

In the standard cuckoo search algorithm, a constant step size is employed in the Lévy flight. A common observation is that when the step size is large, the performance of the algorithm is slow but the algorithm does reach the global optimum after a large number of iterations. If the step size is small, the algorithm has a high chance of converging to a local optimum. Due to this problem, an adaptive step size is proposed.

During the initialization of the population, a uniform distribution is employed, thus enabling a diverse distribution of the population throughout the entire search space. Therefore, a smaller step size can be employed in the initial iterations to enable each search agent efficiently search for the minimum in their diverse locations in the search space. However, as the iterations increase, the search agents may be trapped in a local minimum, thus warranting the need for a larger step size to enable the search agents to move out of their local minimum. Therefore, increasing the step size would enable better faster convergence of the cuckoo search algorithm compared to a constant step size.

Eber Moll’s model of a transistor is emulated to get an equation for step size α.

This produces the following equation for step size α:

The values of αmin and αmax are predetermined before the execution of the algorithm. Figure 1 shows the adapting nature of the algorithm as the iterations increase to a maximum of 500:

4.2. Adaptive Probability of Discovery

The probability of discovery controls the two search capabilities of the cuckoo search algorithm: local search (exploitation) and global search (exploration). In SCSA, the probability of discovery Pa is kept constant at 0.25. This means that the algorithm focuses on local search 25% of the time and focuses on the global search 75% of the time. Therefore, by increasing the probability of discovery from a minimum to the maximum predetermined value, the local search of the algorithm can be increased to coincide with the increasing local search caused by the adaptive step size.

The probability of discovery is made adaptive by making it vary linearly with respect to the iteration of the algorithm.

The values of Pamin and Pamax are predetermined before the execution of the algorithm. Figure 2 shows the adapting nature of the probability of discovery as the iterations increase to a maximum of 500:

4.3. Replacement of Lévy Flight with Beta Distribution

The beta distribution is a continuous probability distribution defined in the interval [0, 1]. It is characterized by its widely varying shape due to the manipulation of its two parameters alpha and beta. where is the gamma function.

(1)Begin
(2)Objective function f (x), where d is the number of dimensions
(3)Initialize a population of n host nests xi ()
(4)While (t < Stop Criterion):
(5)Get a cuckoo (say i) randomly by equation (10)
(6)Evaluate its fitness
(7)Choose a nest among n (say j) randomly
(8)if (Fi > Fj)
(9)Replace j by new solution
(10)End if
(11)Abandon a fraction Paadaptive (equation (8)) of worse nests and build new ones at new locations via equation (10)
(12)Keep the best solutions (or nests with quality solutions)
(13)Rank the solutions and keep the current best
(14)End while
(15)Post process results
(16)Stop

This widely varying shape is advantageous as it enables the creation of a distribution that adds to the increased convergence rate caused by the adaptive parameters. To further increase the convergence rate, a negatively skewed distribution is required, thus alpha must be greater than beta.

With the above three proposed changes to the cuckoo search algorithm, the generation of the next nest i, is derived from the following equation:where .

Based on the above-proposed changes, the pseudo-code of the aggressive cuckoo search algorithm is shown in Algorithm 2.

A diagrammatic representation of Algorithm 2 is presented in Figure 3.

5. Implementation and Validation

In this section, the performance of the algorithms will be evaluated by using the algorithms to solve classical optimization benchmark functions utilized in the following optimization literature [29]. The benchmark functions are grouped into three categories: unimodal, multimodal, and fixed-dimension multimodal functions. The unimodal test functions verify the local search ability of the ACSA and are presented in Table 1, the multimodal benchmark functions are used to evaluate the global search capability and are presented in Table 2 and the fixed-dimension multimodal functions are used to evaluate the convergence accuracy and are presented in Table 3 [30].

5.1. Ablation Experiment on the Varying Step Size

In order to determine if the increasing step size of the algorithm increases the performance of the algorithm by a greater magnitude as compared to an algorithm with decreasing step size, a variant of the cuckoo search algorithm is implemented that only has the adaptive step size implemented in equation (6). In this implementation, the step size is increasing. Another variant of the cuckoo search algorithm is implemented that has an adaptive step size that decreases as the iterations of the algorithm increase. The varying step sizes of the two cuckoo search algorithm variants are shown in Figure 4.

The two cuckoo search algorithm variants are used to solve the 23 classical benchmark optimization functions presented in Tables 13. For each benchmark function, the algorithms were tested with a maximum number of 500 iterations and a population of 50 starting from randomly generated initial populations. Each algorithm was run 15 times independently for each benchmark function and the average of the obtained minimum values and their standard deviation have been recorded in Table 4. The following results were obtained by running the algorithm on an ASUS Intel Core i5-8250U @1.60 GHz laptop with 6.00 GB RAM.

Of the 23 benchmark functions, the cuckoo search variant with the increasing step size outperformed the other variant in nine functions. The variant with a decreasing step size outperformed in five functions, and the two variants obtained the same value in nine functions.

5.2. Evaluation Metrics

In this section, the ACSA is initially compared with ten other standard optimization algorithms to evaluate its performance. These algorithms are: Artificial Bee Colony (ABC) algorithm, Bat Algorithm (BA), Cultural Algorithm (CA), Differential Evolution (DE) algorithm, Firefly Algorithm (FA), Flower Pollination Algorithm (FPA), Genetic Algorithm (GA), Invasive Weed Optimization (IWO) algorithm, Particle Swarm Optimization (PSO) algorithm and the Standard Cuckoo Search algorithm (SCSA).

For each benchmark function, the algorithms were tested with a maximum number of 500 iterations and a population of 50 starting from randomly generated initial populations. Each algorithm was run 15 times independently for each benchmark function and the average of the obtained minimum values and their standard deviation have been recorded in Table 5. If multiple algorithms achieved the same mean, the algorithm with the lower standard deviation was chosen as the best performing algorithm.

From the results in Table 5, it can be seen that the ACSA outperformed the other algorithms or reached the same optimum value as some of the other algorithms in 18 of the 23 benchmark functions, with the ACSA only being outperformed in benchmark functions F5, F6, F8, F12, and F13. The ACSA always outperformed or reached the same optimum value as the SCSA in all 23 functions.

The plot of each algorithm’s convergence curve against each test function is shown in Figure 5.

From the convergence curves, it can be seen that the aggressive cuckoo search algorithm has a faster convergence rate compared to the other optimization algorithms, like in functions F1, F2, F3, F4, F9, F10, and F11.

To further test the performance of the ACSA, it is compared against the following advanced optimization algorithms: Fuzzy Self-Tuning Differential Evolution (FSTDE) algorithm [31], Ranking-based Adaptive Cuckoo Search (RACS) algorithm [32], Improved Real-Coded Genetic Algorithm (IRGA) [33], and Gaussian Quantum-behaved Particle Swarm Optimization (GQPSO) [34] algorithm. The FSTDE algorithm utilizes fuzzy logic to determine the parameters for each solution, the RACS uses a ranking-based crossover in its mutation strategy, the IRGA utilizes a directional crossover to improve the performance of a real-coded GA and the GQPSO uses a modified PSO algorithm that utilizes a mutation operator with a Gaussian probability distribution. For each benchmark function, the algorithms were tested with a maximum number of 500 iterations and a population of 50 starting from randomly generated initial populations. Each algorithm was run 15 times independently for each benchmark function and the average of the obtained minimum values and their standard deviation have been recorded in Table 6. If multiple algorithms achieved the same mean, the algorithm with the lower standard deviation was chosen as the best performing algorithm.

Of the 23 functions, the ACSA either outperformed or matched the performance of another algorithm in 13 functions. The ACSA was mainly outperformed in the unimodal functions by the GQPSO due to its superior local search capability. The GQPSO struggled in the multimodal functions, particularly in the fixed-dimension multimodal functions.

5.3. Timing Analysis

The execution time of each of the algorithms can be used to determine the performance of the aggressive cuckoo search algorithm. The average time of running each of the algorithms 15 times has been presented in Table 7.

From the results of Table 7, it can be seen that the PSO algorithm has the shortest runtime in 16 functions, i.e., in approximately 69.5% of all the benchmark functions. This is due to the algorithm having few parameters to tune, thus executing quickly [35].

The ACSA consistently had around the fifth or sixth shortest execution time among the 10 standard optimization algorithms. Although, this is due to the algorithm being compared to consistently fast algorithms such as the flower pollination algorithm which is characterized by being simple in its formulation and thus having a high computational performance [36].

The ACSA has a faster execution time compared to the SCSA in 17 of the 23 benchmark functions, with the SCSA mainly outperforming it in functions F14, F16, F17, F18, F19, and F23. On top of that, the SCSA was quicker in the fixed-dimension multimodal benchmark functions which had fewer dimensions, i.e., from 2–6, and was slower in the unimodal and multimodal benchmark functions which had 15 dimensions. Therefore, the modifications in the aggressive cuckoo search algorithm improved the execution time of the algorithm when dealing with objective functions with many dimensions but slowed down the algorithm when dealing with few dimensions. This improves the performance of the ACSA when dealing with complex objective functions that may have numerous dimensions for its variables.

To analyze the time complexity of the ACSA, the SCSA and ACSA were used to solve the optimization functions F1, F5, and F10 with varying dimensionality for each function. For each function, each algorithm solved the function 15 times for varying dimensionality starting from 5 to 50. The mean timings for each algorithm for each number of dimensions have been plotted in Figure 6.

From the three plots in Figure 6, it can be seen that the execution time of the SCSA increases by a greater rate with the increase in the number of dimensions of the objective function as compared to the ACSA. This is beneficial to the ACSA when solving problems with a large number of variables as the algorithm will iterate quicker and thus converge at the optimum solution quicker.

5.4. Statistical Analysis of Evaluation Metrics

In this section, the ACSA is compared to each of the 10 standard optimization algorithms in each of the 23 test functions using the Wilcoxon ranked sum test to determine if there is a significant difference between the two algorithms. The Wilcoxon ranked sum test was carried out with a 5% significance level. An h-value of 1 demonstrates that there is a significant difference between the two algorithms, whereas an h-value of 0 demonstrates the opposite. The statistical analysis results have been presented in Table 8. From Table 8, of the 230 comparisons done between the ACSA and the other optimization algorithms, 207 resulted in an h-value of 1. Therefore, 90% of all 230 comparisons had different results between the two algorithms.

CDMA networks enable multiple users to communicate via a single transmission channel by optimizing the use of the available bandwidth. The use of this single transmission channel leads to the problem of interference between multiple users, as the users transmit their data using the same frequency.

Furthermore, the near-far effect degrades the quality of the received signal at the base station. This is a phenomenon that arises when a mobile station near the base station transmits a signal that overpowers the signal from another mobile station that is farther from the base station [37]. The signal from the farther mobile station is weaker due to path loss as the signal has to travel a longer distance to reach the base station. On top of that, the signal may encounter objects such as trees and buildings in its path, which would cause scattering and diffraction of the signal. Figure 7 shows the interference that multiple users would cause on the signal from one user.

Power control is needed in this system to ensure that a predetermined Quality of Service (QoS) is met while still ensuring the least amount of power is required by the transmitting Mobile Stations (MS). In this use case, the QoS requirement for each user is the Signal-to-Interference and Noise Ratio (SINR).

The SINR for the ith user is determined as follows:

The is the additive white Gaussian noise (AWGN) and is the power transmitted by user i. Hij is the Rician fading component and channel gain from user i to j, and it takes into consideration the path loss and log-normal shadowing.

H ii is the channel gain from user i to the base station and is written as follows [38, 39]:where , dii is the distance from user i to the base station, α is the path loss exponent, and is the Gaussian random variable that represents the shadowing.

The ACSA was tested in this electrical engineering design problem. The objective of the algorithm is to minimize the power consumption among all users while still meeting the required SINR value for each user.

The objective function is shown as follows:where is the transmit power from the ith MS and n is the total number of MS.

The constraints used in this optimization problem are as follows:where is the predetermined SINR value for MS i.

7. Results and Comparisons

The performance of the ACSA is tested in three scenarios. In the first scenario, there are five users, uniformly distributed in a 50 m × 50 m square geographical area. Each user is required to meet a target SINR of 3 dB. In the second scenario, there are five users, uniformly distributed in a 150 m × 150 m square geographical area, with each user required to meet a target SINR of 3 dB. In scenario three, there are six users uniformly distributed in a 200 m × 200 m square geographical area, with the required target SINR value being 3 dB. In all three scenarios, the base station is located at the center of the square geographical area.

The objective function was set as a penalty unconstrained function to take the constraints into account, with the penalty parameter being equal to 1020. The algorithms were run with a population size of 50 and for 1000 iterations. α was set as 4 for the simulation of an urban environment and noise was set as 0.0002 mW.

Due to the random positions, the mobile stations could take in each square geographical area, the algorithm was tested four times in each scenario, with one example being elaborated on further. Algorithms that returned values greater than their total allocated power did this due to the algorithm not being able to meet the SINR requirement for each user, thus a penalty value was added to the returned value. The SINR values have been determined by the power values derived by the algorithms. To extensively test the ACSA, the ACSA was compared against two sets of algorithms for each scenario, the standard and advanced optimization algorithms.

The total power for transmission together with the SINR values for each user have been presented in Tables914. The Tables 1520 contain the extra test cases that algorithms were observed in for each scenario.

7.1. Scenario 1

For scenario 1, the first test case’s results are presented in Tables 9 and 10. From Table 9, the ACSA was able to allocate the least amount of power to each mobile station for signal transmission, while still ensuring that the required SINR value for uplink transmission was achieved by each mobile station. From Table 10, the RACS and IRGA outperformed the ACSA in ensuring that the least amount of power was utilized. The results of the remaining three test cases are presented in Tables 15 and 16. From Table 16, it can be seen that the RACS and IRGA algorithms still outperformed the ACSA.

7.2. Scenario 2

For scenario 2, the first test case’s results are presented in Tables 11 and 12. Just as in scenario 1, in this scenario, as can be seen in Table 11, the ACSA was able to allocate the least amount of power to each mobile station for signal transmission among the standard optimization algorithms, while still ensuring that the required SINR value for uplink transmission was achieved by each mobile station. The results of the remaining three test cases are presented in Table 17. Among the advanced optimization algorithms, the ACSA was outperformed only by the RACS algorithm, and this can be seen from the results in Tables 12 and 18.

7.3. Scenario 3

For scenario 3, the first test case’s results are presented in Tables 13 and 14. In this scenario, none of the algorithms could achieve the required 3 dB SINR value for each mobile station due to the upper bound set to prevent the algorithms from assigning power values of greater than 100 W. However, the ACSA managed to have the lowest returned value. This is because the returned value contains both the sum of the mobile stations’ powers and the penalty value that was added due to not achieving the required SINR value. The magnitude of this penalty value is dependent on the difference between the achieved SINR value and the required value. This is the reason behind the ACSA’s lowest returned value. It is because the achieved SINR values of its mobile stations were closest to the required SINR value of 3 dB.

This is the reason for choosing it as having allocated the best power values, even though its total power is greater than those of the CA, ABC, and RACS algorithms. It is because it managed to achieve closer SINR values to the required SINR value while still allocating low power to each mobile station. The results of the remaining test cases for both the standard and advanced optimization algorithms are presented in Tables 19 and 20.

As the difficulty in optimization increased from scenario 1 to 3, the ACSA’s performance increased with respect to the other algorithms. For example from Tables 10, 12 and 14, it can be seen that in scenario 1 (Table 10) the RACS algorithm easily outperformed the ACSA. In scenario 2 (Table 12), the RACS algorithm still outperformed the ACSA but by a smaller margin. In scenario 3 (Table 14), the ACSA algorithm outperformed all the other algorithms. As the dimensionality and parameters increased, the ACSA’s performance was slowed down by a smaller degree as compared to the other algorithms.

This can also be seen in Figure 6, whereby as the dimensions of the objective function increased the execution time of the ACSA increased, but by a smaller magnitude as compared to SCSA.

8. Conclusion

In this study, an aggressive cuckoo search algorithm (ACSA) is proposed and the algorithm is used to optimize uplink power in Code-Division Multiple Access based (CDMA) networks. In the ACSA, the concept of Eber Moll’s model of a transistor is emulated to make the step size of the ACSA to be adaptive, and thus vary non-linearly from a smaller step size to a larger one. Likewise, the value of the probability of discovery is made to vary linearly from a larger probability value to a smaller set value and is dependent on the number of iterations of the ACSA. Lastly, Lévy flight in the cuckoo search algorithm was replaced with the Beta distribution. The ACSA was tested against 10 other standard optimization algorithms and 4 other advanced optimization algorithms in 23 benchmark optimization functions. The ACSA managed to outperform or obtain the same optimum value as the standard optimization algorithms in 18 of the 23 functions and outperformed or obtained the same optimum value as the other advanced optimization algorithms in 13 of the 23 functions. Moreover, the ACSA was used to determine the optimum uplink power in a CDMA-based network where each Mobile Station (MS) has a predetermined SINR value that it is supposed to meet. The ACSA was able to determine the power needed by all the MS optimally compared to the other algorithms in all three testing scenarios. The ACSA outperformed the other standard optimization algorithms in all three scenarios and outperformed the other advanced optimization algorithms in the third scenario.

Data Availability

The standard algorithms for comparisons were sourced from Mathworks website repository of algorithms.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

This is a self-funded research article.