Complexity

Volume 2018, Article ID 4730957, 14 pages

https://doi.org/10.1155/2018/4730957

## Multipopulation Management in Evolutionary Algorithms and Application to Complex Warehouse Scheduling Problems

^{1}Department of Electrical Engineering, Shaoxing University, Shaoxing, Zhejiang, China^{2}School of Automation, Chongqing University of Posts and Telecommunications, Chongqing, China

Correspondence should be addressed to Haiping Ma; moc.621@1891gniphm

Received 3 February 2018; Accepted 18 March 2018; Published 26 April 2018

Academic Editor: Liang Hu

Copyright © 2018 Yadong Yu et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Multipopulation is an effective optimization strategy which is often used in evolutionary algorithms (EAs) to improve optimization performance. However, it is of remarkable difficulty to determine the number of subpopulations during the evolution process for a given problem, which may significantly affect optimization ability of EAs. This paper proposes a simple multipopulation management strategy to dynamically adjust the subpopulation number in different evolution phases throughout the evolution. The proposed method makes use of individual distances in the same subpopulation as well as the population distances between multiple subpopulations to determine the subpopulation number, which is substantial in maintaining population diversity and enhancing the exploration ability. Furthermore, the proposed multipopulation management strategy is embedded into popular EAs to solve real-world complex automated warehouse scheduling problems. Experimental results show that the proposed multipopulation EAs can easily be implemented and outperform other regular single-population algorithms to a large extent.

#### 1. Introduction

Evolutionary algorithms (EAs) are fast and robust computation methods for global optimization and have been widely applied in solving numerous real-world problems [1–5]. In recent years, the concept of multipopulation is frequently discussed and used to improve the optimization performance of EAs. In this regard, firstly, the original population is divided into several small subpopulations for special purposes such as large-scale problems and dynamic optimization problems. Then, particular evolution mechanisms and operations, for example, crossover and mutation for genetic algorithms (GAs), are executed. The purpose of multipopulation is to maintain population diversity and enhance exploration ability, which is the crucial factor to avoid premature convergence when handling optimization problems.

Existing studies on multipopulation demonstrate that such strategy has become one of the most effective methods to enhance EA performance [6, 7]. The key reasons for this are categorized as follows: it divides the overall population into multiple subpopulations, in which the population diversity can be maintained due to the fact that different subpopulations can be located in different search domains; it is able to search different areas simultaneously, leading the separated populations to rapidly find the optimal solutions; and various population-based EAs can be fast and easily integrated within multipopulation methods. In the research work carried out by Chang [8], a modified particle swarm optimization (PSO) with multiple subpopulations was utilized for multimodal function optimization problems. Simulation results on complex multimodal functions showed that the global and local system solutions were solved by these best particles of subpopulations. Nseef et al. [9] proposed an adaptive multipopulation artificial bee colony (ABC) algorithm for dynamic optimization problems, where multiple subpopulations were used to cope with dynamic changes and to maintain the diversity. Experimental results showed that the proposed multipopulation ABC was superior to regular ABC on all tested instances. In the research work carried out by Wu et al. [10], differential evolution (DE) with multipopulation-based ensemble of mutation strategies was used for optimizing benchmark functions, where each subpopulation performed a mutation strategy. Experimental comparisons showed the competitive performance of the proposed method. A hybrid multipopulation GA was employed in [11] for the dynamic facility layout problem, where the entire solution space was separated into different parts and each subpopulation represented a separate part. Simulation results showed that the proposed algorithm enjoyed the superiority over other algorithms. Niu et al. [12] proposed a symbiosis-based alternative learning multi-swarm PSO algorithm, where the communication between subpopulations used a learning method to select one example out of the center position, the local best position, and the historical best position including the experience of the internal and external multiple subpopulations, to keep the diversity of the population. The experimental results exhibited better performance in terms of the convergence speed and optimality. Xiao et al. [13] presented a novel multipopulation coevolution immune optimization algorithm (IOA) for most of the existing multimodal benchmarks, where coevolution of three subpopulations was promoted through a self-adjusted clone operator to enhance exploration and exploitation. The authors proved that their method outperformed three known immune algorithms and several other EAs. The introduction of external archiving into a multipopulation harmony search (HS) algorithm to solve dynamic optimization problems was presented by Turky and Abdullah [14]. The results on moving peak benchmarks showed that their modified version was better than the original harmony search algorithms. A multipopulation cooperative bat algorithm (BA) was used in [15] for an artificial neural network model, which mainly depended on the connection weights and network structure. Experimental results showed that there was a significant improvement by applying the proposed algorithm to all the test cases. Ozsoydan and Baykasoǧlu [16] employed a multipopulation firefly algorithm (FA) to tackle dynamic optimization problems. The experiments on moving peak benchmarks showed that the proposed algorithm significantly improved system performance. Mauša and Galinac Grbac [17] proposed a coevolutionary multipopulation genetic programming (GP) which combined colonization and migration with three ensemble selection strategies for classification in software defect prediction. Computational results demonstrated the efficiency of the proposed method.

Although multipopulation methods have shown success for solving optimization problems, most of them use a preset constant number of subpopulations during optimization process [18]. The subpopulation number has an important impact on performance of multipopulation EAs, because it is related to the difficulty of the problem, which is not known in advance. For a given problem, each EA may have different subpopulation numbers during different phases of the search process. For example, an algorithm with many subpopulations may have effective search ability during the initial phase of the optimization process, whereas the algorithm with a few subpopulations may have better search ability during the later phase of the optimization process. Therefore, it is of potential to dynamically manage the number of subpopulations during evolution process, based on the difficulty of the problem. It may result in outstanding results without the essential use of dedicated evolution operators. Nonetheless in most of multipopulation EA literature [19, 20], the dynamic management of subpopulation number is rarely mentioned.

In order to address this issue, this paper proposes a multipopulation management strategy to improve EA optimization performance. The proposed method uses some simple rules to dynamically manage the subpopulation number to maintain population diversity. To verify its effectiveness, the proposed multipopulation management strategy is embedded into various popular algorithms to construct multipopulation EAs. Then they are tested on a set of CEC benchmark functions and further applied to real-world complex automated warehouse scheduling problems. Experimental results show that the proposed multipopulation management strategy can help EAs to obtain excellent results and outperform some state-of-the-art single-population algorithms in the literature.

The following are the original contributions of this paper: a dynamic management strategy of the subpopulation number is proposed to boost population diversity while preserving simplicity for EAs; the proposed multipopulation management strategy is embedded into several popular EAs, including the stud genetic algorithm (SGA), population-based incremental learning (PBIL), self-adaptive differential evolution (SaDE), and standard particle swarm optimization (PSO2011); the optimization ability of these multipopulation EAs is investigated on a set of benchmark functions, and further they are applied to solve real-world automated warehouse scheduling problems.

The remainder of the paper is organized as follows. Section 2 gives detail descriptions of multipopulation management strategy. Section 3 discusses the integration of multipopulation management strategy with popular EAs. Section 4 compares the performance of several EAs in conjunction with multipopulation management strategy on benchmark functions and complex warehouse scheduling problems. Section 5 provides conclusions and suggestions for future research.

#### 2. Multipopulation Management Strategy

This section presents the basic challenges for multipopulation EAs, as well as our proposed dynamic management for the subpopulation number.

##### 2.1. Challenges for Multipopulation Methods

In EAs, diversity refers to differences among candidate solutions. As mentioned in most of EA literature, evolution progress lies fundamentally on the existence of variation of population, and the high diversity of a population greatly contributes to EA performance. Diversity loss often results in premature convergence, because EAs find themselves trapped in local optimal solutions and lack population diversity to escape. So the crucial point for EAs solving optimization problems is how to maintain population diversity. In recent years, multipopulation methods are introduced into EAs and become one of the most successful methods to improve optimization performance, because such methods deal with candidate solutions scattering over the entire search space. This feature helps population-based EAs to quickly achieve the global optimal solutions.

To make multipopulation methods more efficient, several crucial challenging issues in algorithm design need to be addressed. The first question is how to determine the number of subpopulations. If too many subpopulations distribute in the problem, this may waste the limited computational resources. However, too small number of subpopulations may lead to limited effect of the multipopulation strategy. The second question is how to determine the search area of each subpopulation. If the search area of a subpopulation is too small, there is a potential problem that the small isolated subpopulation may converge to a local optimal solution. In this case, the diversity will lose and the algorithm can hardly make any progress. On the contrary, if the search area of a subpopulation is too large, it is almost equal to the search area of the original population, and it is very hard to obtain better optimization performance compared with the regular algorithms. The third question is how to communicate between subpopulations. Many researchers believe that communication between subpopulations is very helpful during optimization because information can be shared among subpopulations and, hence, this will accelerate the search process and promising solutions may be found as well. In some current studies, the communication between subpopulations is controlled by four parameters: (i) a communication rate that defines the number of solutions in a subpopulation to be sent to other subpopulations; (ii) a communication policy that determines which solutions are to be replaced by ones from other subpopulations; (iii) a communication interval that sets up the frequency for executing communication; and (iv) a connection topology that defines how to connect between subpopulations.

For these challenges, most existing multipopulation methods just use predefined values, which are based on empirical experience, to determine the parameter setting of subpopulations. Some other studies assume that some information of optimization problems is known. In these cases, problem information can be used to guide the configuration of multipopulation parameters. However, for most of the cases, we need to deeply explore these challenging issues to develop excellent multipopulation EAs.

For the first challenge mentioned above, it is a good method that we use the appropriate number of subpopulations to maintain population diversity. This issue includes two ways. The first way is to use a fixed number of subpopulations. Most of current multipopulation methods fall into this group. The advantage of this way is that it can be implemented simply, and we only need to create a fixed number of subpopulations in advance for the optimization problem. Generally speaking, the more the peaks are in the fitness functions, the more the subpopulations are needed. However, it is not efficient to obtain the number of peaks of fitness functions for practice problems. In addition, the distribution and shape of fitness functions may also play a role in configuring the subpopulation number. The second way is to use a variable number of subpopulations. It is a difficult problem when the number of subpopulations is increased or decreased. To maintain population diversity, the subpopulation number might be different at different states during evolution process. For example, in the early stages, it needs a large number of subpopulations because candidate solutions can scatter over the entire search space, which leads to high population diversity. But, in the later stages, a small number of subpopulations are in favor of reducing diversity to fast converge to global best solutions. So the dynamic change of the subpopulation number should be in line with the population diversity. In many previous studies [21, 22], it often splits off from a main population into multiple parts to increase the subpopulation number and merges a set of small subpopulations into a main population to decrease the subpopulation number. The common characteristic of these methods is that they often adopt a specific cluster method to complete these operations. Therefore, additional knowledge about clustering is needed meanwhile increasing the complexity of algorithms, which is not desirable for solving some complex problems with the limitation of computational resource.

Undoubtedly, it is a good idea to dynamically manage the number of subpopulations during evolution process, without introducing additional complex mechanisms and considering the difficulty of the optimization problems in advance.

##### 2.2. Ways to Manage Subpopulation Number

This part introduces a simple and effective multipopulation management strategy, to dynamically increase or decrease the subpopulation number. Compared with other multipopulation methods, the proposed method highlights the challenge of determining the number of subpopulations.

In the ways to manage the subpopulation number, four basic rules are considered:(1)The maximum number of subpopulations is limited in order to prevent computational burden on too many coevolving subpopulations.(2)The subpopulation number decreases, when we merge the same subpopulations or delete the existing subpopulations.(3)The subpopulation number increases, when we create some new subpopulations or divide the existing subpopulation.(4)The interaction of subpopulations is not considered because it is so smart that it affects the investigation on multipopulation management strategy.

Based on the above basic rules, two open problems need to be solved in the proposed multipopulation management strategy. First, what is the best condition to increase or decrease the subpopulation number? Before answering this question, we firstly consider that the purpose of multipopulation methods is to maintain population diversity. So it is an effective method to build the relationship between population diversity and control condition of the subpopulation number. Quantitatively, we need some simple approaches to measure diversity. Euclidean distance is probably the most widely used type of diversity measure nowadays. Euclidian distance between two solutions and can be calculated as where and denote the th solution variables in the solutions and , respectively, and is the number of solution variables.

Equation (1) is used to measure individual distance between two solutions. In the multipopulation method, we need to further consider population distance between two subpopulations. To calculate population distance, the concept of average population is introduced, which is a vector of average value of all solutions in the same population. We use to represent average population, which is calculated as follows:where is the size of the population.

The corresponding standard deviation of average population is calculated asThen, we define population distance between two subpopulations and , which is represented aswhere , , and are Euclidean distances, and are average populations, and and are standard deviations for subpopulations and , respectively. Equation (4) denotes the fact that population distance between two subpopulations is related to Euclidean distances between their average populations, and solution distribution in each subpopulation. If is small, areas occupied by subpopulations and are overlapping, which means that they have great similarity. The coefficient is set to 2 on the basis of normal distribution characteristic [23], according to 95% of solutions being located in distance of two standard deviations from average populations.

Next, we consider several diversity cases, and they are defined by the following ways:(1)As a diversity between individuals in the same subpopulation;(2)As a diversity between a subpopulation and other subpopulations;(3)As a diversity between the current subpopulation and its parent subpopulation.

Note that the first case is taken as individual diversity; the second and third cases are taken as population diversity.

Once we have the method of measuring diversity, only a threshold value is set to decide the condition to increase or decrease the subpopulation number. For individuals in the same subpopulation, if for any one of individual distances, we reckon that they are different, and if for all individual distances, they are considered to be similar. In the same way, for any two subpopulations, if , they are regarded as of diversity, and if , we think that they have similarity. Note that similarity is the opposite of diversity; can be a parameter by a user or can be an adaptive parameter.

Second, how do we increase or decrease the subpopulation number during evolution process? That is, how do we create new subpopulations, or delete redundant subpopulations? Based on the diversity concepts mentioned above, multipopulation management strategy can be roughly classified into three cases. In the first case, when all individuals are similar in the certain subpopulation, we firstly randomly preserve one of individuals because they are almost the same and then delete this subpopulation. Meanwhile, we create a new subpopulation consisting of the following individuals: 1/3 of individuals are copies of the preserved individual, 1/3 of individuals are from the best individuals in the entire population, and 1/3 of individuals are randomly generated. In the second case, when a subpopulation is similar to other subpopulations within the whole population, we directly delete this subpopulation to save computational resources. In the third case, when a subpopulation is similar to its parent subpopulation, we create a new subpopulation, and it consists of the following individuals: 50% of individuals are copies of the best individual in the latest generation, and the other 50% are generated randomly from the neighborhood of the best individual with the normal distribution. Note that the maximum number of subpopulations is limited to the preset number to prevent too many subpopulations of being involved. Figure 1 shows the multipopulation management strategy during evolution process.