Review articleDistributed evolutionary algorithms and their models: A survey of the state-of-the-art☆
Graphical abstract
Introduction
With metaheuristic and stochastic characteristics, evolutionary computation (EC) has shown to be effective solvers for hard optimization problems in real-world applications. However, with rapid development of the information age and the emergence of “big data”, the increasing size and complexity of the problems has posed new challenges to EC. This is especially so if the search space involves a huge number of local optima or the computational cost of fitness evaluation becomes extremely high. When a traditional sequential evolutionary algorithm (EA) is unable to provide satisfactory results within a reasonable time, a distributed EA (dEA), which deploys the population on distributed systems, can improve the availability. It also offers an opportunity to solve extremely high dimensional problems through distributed coevolution using a divide-and-conquer mechanism. Further, the distributed environment allows a dEA to maintain population diversity, thereby avoiding local optima and also facilitating multiobjective search.
The framework of developing a distributed EA is illustrated in Fig. 1. Its fundamental algorithms embrace all kinds of EAs including the genetic algorithm (GA), evolutionary programming (EP), evolution strategy (ES), genetic programming (GP), and differential evolution (DE). Moreover, other population-based algorithms, such as ant colony optimization (ACO) and particle swarm optimization (PSO), share common features with EAs and are hence also included in this survey. Then, by employing different distributed models to parallelize the processing of EAs, various dEAs can be designed. The logistical distributed models have several issues to address, such as the distribution of evolution tasks and the protocols for communications among processors. The granularity of the distribution may be at the population level, the individual level, the operator level, or the variable level. Correspondingly, there can be various communication rules in terms of the content, frequency, and direction of message passing. In the literature, master-slave [31], island (a.k.a. coarse-grained model) [56], [99], and cellular (a.k.a. fine-grained model) [51], [1] models have been commonly used to build dEAs. Moreover, other models such as the hierarchy (a.k.a. hybrid model) [41], pool [104], coevolution [121], [122], and multi-agent models [10] are also widely accepted. After designing a dEA, different programming languages and tool sets can be adopted to implement the algorithm, such as the Message-Passing Interface (MPI) [63], MapReduce [81], and Java [129], [38]. There also exist software packages for dEC, such as the Paladin-DEC [126], [127] and ParadisEO [14], [15]. Finally, the format of the physical platform that can be used to deploy the algorithms includes cluster [73], grid [39], P2P network [141], cloud [44], and GPU [151]. These platforms have different architectures, network connectivity, resource management schemes, and operating systems. Two recent papers, [133], [65], review and discuss the parallel and distributed GAs in considering different physical platforms. The selection of the underlying platform partially influences the implementations of dEA models, and also determines the system performance such as scalability and fault-tolerance.
As there exist a very large number of research outputs in dEAs, it is impossible to cover all the relevant works within the page limit of this article. Therefore, references are presented based on their influence, rigor, years of publication, numbers of citations, and coverage. Models (the second layer in Fig. 1) continue to be a focus of interest in developing dEAs and will hence form the main body of this article.
We aim at providing readers with an updated, comprehensive and systematic coverage of dEAs and the state-of-the-art dEA models. The characteristics (or novelties) of this article are presented as follows. (1) Compared with [3], [16], [4], [131] published ten years ago, this survey introduces and describes more recent works in this area. In addition to the master-slave, island, cellular, and hierarchical models surveyed in the literature [3], [16], [4], [131], [97], we further review some state-of-the-art distributed models for EC, including resource pool-based model, coevolution model, and multi-agent model. To the best of our knowledge, no previous survey of dEC covers these fields. (2) To update with a systematic treatment on the research progress, we semantically divide dEA models into two major categories, i.e., population-distributed models and dimension-distributed models. The operating mechanisms of different dEA models are analyzed and compared, as well as their corresponding performance, advantages, disadvantages, and ranges of applicability. (3) Recent research hotspots, including cloud and MapReduce-based implementations, GPU and CUDA-based implementations, multiobjective dEAs, and real-world applications, are also discussed in this survey. (4) In addition to a literature review, emerging research directions and applications are presented for possible further development.
The rest of this article is organized as follows. Section 2 introduces terminologies for a systematic treatment and classification. Section 3 presents population-distributed and dimension-distributed models, followed by a summary and analysis of characteristics in Section 4. Section 5 is devoted to the four recent research hotspots. Finally, we highlight some potential future directions in Section 6 and draw conclusions in Section 7.
Section snippets
Terminologies
In this section, we briefly introduce the terminologies that will be used throughout this article. The first two concepts, i.e., “synchronism/asynchrony” and “homogeneity/heterogeneity”, are widely used to describe the properties of dEAs, whereas the “speedup”, “distributed efficiency”, “fault-tolerance”, and “scalability” are performance metrics for evaluating dEAs.
Synchronism and asynchrony. An indispensable issue in a dEA as well as any other distributed algorithm is the communications among
Models of distributed evolutionary algorithms
Basically, a distributed EA divides computing tasks based on two types of models. As illustrated in Fig. 2(a), a “population-distributed” model distributes individuals of the population (or subpopulations) to multiple processors or computing nodes, whilst a “dimension-distributed” model distributes partitions of the problem dimensions (or subspaces). The population-distributed model can be further divided to master-slave [31], island (a.k.a. coarse-grained model) [56], [99], cellular (a.k.a.
Summary and analysis
In this section, we summarize and analyze dEC models by comparing their parallelism, search behaviors, objectives, communication costs, scalability, and fault-tolerance, for the ease to readers in considering future work. This is conducted in a general sense regarding our above presentation of models. For example, if model A offers a higher scalability than model B, it implies that algorithms with model A “generally” offer a higher scalability than B, but exceptions may exist in
Recent research hotspots of dEAs
In this section, recent research hotspots of dEAs will be presented, including the cloud and MapReduce-based implementations, GPU and CUDA-based implementations, distributed multiobjective optimization, and some real-world applications. The work is however diverse, and hence this article is restricted to derivations, benefits and representative references.
Future directions
As surveyed in the above sections, significant efforts have been devoted to utilizing distributed computing resources to enhance the performance of EC. It is expected that dEC will continue to be a hot research topic because the complexity of real-world optimization problems is growing rapidly and there still exist many issues unexplored. In this section, we highlight several research directions of dEC.
Conclusions
This article provides a comprehensive survey of the state-of-the-art distributed evolutionary algorithms and models. The models have been classified into two groups according to the task division mechanism. Population-distributed models include master-slave, island, cellular, hierarchical, and pool models, which parallelize an optimization task at population, individual, or operation levels. Dimension-distributed models include coevolution and multi-agent models that focus on the reduction of
References (155)
- et al.
Distributed evolutionary optimization, in manifold: Rosenbrock's function case study
Inf. Sci.
(2000) - et al.
Optimization and defect identification using distributed evolutionary algorithms
Eng. Appl. Artif. Intell.
(2004) - et al.
Building with paradisEO reusable parallel and distributed evolutionary algorithms
Parallel Comput.
(2004) - et al.
PSFGA: parallel processing and evolutionary computation for multiobjective optimisation
Parallel Comput.
(2004) - et al.
Achieving super-linear performance in parallel multi-objective evolutionary algorithms by means of cooperative coevolution
Comput. Oper. Res.
(2013) - et al.
jMetal: a java framework for multi-objective optimization
Adv. Eng. Softw.
(2011) - et al.
Hardware-friendly higher-order neural network training using distributed evolutionary algorithms
Appl. Soft Comput.
(2010) - et al.
A survey on the imperialist competitive algorithm metaheuristic: implementation in engineering domain and directions for future research
Appl. Soft Comput.
(2014) - et al.
Efficient scheduling of arbitrary task graphs to multiprocessors using a parallel genetic algorithm
J. Parallel Distrib. Comput.
(1997) - et al.
Efficient hierarchical parallel genetic algorithms using grid computing
Future Gener. Comput. Syst.
(2007)
A parallel micro evolutionary algorithm for heterogeneous computing and grid scheduling
Appl. Soft Comput.
A survey on parallel ant colony optimization
Appl. Soft Comput.
A multi-agent memetic algorithm approach for distributed object allocation
J. Comput. Sci.
The exploration/exploitation tradeoff in dynamic cellular genetic algorithms
IEEE Trans. Evol. Comput.
Decentralized cellular evolutionary algorithms
Handb. Bioinspir. Algorithms Appl.
Parallelism and evolutionary algorithms
IEEE Trans. Evol. Comput.
A survey of parallel distributed genetic algorithms
Complexity
Cellular evolutionary algorithms: evaluating the influence of ratio
NOW G-Net: learning classification programs on networks of workstations
IEEE Trans. Evol. Comput.
Island based distributed differential evolution: an experimental study on hybrid testbeds
MAX-MIN ant system on GPU with CUDA
Distributed and persistent evolutionary algorithms: a design pattern
Parallelizing multi-objective evolutionary algorithms: cone separation
IEEE Congress on Evolutionary Computation (CEC)
Optimization of structures using distributed and parallel evolutionary algorithms
ParadisEO: a framework for the reusable design of parallel and distributed metaheuristics
J. Heurist.
A survey of parallel genetic algorithms
Calcul. Paralleles Reseaux Syst. Repart.
Efficient and Accurate Parallel Genetic Algorithms, vol.1
Markov chain models of parallel genetic algorithms
IEEE Trans. Evol. Comput.
Crowdsourcing with smartphones
IEEE Internet Comput.
Cooperative peer-to-peer streaming: an evolutionary game-theoretic approach
IEEE Trans. Circuits Syst. Video Technol.
Automatic mesh generation for mobile network dimensioning using evolutionary approach
IEEE Trans. Evol. Comput.
Dafo, a multi-agent framework for decomposable functions optimization
VLSI circuit synthesis using a parallel genetic algorithm
MapReduce: simplified data processing on large clusters
Commun. ACM
A fast and elitist multiobjective genetic algorithm: NSGA-II
IEEE Trans. Evol. Comput.
Evolving agent-based simulations in the clouds
An analysis of massively distributed evolutionary algorithms
Asynchronous distributed parallel gene expression programming based on estimation of distribution algorithm
Analysis of a master-slave architecture for distributed evolutionary computations
IEEE Trans. Syst. Man Cybern. B: Cybern.
The jmetal framework for multi-objective optimization: design and architecture
Solving three-objective optimization problems using a new hybrid cellular genetic algorithm
A study of master-slave approaches to parallelize NSGA-II
Distribution of computational effort in parallel MOEA/D
A Java-based distributed genetic algorithm framework
Grid implementation of a parallel multiobjective genetic algorithm for optimized allocation of chlorination stations in drinking water distribution systems: Chojnice case study
IEEE Trans. Syst. Man Cybern. C: Appl. Rev.
Evolutionary computing on consumer-level graphics hardware
IEEE Intell. Syst.
Training distributed GP ensemble with a selective algorithm based on clustering and pruning for pattern classification
IEEE Trans. Evol. Comput.
P-cage: an environment for evolutionary computation in peer-to-peer systems
Distributed beagle: An environment for parallel and distributed evolutionary computations
Assessing speed-ups in commodity cloud storage services for distributed evolutionary algorithms
Cited by (327)
Population based metaheuristics in Spark: Towards a general framework using PSO as a case study
2024, Swarm and Evolutionary ComputationModel-Free-Communication Federated Learning: Framework and application to Precision Medicine
2024, Biomedical Signal Processing and ControlDistributed scalability tuning for evolutionary sharding optimization with Random-equivalent security in permissionless Blockchain
2023, Internet of Things (Netherlands)A diversity-driven migration strategy for distributed evolutionary algorithms
2023, Swarm and Evolutionary ComputationFlow measurement data quality improvement-oriented optimal flow sensor configuration
2023, Swarm and Evolutionary Computation
- ☆
This work was supported in part by the National High-Technology Research and Development Program (863 Program) of China No. 2013AA01A212, in part by the NSFC for Distinguished Young Scholars No. 61125205, in part by the NSFC Key Project No. 61332002, and in part by the NSFC Joint Fund with Guangdong under Key Projects No. U1201258 and No. U1135005, and in part by the Open Project Program of the State Key Laboratory of Mathematical Engineering and Advanced Computing.