Elsevier

Applied Soft Computing

Volume 34, September 2015, Pages 286-300
Applied Soft Computing

Review article
Distributed evolutionary algorithms and their models: A survey of the state-of-the-art

https://doi.org/10.1016/j.asoc.2015.04.061Get rights and content

Highlights

  • Provide an updated and systematic review of distributed evolutionary algorithms.

  • Classify the models into population and dimension-distributed groups semantically.

  • Analyze the parallelism, search behaviors, communication costs, scalability, etc.

  • Highlight recent research hotspots in this field.

  • Discuss challenges and potential research directions in this field.

Abstract

The increasing complexity of real-world optimization problems raises new challenges to evolutionary computation. Responding to these challenges, distributed evolutionary computation has received considerable attention over the past decade. This article provides a comprehensive survey of the state-of-the-art distributed evolutionary algorithms and models, which have been classified into two groups according to their task division mechanism. Population-distributed models are presented with master-slave, island, cellular, hierarchical, and pool architectures, which parallelize an evolution task at population, individual, or operation levels. Dimension-distributed models include coevolution and multi-agent models, which focus on dimension reduction. Insights into the models, such as synchronization, homogeneity, communication, topology, speedup, advantages and disadvantages are also presented and discussed. The study of these models helps guide future development of different and/or improved algorithms. Also highlighted are recent hotspots in this area, including the cloud and MapReduce-based implementations, GPU and CUDA-based implementations, distributed evolutionary multiobjective optimization, and real-world applications. Further, a number of future research directions have been discussed, with a conclusion that the development of distributed evolutionary computation will continue to flourish.

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)

  • S. Nesmachnow et al.

    A parallel micro evolutionary algorithm for heterogeneous computing and grid scheduling

    Appl. Soft Comput.

    (2012)
  • M. Pedemonte et al.

    A survey on parallel ant colony optimization

    Appl. Soft Comput.

    (2011)
  • P.C. Pendharkar

    A multi-agent memetic algorithm approach for distributed object allocation

    J. Comput. Sci.

    (2011)
  • E. Alba et al.

    The exploration/exploitation tradeoff in dynamic cellular genetic algorithms

    IEEE Trans. Evol. Comput.

    (2005)
  • E. Alba et al.

    Decentralized cellular evolutionary algorithms

    Handb. Bioinspir. Algorithms Appl.

    (2005)
  • E. Alba et al.

    Parallelism and evolutionary algorithms

    IEEE Trans. Evol. Comput.

    (2002)
  • E. Alba et al.

    A survey of parallel distributed genetic algorithms

    Complexity

    (1999)
  • E. Alba et al.

    Cellular evolutionary algorithms: evaluating the influence of ratio

  • C. Anglano et al.

    NOW G-Net: learning classification programs on networks of workstations

    IEEE Trans. Evol. Comput.

    (2002)
  • J. Apolloni et al.

    Island based distributed differential evolution: an experimental study on hybrid testbeds

  • H. Bai et al.

    MAX-MIN ant system on GPU with CUDA

  • A. Bollini et al.

    Distributed and persistent evolutionary algorithms: a design pattern

  • J. Branke et al.

    Parallelizing multi-objective evolutionary algorithms: cone separation

    IEEE Congress on Evolutionary Computation (CEC)

    (2004)
  • T. Burczynski et al.

    Optimization of structures using distributed and parallel evolutionary algorithms

  • S. Cahon et al.

    ParadisEO: a framework for the reusable design of parallel and distributed metaheuristics

    J. Heurist.

    (2004)
  • E. Cantú-Paz

    A survey of parallel genetic algorithms

    Calcul. Paralleles Reseaux Syst. Repart.

    (1998)
  • E. Cantu-Paz

    Efficient and Accurate Parallel Genetic Algorithms, vol.1

    (2000)
  • E. Cantu-Paz

    Markov chain models of parallel genetic algorithms

    IEEE Trans. Evol. Comput.

    (2000)
  • G. Chatzimilioudis et al.

    Crowdsourcing with smartphones

    IEEE Internet Comput.

    (2012)
  • Y. Chen et al.

    Cooperative peer-to-peer streaming: an evolutionary game-theoretic approach

    IEEE Trans. Circuits Syst. Video Technol.

    (2010)
  • J.-C. Creput et al.

    Automatic mesh generation for mobile network dimensioning using evolutionary approach

    IEEE Trans. Evol. Comput.

    (2005)
  • G. Danoy et al.

    Dafo, a multi-agent framework for decomposable functions optimization

  • M. Davis et al.

    VLSI circuit synthesis using a parallel genetic algorithm

  • J. Dean et al.

    MapReduce: simplified data processing on large clusters

    Commun. ACM

    (2008)
  • K. Deb et al.

    A fast and elitist multiobjective genetic algorithm: NSGA-II

    IEEE Trans. Evol. Comput.

    (2002)
  • J. Decraene et al.

    Evolving agent-based simulations in the clouds

  • T. Desell et al.

    An analysis of massively distributed evolutionary algorithms

  • X. Du et al.

    Asynchronous distributed parallel gene expression programming based on estimation of distribution algorithm

  • M. Dubreuil et al.

    Analysis of a master-slave architecture for distributed evolutionary computations

    IEEE Trans. Syst. Man Cybern. B: Cybern.

    (2006)
  • J.J. Durillo et al.

    The jmetal framework for multi-objective optimization: design and architecture

  • J.J. Durillo et al.

    Solving three-objective optimization problems using a new hybrid cellular genetic algorithm

  • J.J. Durillo et al.

    A study of master-slave approaches to parallelize NSGA-II

  • J.J. Durillo et al.

    Distribution of computational effort in parallel MOEA/D

  • G. Escuela et al.

    A Java-based distributed genetic algorithm framework

  • G. Ewald et al.

    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.

    (2008)
  • K.-L. Fok et al.

    Evolutionary computing on consumer-level graphics hardware

    IEEE Intell. Syst.

    (2007)
  • G. Folino et al.

    Training distributed GP ensemble with a selective algorithm based on clustering and pruning for pattern classification

    IEEE Trans. Evol. Comput.

    (2008)
  • G. Folino et al.

    P-cage: an environment for evolutionary computation in peer-to-peer systems

  • C. Gagné et al.

    Distributed beagle: An environment for parallel and distributed evolutionary computations

  • M. Garcia-Arenas et al.

    Assessing speed-ups in commodity cloud storage services for distributed evolutionary algorithms

  • Cited by (327)

    View all citing articles on Scopus

    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.

    View full text