I. Introduction
Evolutionary algorithms (EAs) have been widely applied to solve different types of benchmarks and real-world engineering problems in a variety of fields, e.g., computer vision [1], robots [2], cloud computing [3]–[5] and manufacturing scheduling problems [6]. Some practical problems have a large number of decision variables and can be characterized as high-dimensional problems [7]. These problems present a exponentially growing search space with many decision variables that bring big challenges for EAs to efficiently explore the search space. In other words, they often require a large number of function evaluations (FEs) to yield satisfactory solutions. However, FEs in many real-world problems can be computationally intensive or highly costly [8]. Moreover, some of EAs may easily trap into local optima when solving high-dimensional problems. As a result, it is important to balance exploration and exploitation abilities of EAs during their optimization process.