Grasshopper Optimization Algorithm: Theory, Literature Review, and Application in Hand Posture Estimation

  • Shahrzad Saremi
  • Seyedehzahra Mirjalili
  • Seyedali MirjaliliEmail author
  • Jin Song Dong
Part of the Studies in Computational Intelligence book series (SCI, volume 811)


This chapter covers the fundamental concepts of the recently proposed Grasshopper Optimization Algorithm (GOA). The inspiration, mathematical model, and the algorithm are presented in details. A brief literature review of this algorithm including different variants, improvement, hybrids, and applications are given too. The performance of GOA is tested on a set of test functions including unimodal, multi-modal, and composite. The results show the ability of GOA in improving the quality of a random population, transiting from exploration to exploitation, showing high coverage of the search space, and accelerating the convergence curve over the course of iterations. The chapter also applies the GOA algorithm to a challenging problem in the field of hand posture estimation. It is observed that GOA finds an accurate configuration for a 3D hand model to match a given hand image acquired from a camera.


  1. 1.
    Blum, C., & Li, X. (2008). Swarm intelligence in optimization. In Swarm intelligence (pp. 43–85). Berlin: Springer.Google Scholar
  2. 2.
    Reynolds, C. W. (1987). Flocks, herds and schools: A distributed behavioral model. In ACM SIGGRAPH computer graphics (Vol. 21, No. 4, pp. 25–34). ACM.Google Scholar
  3. 3.
    Dorigo, M., & Birattari, M. (2011). Ant colony optimization. In Encyclopedia of machine learning (pp. 36–39). Boston: Springer.Google Scholar
  4. 4.
    Saremi, S., Mirjalili, S., & Lewis, A. (2017). Grasshopper optimisation algorithm: Theory and application. Advances in Engineering Software, 105, 30–47.CrossRefGoogle Scholar
  5. 5.
    Topaz, C. M., Bernoff, A. J., Logan, S., & Toolson, W. (2008). A model for rolling swarms of locusts. The European Physical Journal Special Topics, 157(1), 93–109.CrossRefGoogle Scholar
  6. 6.
    Mirjalili, S. Z., Mirjalili, S., Saremi, S., Faris, H., & Aljarah, I. (2018). Grasshopper optimization algorithm for multi-objective optimization problems. Applied Intelligence, 48(4), 805–820.CrossRefGoogle Scholar
  7. 7.
    Tharwat, A., Houssein, E. H., Ahmed, M. M., Hassanien, A. E., & Gabel, T. (2017). MOGOA algorithm for constrained and unconstrained multi-objective optimization problems. Applied Intelligence, 1–16.Google Scholar
  8. 8.
    Lewis, A. (2009). LoCost: A spatial social network algorithm for multi-objective optimisation. In IEEE Congress on Evolutionary Computation, 2009. CEC 2009 (pp. 2866–2870). IEEE.Google Scholar
  9. 9.
    Lewis, A. (2009). The effect of population density on the performance of a spatial social network algorithm for multi-objective optimisation. In IEEE International Symposium on Parallel & Distributed Processing, 2009. IPDPS 2009. (pp. 1–6). IEEE.Google Scholar
  10. 10.
    Aljarah, I., AlaM, A. Z., Faris, H., Hassonah, M. A., Mirjalili, S., & Saadeh, H. (2018). Simultaneous feature selection and support vector machine optimization using the grasshopper optimization algorithm. Cognitive Computation, 1–18.Google Scholar
  11. 11.
    Pinto, H., Pea, A., Valenzuela, M., & Fernndez, A. (2018). A binary grasshopper algorithm applied to the knapsack problem. In Computer Science On-line Conference (pp. 132–143). Springer, Cham.Google Scholar
  12. 12.
    Crawford, B., Soto, R., Pea, A., & Astorga, G. (2018). A binary grasshopper optimisation algorithm applied to the set covering problem. In Computer Science On-line Conference (pp. 1–12). Springer, Cham.Google Scholar
  13. 13.
    Neve, A. G., Kakandikar, G. M., & Kulkarni, O. (2017). Application of grasshopper optimization algorithm for constrained and unconstrained test functions. International Journal of Swarm Intelligence and Evolutionary Computation, 6(165), 2.Google Scholar
  14. 14.
    Mafarja, M., Aljarah, I., Heidari, A. A., Hammouri, A. I., Faris, H., AlaM, A. Z., et al. (2018). Evolutionary population dynamics and grasshopper optimization approaches for feature selection problems. Knowledge-Based Systems, 145, 25–45.CrossRefGoogle Scholar
  15. 15.
    Ewees, A. A., Elaziz, M. A., & Houssein, E. H. (2018). Improved grasshopper optimization algorithm using opposition-based learning. Expert Systems with Applications.CrossRefGoogle Scholar
  16. 16.
    Arora, S., & Anand, P. (2018). Chaotic grasshopper optimization algorithm for global optimization. Neural Computing and Applications, 1–21.Google Scholar
  17. 17.
    Saxena, A., Shekhawat, S., & Kumar, R. (2018). Application and development of enhanced chaotic grasshopper optimization algorithms. Modelling and Simulation in Engineering.Google Scholar
  18. 18.
    Wu, J., Wang, H., Li, N., Yao, P., Huang, Y., Su, Z., & Yu, Y. (2017). Distributed trajectory optimization for multiple solar-powered UAVs target tracking in urban environment by adaptive grasshopper optimization algorithm. Aerospace Science and Technology, 70, 497–510.CrossRefGoogle Scholar
  19. 19.
    Wu, J., Wang, H., Li, N., Yao, P., Huang, Y., Su, Z., et al. (2017). Distributed trajectory optimization for multiple solar-powered UAVs target tracking in urban environment by adaptive grasshopper optimization algorithm. Aerospace Science and Technology, 70, 497–510.CrossRefGoogle Scholar
  20. 20.
    Barman, M., Choudhury, N. D., & Sutradhar, S. (2018). A regional hybrid GOA-SVM model based on similar day approach for short-term load forecasting in Assam, India. Energy, 145, 710–720.CrossRefGoogle Scholar
  21. 21.
    El-Fergany, A. A. (2017). Electrical characterisation of proton exchange membrane fuel cells stack using grasshopper optimiser. IET Renewable Power Generation, 12(1), 9–17.CrossRefGoogle Scholar
  22. 22.
    ukasik, S., Kowalski, P. A., Charytanowicz, M., & Kulczycki, P. (2017). Data clustering with grasshopper optimization algorithm. In Federated Conference on Computer Science and Information Systems (FedCSIS), 2017 (pp. 71–74). IEEE.Google Scholar
  23. 23.
    Rajput, N., Chaudhary, V., Dubey, H. M., & Pandit, M. (2017). Optimal generation scheduling of thermal System using biologically inspired grasshopper algorithm. In 2nd International Conference on Telecommunication and Networks (TEL-NET), 2017 (pp. 1–6). IEEE.Google Scholar
  24. 24.
    Zhang, X., Miao, Q., Zhang, H., & Wang, L. (2018). A parameter-adaptive VMD method based on grasshopper optimization algorithm to analyze vibration signals from rotating machinery. Mechanical Systems and Signal Processing, 108, 58–72.CrossRefGoogle Scholar
  25. 25.
    Zhao, H., Zhao, H., & Guo, S. (2018). Short-term wind electric power forecasting using a novel multi-stage intelligent algorithm. Sustainability, 10(3), 881.CrossRefGoogle Scholar
  26. 26.
    Buch, H., & Trivedi, I. N. On the efficiency of metaheuristics for solving the optimal power flow. Neural Computing and Applications, 1–19.Google Scholar
  27. 27.
    Ahanch, M., Asasi, M. S., & Amiri, M. S. (2017). A grasshopper optimization algorithm to solve optimal distribution system reconfiguration and distributed generation placement problem. In IEEE 4th International Conference on Knowledge-Based Engineering and Innovation (KBEI), 2017 (pp. 0659–0666). IEEE.Google Scholar
  28. 28.
    Ibrahim, H. T., Mazher, W. J., Ucan, O. N., & Bayat, O. A grasshopper optimizer approach for feature selection and optimizing SVM parameters utilizing real biomedical data sets. Neural Computing and Applications, 1–10.Google Scholar
  29. 29.
    Amaireh, A. A., Alzoubi, A., & Dib, N. I. (2017). Design of linear antenna arrays using antlion and grasshopper optimization algorithms. In IEEE Jordan Conference on Applied Electrical Engineering and Computing Technologies (AEECT), 2017 (pp. 1–6). IEEE.Google Scholar
  30. 30.
    Hamad, A., Houssein, E. H., Hassanien, A. E., & Fahmy, A. A. (2018). Hybrid grasshopper optimization algorithm and support vector machines for automatic seizure detection in EEG signals. In International Conference on Advanced Machine Learning Technologies and Applications (pp. 82–91). Springer, Cham.CrossRefGoogle Scholar
  31. 31.
    Sharma, A., & Sharma, M. (2017). SAR image segmentation using grasshopper optimization algorithm.Google Scholar
  32. 32.
    Hekimolu, B., & Ekinci, S. (2018). Grasshopper optimization algorithm for automatic voltage regulator system. In 2018 5th International Conference on Electrical and Electronic Engineering (ICEEE) (pp. 152–156). IEEE.Google Scholar
  33. 33.
    Fathy, A. (2018). Recent meta-heuristic grasshopper optimization algorithm for optimal reconfiguration of partially shaded PV array. Solar Energy, 171, 638–651.CrossRefGoogle Scholar
  34. 34.
    Heidari, A. A., Faris, H., Aljarah, I., & Mirjalili, S. (2018). An efficient hybrid multilayer perceptron neural network with grasshopper optimization. Soft Computing, 1–18.Google Scholar
  35. 35.
    Bansal, B. (2016). Gesture recognition: A survey. International Journal of Computer Applications, 139(2).CrossRefGoogle Scholar
  36. 36.
    Smith, A. V. W., Sutherland, A. I., Lemoine, A., & Mcgrath, S. (2000). U.S. Patent No. 6,128,003. Washington, DC: U.S. Patent and Trademark Office.Google Scholar
  37. 37.
    Garg, P., Aggarwal, N., & Sofat, S. (2009). Vision based hand gesture recognition. World Academy of Science, Engineering and Technology, 49(1), 972–977.Google Scholar
  38. 38.
    Yang, M. H., Ahuja, N., & Tabb, M. (2002). Extraction of 2d motion trajectories and its application to hand gesture recognition. IEEE Transactions on pattern analysis and machine intelligence, 24(8), 1061–1074.CrossRefGoogle Scholar
  39. 39.
    Murakami, K., & Taguchi, H. (1991). Gesture recognition using recurrent neural networks. In Proceedings of the SIGCHI Conference on Human factors in Computing Systems (pp. 237–242). ACM.Google Scholar
  40. 40.
    Stergiopoulou, E., & Papamarkos, N. (2009). Hand gesture recognition using a neural network shape fitting technique. Engineering Applications of Artificial Intelligence, 22(8), 1141–1158.CrossRefGoogle Scholar
  41. 41.
    Dardas, N. H., & Georganas, N. D. (2011). Real-time hand gesture detection and recognition using bag-of-features and support vector machine techniques. IEEE Transactions on Instrumentation and Measurement, 60(11), 3592–3607.CrossRefGoogle Scholar
  42. 42.
    Saha, S., Konar, A., & Roy, J. (2015). Single person hand gesture recognition using support vector machine. In Computational advancement in communication circuits and systems (pp. 161–167). Springer, New Delhi.Google Scholar
  43. 43.
    Malvezzi, M., Gioioso, G., Salvietti, G., Prattichizzo, D., & Bicchi, A. (2013). SynGrasp: A matlab toolbox for grasp analysis of human and robotic hands. In IEEE International Conference on Robotics and Automation (ICRA), 2013 (pp. 1088–1093). IEEE.Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Shahrzad Saremi
    • 1
  • Seyedehzahra Mirjalili
    • 3
  • Seyedali Mirjalili
    • 1
    Email author
  • Jin Song Dong
    • 1
    • 2
  1. 1.Institute of Integrated and Intelligent Systems, Griffith UniversityNathan, BrisbaneAustralia
  2. 2.Department of Computer ScienceSchool of Computing, National University of SingaporeSingaporeSingapore
  3. 3.School of Electrical Engineering and ComputingUniversity of NewcastleCallaghanAustralia

Personalised recommendations