A Spark-Based Parallel Implementation of Arithmetic Optimization Algorithm

A Spark-Based Parallel Implementation of Arithmetic Optimization Algorithm

Maryam AlJame, Aisha Alnoori, Mohammad G. Alfailakawi, Imtiaz Ahmad
Copyright: © 2023 |Pages: 27
DOI: 10.4018/IJAMC.318642
Article PDF Download
Open access articles are freely available for download


Arithmetic optimization algorithm (AOA) is a recent population-based metaheuristic widely used for solving optimization problems. However, the emerging large-scale optimization problems pose a great challenge for AOA due to its prohibitive computational cost to traverse the huge solution space effectively. This article proposes a parallel Spark-AOA using Scala on Apache Spark computing platform. Spark-AOA leverages the intrinsic parallel nature of the population-based AOA and the native iterative in-memory computation support of Spark through resilient distributed datasets (RDD) to accelerate the optimization process. Spark-AOA divides the solutions population into several subpopulations that are distributed into multiple RDD partitions and manipulated concurrently. Simulation experiments on different benchmark functions with up to 1,000-dimension and three engineering design problems demonstrate that Spark-AOA outperforms considerably standard AOA and Spark-based implementations of two recent metaheuristics both in terms of run-time and solution quality.
Article Preview


The majority of real-world problems in many disciplines can be transformed into optimization problems and solved successfully by using optimization techniques. In recent years, nature-inspired population-based metaheuristics have been considered the state-of-the-art computational intelligence paradigms for solving complex optimization problems efficiently and effectively (Rahman et al., 2021). The popularity and widespread success of metaheuristics is attributed to their robustness, adaptability, ease of implementation, and their ability to find optimal or near-optimal solutions in reasonable time by employing gradient‐free search mechanisms on a population of solutions. A large number of metaheuristics have been developed in the literature and are classified based on the natural processes they mimic. The most commonly used classification for such metaheuristics are: evolution, swarm intelligence, physics, and human based (Meraihi et al., 2021). Classical metaheuristics include genetic algorithm (Holland, 1992), differential evolution (Storn & Price, 1997), and particle swarm optimization (Eberhart & Kennedy, 1995). More recent metaheuristics include slime mould (Li et al., 2020), sine cosine (Mirjalili, 2016), Harris hawk’s (Heidari et al., 2019), and grey wolf optimizer (Mirjalili et al., 2014) among others (Hussain et al., 2019). There exist some other metaheursitics such as flower pollination optimization algorithm (Ding et al., 2021) and electromagnetism-like optimization algorithm (Chakraborty et al., 2022) which have been recently applied in biomedical image processing field.

However, no metaheuristic can efficiently solve all types of optimization problems according to the “No Free Lunch” theorem (Wolpert & Macready, 1997). Therefore, researchers have been continuously proposing new metaheuristics to deal with the ever-increasing complexity of real-world problems. Arithmetic Optimization Algorithm (AOA) is one of the newest metaheuristics proposed by Abualigah et al. (2021a) to solve various optimization problems. The AOA is inspired by the distribution behavior of four main arithmetic operators, namely, addition, subtraction, multiplication, and division to evolve solutions to achieve global optima. The AOA possesses some distinctive features such as simple and easy implementation, few tuning parameters, strong search ability that avoids falling into local minima, and considerably faster convergence rate by adaptively balancing exploration and exploitation phases. Despite being new, AOA has been very effective in solving real-world complex optimization problems in many fields as will be discussed in Section 2.

Large-scale optimization problems with high dimensionality are prevalent nowadays in diverse domains. The traditional serial implementation of metaheuristics does not scale well to solve such problems due to the high computational cost when evaluating population fitness and traversing large solution space (Abdelhafez et al., 2020). To address these challenges efficiently, there has been a growing interest in the parallelization of metaheuristics from both academia and industry (Coelho & Silva, 2021). These parallel metaheuristics leverage the intrinsic parallelism of population-based metaheuristics and the significant advancements in parallel computing devices such as multi-core CPUs/GPUs and distributed platforms such as Apache Hadoop and Spark to reduce execution time and improve solutions quality (Crainic, 2019; Hennessy & Patterson, 2017). Apache Spark, a distributed system framework, has recently experienced widespread usage due to its key features such as powerful API to easily parallelize application programs, support for iterative algorithms through in-memory computing, data distribution and processing on commodity clusters, and emerging cloud services with run-time load balancing, network performance, and fault-tolerance (Zaharia et al., 2016).

Complete Article List

Search this Journal:
Volume 15: 1 Issue (2024)
Volume 14: 1 Issue (2023)
Volume 13: 4 Issues (2022): 2 Released, 2 Forthcoming
Volume 12: 4 Issues (2021)
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing