Comparison of Performances of Jaya Algorithm and Cuckoo Search Algorithm Using Benchmark Functions
Comparison of Performances of Jaya Algorithm and Cuckoo Search Algorithm Using Benchmark Functions
Comparison of Performances of Jaya Algorithm and Cuckoo Search Algorithm Using Benchmark Functions
№ 5915
Abstract. Nowadays, selecting the best possible solution among several solu-
tions becomes an important skill for engineering and research. Therefore, engi-
neers are turning to optimization methods as a complementary alternative strat-
egy of exhaustive searching. Metaheuristic algorithms have been used success-
fully for solving different optimization problems. To help engineers select the
best metaheuristic algorithms for their problems, there is a need to evaluate the
performance of different metaheuristic algorithms against each other using
common case studies. This paper aims to compare the performance of two me-
taheuristic algorithms which are Jaya Algorithm (JA) and Cuckoo Search (CS)
using some common benchmark functions. CS and JA have implemented in the
same platform (Intellij IDEA Community Edition 2020.2.3) using the same lan-
guage (Java). The experimental results show that JA has better and consistent
performance as compared to CS in most cases in terms of execution time and
test suite size; however, the performance of JA is still within acceptable ranges.
1 Introduction
Besides the analysis, optimization has been indicated as one of the vital stages of
engineering design [1]. Optimization is a vital part of software engineering which
allows the engineer to find the optimum solution in the presence of design constraints
and criteria. Whereas the analysis stage of the engineering design is the use of the
mathematic model to predict the design results optimization method such as metaheu-
ristic algorithms have been used successfully for solving different optimization prob-
lems such as robotic path planning, optimization of neural networks, minimizing
2
The next sections will have a detailed discussion of the algorithms and experi-
ments. In section 2, there will be an overview of JA and CS. Section 3 will discuss the
related works and applications of JA and CS. Section 4 will discuss the methodolo-
gies. Section 5 will describe the tests and results, and related data. Section 6 will ana-
lyze the 2 algorithms based on the test results. Finally, section 7 will conclude the
overall discussions with future works.
2 Background
Jaya Algorithm (JA) and Cuckoo Search (CS) Algorithm, both are efficient in gen-
erating test suite, trying to reach the best solutions and avoid worse solutions.
This section discusses the existing works of JA and CS. JA and CS have been im-
plemented in various fields and applications.
better solutions; for this, around the present best solution, it introduces a perturbation
mechanism, which is self-adaptive and chaotic.
JA can be implemented for load balancing in the cloud. Cloud computing has vari-
ous challenges like automated resource provisioning, server consolidation, event con-
tent dissemination, security, virtual machine migration, etc. For load balancing in the
cloud, the challenges are decreasing response time, decreasing service request time of
data center, improving the system’s overall performance, etc. JA uses less controlling
parameters and ensures a very good optimized result [12]. This approach has been
proved to have great efficiency while comparing with other approaches.
Researchers have used the JA to perform fuzzy analysis using approaches based on
pressure on benchmark networks [13]. Using fuzzy analysis, we can understand the
uncertainty in different independent parameters of the network of water distribution.
The parameters include pipe roughness values, nodal demands, pipe diameters, reser-
voir heads, etc. Obtaining the dependent parameters’ membership functions are based
on considering uncertain independent parameters’ membership functions. According
to the method of Impact Table, there’s supposed to be a repetitive analysis due to the
monotonous relationship between independent and dependent parameters. Methods
based on optimization are more useful for fuzzy analysis when there’s a non-
monotonous relationship between independent and dependent parameters. JA has
been found to be an efficient option for optimization. The analysis can be done by
using a hydraulic model in EPANET, linked up with MATLAB for optimization.
JA can be implemented for tuning PID controllers for DC servo motor’s position
control [14]. Here, the unit step input’s integral of squared error or ISE is the perfor-
mance index. Using JA, ISE is minimized for obtaining the controller settings. Tuning
based on JA ensures satisfactory response.
CS is an efficient algorithm for solving nurse schedule problems. Lim Huai Tein
used this algorithm for nurse scheduling, which is very useful in healthcare institu-
tions. Also, with the CS, we can solve problems in manufacturing optimization. CS
has been effective in optimizing machine parameters in operations, and has provided
better solutions as compared to other algorithms [16].
5
4 Methodologies
While generating new solution x(t+1) for, suppose cuckoo i, we can use the follow-
ing equation,
This has an infinite variance, and with it, there's an infinite mean. The consecutive
steps or jumps of a cuckoo develop a random walk process following a power-law
and step-length distribution having a heavy tail. We abandon the worst nest's fraction
Pa to help to build up new nests at new locations by randomly walking and mixing.
The eggs or solutions get mixed by the random permutation depending on the differ-
ence or similarity to the host eggs. The step size sample generation isn’t trivial using
the Lévy flights. A simple scheme can be shown as:
1/ β
σu = (7)
σv = 1 (8)
For JA, there was no need for any fixed parameter values. After taking the initial
population, the process had moved towards the next iterations, where the population
was updated using equation (1). For CS, there were some fixed parameter values.
Probability, Pa = 0.25. σu = 0.6969 was used based on previous study[24]. The pa-
rameters varied in the iterations.
9. f9(x) = (2.7 – x1 + x1x2)2 + (1.85 – x1 + x1x22)2 + (3.1 – x1 + x1x23)2 -100 ≤ x1,x2 ≤ 100
10. f10(x) = (x12 + x2 -19)2 + (3x1 + x22 – 16)2 -100 ≤ x1,x2 ≤ 100
11. f11(x) = 104x12 + x22 – (x12 + x22) + {10-4(x12 + x22)} -100 ≤ x1,x2 ≤ 100
8
Table 2 and Table 3 show the test obtained results. Each test was run 20 times and
the best-minimized value, the worst minimized value, mean value, and the execution
time were reported. The execution time of the two algorithms are shown in the tables.
Also, Fig. 1 and Fig. 2 show the comparison of the two algorithms in terms of mean
values and execution times for the functions.
9
5.23
5.23
3.407
3.4
1.116
1.055
0.891
0.001
0
0
0
F1 F2 F3 F4 F5 F6 F7 F8
Mean value
-2.934
-6.33
Fig. 1. Performance Comparison between Jaya algorithm and Cuckoo Search in term of test
size
99.3
83.67
65.55
63.46
59.1
56.3
64
54.3
53.6
59
40.85
44.1
40.5
37.5
35.1
33.5
32.9
29.6
26.5
F1 F2 F3 F4 F5 F7 F8 F9 F10 F11
Functions
Fig. 2. Execution time comparison between Jaya algorithm and Cuckoo Search.
Fig. 3 shows the screenshot of a Cuckoo Search program done in Intellij IDEA
Community Edition 2020.2.3. The coding of the algorithms has been done in Java.
10
Fig. 3. Screenshot of the part of a program of the Cuckoo Search based function solution with
output in Intellij IDEA Community Edition 2020.2.3
6 Discussions
As observed from the tests, JA has performed well consistently for all the 11 func-
tions. CS hasn’t been consistent like JA, but the mean values determined from the
tests of the CS were nearer to the best-minimized values as compared to JA for many
functions. As shown in table 2 and 3, for 8 of the 11 functions, CS required less exe-
cution time as compared to that of JA but the differences weren’t much. For 3 func-
tions, which are function 4 (f4), function 6 (f6), and function 9 (f9), JA took less execu-
tion time as compared to that of CS. But in these cases, the time differences were
larger as compared to those of other functions. In the case of function 6 (f6), the aver-
age execution time of JA was 74.9 ms, but the average execution time of CS algo-
rithm was 672391 ms. Here, the difference is huge. For function 4 (f4), CS takes
151.5 ms, where JA takes only 64 ms. But when JA takes larger execution time as
compared to CS, the difference isn’t much. There has been no case in the tests where
JA took equal to or more than twice the execution time of CS, according to Fig 2. So,
it indicates that CS may take much larger execution time for some functions as com-
pared to JA. Considering this case, JA is more consistent.
CS showed better performance for 8 of the 11 functions in terms of mean values
and execution times as shown in table 2 and 3, but lacked consistency as compared to
JA. For function 9 (f9), CS was better than JA, but the exection time was a little high-
er. Regarding execution time, in Fig. 2, CS’s performance isn’t always efficient for all
functions. There are some functions, where CS performs at a much slower speed. For
some functions, CS can take extremely large execution time, as shown in the case of
function 6 (f6). Regarding these issues, JA is a simpler and more consistent algorithm,
providing solutions to most functions with an acceptable execution time. But regard-
ing mean values, JA performs well but is less optimum as compared to CS. From the
11
ACKNOWLEDGMENTS
This research is funded by Universiti Malaysia Pahang (UMP) under grant: “Priori-
tized T-way Test Suite Generation Strategy Based on Chaotic Flower Pollination
Algorithm”, Grant no: RDU190372. We thank UMP for the contribution and sup-
ports.
References
7. Pandey, H.M.: Jaya a Novel Optimization Algorithm: What, How and Why? Paper
presented at the 2016 6th International Conference - Cloud System and Big
Data Engineering (Confluence),
8. Swati Sharma, B.B.: Adaptive Control using Jaya Algorithm. In: AIP Conference
Proceedings 2136, 020001 2019
9. Kunjie Yua, B.Q., Caitong Yuea, Shilei Gea, Xu Chenc, Jing Lianga: A
performance-guided JAYA algorithm for parameters identification of
photovoltaic cell and module. Applied Energy, Elsevier 237, 241-257
(2019).
10. Subhadarshini Mohanty, P.K.P., Mitrabinda Ray, Subasish Mohapatra: An
Approach for Load Balancing in Cloud Computing Using JAYA Algorithm.
International Journal of Information Technology and Web Engineering
14(1), 27-41 (2019).
11. Sreethu Subrahmanian, R.G.: Fuzzy node flow analysis of water distribution
networks using Jaya algorithm. Paper presented at the IOP Conference Series
Earth and Environmental Science 491:012010
12. ANKIT K. SAHU, J.K.B., V.P. SINGH, S.P. SINGH: JAYA ALGORITHM
BASED TUNING OF PID CONTROLLER. International Journal of
Industrial Electronics and Electrical Engineering 4(12) (2016).
13. Azizah Mohamad, A.M.Z., Nor Erne Nazira Bazin, Amirmudin Udin: Cuckoo
Search Algorithm for Optimization Problems - A Literature Review. Applied
Mechanics and Materials 421, 502-506 (2013).
14. Iztok Fister Jr.*, D.F., Iztok Fister: A comprehensive review of cuckoo search:
variants and hybrids. International Journal Mathematical Modelling and
Numerical Optimisation 4(4), 387-409 (2013).
15. Azizah Binti Mohamad, A.M.Z., Nor Erne Nazira Bazin: Cuckoo Search
Algorithm for Optimization Problems—A Literature Review and its
Applications. Applied Artificial Intelligence: An International Journal 28(5),
419-448 (2014).
16. Al-Obaidi, A.T.S.: Improved Scatter Search Using Cuckoo Search. International
Journal of Advanced Research in Artificial Intelligence 2(2) (2013).
17. Lim Huai Tein, R.R.: Recent Advancements of Nurse Scheduling Models and A
Potential Path. In: Proceedings of the 6th IMT-GT Conference on
Mathematics, Statistics and its Applications (ICMSA2010), Kedah, Malaysia
2010
18. Yildiz, A.R.: Cuckoo search algorithm for the selection of optimal machine
parameters in milling operations. The International Journal of Advanced
Manufacturing Technology 64, 55-61 (2012).
19. Layeb, A.: A novel quantum-inspired cuckoo search for Knapsack problems.
International Journal of Bio-Inspired Computation 3(5) (2011).
20. G. Zheng, S.P.M.a.E.K.: Metamodel-Assisted Fast and Accurate Optimization of
an OP-AMP for Biomedical Applications. Paper presented at the 2012 IEEE
Computer Society Annual Symposium on VLSI, Amherst, MA, USA,
21. Al-Hakam Ayad Salih, A.H.A., Nada Yousif Hashim: Jaya: An Evolutionary
Optimization Technique for Obtaining the Optimal Dthr Value of Evolving
13